@kensio/yulin 0.32.0 → 0.33.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
- package/dist/serve/http/local-server/sim-aws-local-server.js +4 -2
- package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
- package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
- package/dist/serve/http/sim-aws-http.js +2 -1
- package/dist/serve/http/sim-aws-http.js.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
- package/dist/service/acm/certificate/sim-acm-certificate.js +2 -2
- package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.d.ts.map +1 -1
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js +2 -2
- package/dist/service/acm/cfn/property/sim-cfn-acm-cert-prop-reader.js.map +1 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts +31 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js +41 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate-authorizer.js.map +1 -0
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts +13 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js +12 -2
- package/dist/service/acm/command/describe-certificate/describe-certificate.handler.js.map +1 -1
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts +31 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js +41 -0
- package/dist/service/acm/command/list-certificates/list-certificates-authorizer.js.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts +82 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.d.ts.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js +128 -0
- package/dist/service/acm/command/list-certificates/list-certificates-page-builder.js.map +1 -0
- package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts +21 -7
- package/dist/service/acm/command/list-certificates/list-certificates.handler.d.ts.map +1 -1
- package/dist/service/acm/command/list-certificates/list-certificates.handler.js +22 -50
- package/dist/service/acm/command/list-certificates/list-certificates.handler.js.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts +28 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.d.ts.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js +38 -0
- package/dist/service/acm/command/request-certificate/request-certificate-authorizer.js.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts +25 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.d.ts.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.js +32 -0
- package/dist/service/acm/command/request-certificate/request-certificate-validator.js.map +1 -0
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts +15 -2
- package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js +19 -10
- package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
- package/dist/service/acm/sim-acm.d.ts +10 -3
- package/dist/service/acm/sim-acm.d.ts.map +1 -1
- package/dist/service/acm/sim-acm.js +13 -7
- package/dist/service/acm/sim-acm.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-account-root-principal.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-account-root-principal.js +1 -3
- package/dist/service/aws/caller/sim-aws-account-root-principal.js.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +40 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +62 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -0
- package/dist/service/aws/caller/sim-aws-caller.d.ts +23 -25
- package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
- package/dist/service/aws/caller/sim-aws-caller.js +1 -6
- package/dist/service/aws/caller/sim-aws-caller.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -5
- package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +9 -4
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +20 -4
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +7 -2
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +8 -2
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-account.d.ts +6 -1
- package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account.js +7 -1
- package/dist/service/aws/sim-aws-account.js.map +1 -1
- package/dist/service/aws/sim-aws-region.d.ts +1 -1
- package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-region.js +1 -1
- package/dist/service/aws/sim-aws-region.js.map +1 -1
- package/dist/service/aws/sim-aws.d.ts +5 -0
- package/dist/service/aws/sim-aws.d.ts.map +1 -1
- package/dist/service/aws/sim-aws.js +6 -0
- package/dist/service/aws/sim-aws.js.map +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js +1 -1
- package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts.map +1 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +9 -6
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +4 -1
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.d.ts.map +1 -1
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +5 -2
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js +3 -3
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cff-cfn.factory.js.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +3 -2
- package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
- package/dist/service/cloudformation/sim-cloudformation.d.ts +2 -2
- package/dist/service/cloudformation/sim-cloudformation.d.ts.map +1 -1
- package/dist/service/cloudformation/sim-cloudformation.js +12 -12
- package/dist/service/cloudformation/sim-cloudformation.js.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js +3 -2
- package/dist/service/cloudformation/stack/output/sim-cfn-stack-output-resolver.js.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -5
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +8 -7
- package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js +3 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-unresolved-value.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js +4 -2
- package/dist/service/cloudformation/template/node/fn/sub/resolve/sim-cfn-fn-sub-variable-resolver.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js +2 -2
- package/dist/service/cloudformation/template/node/fn/sub/sim-cfn-fn-sub.js.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js +2 -1
- package/dist/service/cloudformation/template/node/fn/sub/template/sim-cfn-fn-sub-template.js.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js +4 -1
- package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.d.ts.map +1 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js +2 -1
- package/dist/service/cloudformation/template/parse/node/sim-cfn-node-parser.js.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js +2 -1
- package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +2 -2
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +1 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js +3 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js +3 -2
- package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-creator.js.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +3 -2
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts +27 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js +37 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts +8 -8
- package/dist/service/cloudfront/command/create-distribution/create-distribution.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +8 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +10 -2
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts +26 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.js +35 -0
- package/dist/service/cloudfront/command/create-function/create-function-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts +2 -2
- package/dist/service/cloudfront/command/create-function/create-function.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts +8 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +12 -3
- package/dist/service/cloudfront/command/create-function/create-function.handler.js.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts +27 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.d.ts.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js +36 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution-authorizer.js.map +1 -0
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts +2 -2
- package/dist/service/cloudfront/command/get-distribution/get-distribution.cmd.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts +10 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.d.ts.map +1 -1
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js +10 -2
- package/dist/service/cloudfront/command/get-distribution/get-distribution.handler.js.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +2 -1
- package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js +19 -16
- package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js.map +1 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +2 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +3 -3
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +3 -2
- package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.d.ts.map +1 -1
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js +6 -3
- package/dist/service/cloudfront/resolver/sim-cloud-front-behavior-resolver.js.map +1 -1
- package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js +3 -1
- package/dist/service/cloudfront/router/alternate-domain/sim-cf-alternate-domain-router.js.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
- package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.d.ts +10 -3
- package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
- package/dist/service/cloudfront/sim-cloudfront.js +14 -7
- package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js +1 -1
- package/dist/service/dynamodb/command/list-tables/list-tables.handler.js.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.d.ts.map +1 -1
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js +10 -7
- package/dist/service/dynamodb/item/dynamodb-item-attribute.js.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts +3 -6
- package/dist/service/dynamodb/table/dynamodb-key-schema.d.ts.map +1 -1
- package/dist/service/dynamodb/table/dynamodb-key-schema.js +12 -12
- package/dist/service/dynamodb/table/dynamodb-key-schema.js.map +1 -1
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts +38 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js +41 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-auth-z-id-pol-coordinator.js.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts +54 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js +52 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-resolver.js.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts +51 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.d.ts.map +1 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js +74 -0
- package/dist/service/iam/authorize/context/identity-policy-source/sim-iam-id-pol-owner-src-builder.js.map +1 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -27
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +12 -39
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +30 -10
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +30 -9
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +11 -4
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts +2 -2
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +12 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts +34 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js +52 -0
- package/dist/service/iam/authorize/match/condition/numeric/less-than-equals/sim-iam-num-lte.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts +14 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js +46 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator-parser.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts +15 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js +2 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts +27 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js +52 -0
- package/dist/service/iam/authorize/match/condition/sim-iam-policy-condition-matcher.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts +13 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js +21 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/all-values/sim-iam-for-all-values-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts +13 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js +21 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/any-value/sim-iam-for-any-value-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js +10 -0
- package/dist/service/iam/authorize/match/condition/string/equals/sim-iam-string-equals.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js +13 -0
- package/dist/service/iam/authorize/match/condition/string/like/sim-iam-string-like.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts +16 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js +20 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-scalar-string-condition-operator.js.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts +8 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js +17 -0
- package/dist/service/iam/authorize/match/condition/string/sim-iam-string-values.js.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +59 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +119 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +14 -31
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +25 -80
- package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +5 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js +1 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.d.ts +19 -0
- package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
- package/dist/service/iam/authorize/sim-iam-decision.js +27 -0
- package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +53 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts.map +1 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js +38 -0
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.js.map +1 -0
- package/dist/service/iam/authorize/sim-iam-wildcard.d.ts +1 -1
- package/dist/service/iam/authorize/sim-iam-wildcard.js +7 -5
- package/dist/service/iam/authorize/sim-iam-wildcard.js.map +1 -1
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts +2 -2
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.js +10 -10
- package/dist/service/iam/command/policy/list-policies/list-policies.handler.js.map +1 -1
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.d.ts.map +1 -1
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +2 -2
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js.map +1 -1
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts +12 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js +2 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.cmd.js.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts +28 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.d.ts.map +1 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +43 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js.map +1 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts +2 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/create-role/create-role.handler.js +6 -3
- package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
- package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts +2 -1
- package/dist/service/iam/command/role/get-role/get-role.cmd.d.ts.map +1 -1
- package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts +2 -2
- package/dist/service/iam/command/role/list-roles/list-roles.handler.d.ts.map +1 -1
- package/dist/service/iam/command/role/list-roles/list-roles.handler.js +11 -11
- package/dist/service/iam/command/role/list-roles/list-roles.handler.js.map +1 -1
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts +17 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js +2 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.cmd.js.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts +28 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +59 -0
- package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +25 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js +39 -0
- package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts +18 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.js +2 -0
- package/dist/service/iam/command/user/create-user/create-user.cmd.js.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts +26 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js +47 -0
- package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts +36 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.d.ts.map +1 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.js +66 -0
- package/dist/service/iam/credential/error/sim-iam-credential.error.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts +35 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js +46 -0
- package/dist/service/iam/credential/session/sim-iam-assumed-role-principal-factory.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts +21 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js +17 -0
- package/dist/service/iam/credential/session/sim-iam-session-cred-gen.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts +44 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.js +62 -0
- package/dist/service/iam/credential/session/sim-iam-session-manager.js.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session.d.ts +33 -0
- package/dist/service/iam/credential/session/sim-iam-session.d.ts.map +1 -0
- package/dist/service/iam/credential/session/sim-iam-session.js +40 -0
- package/dist/service/iam/credential/session/sim-iam-session.js.map +1 -0
- package/dist/service/iam/credential/sim-aws-credentials.d.ts +21 -0
- package/dist/service/iam/credential/sim-aws-credentials.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-aws-credentials.js +2 -0
- package/dist/service/iam/credential/sim-aws-credentials.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts +44 -0
- package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-access-key.js +57 -0
- package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +21 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.js +75 -0
- package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts +20 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.d.ts.map +1 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js +16 -0
- package/dist/service/iam/credential/user/sim-iam-user-credential-generator.js.map +1 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.d.ts +25 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.d.ts.map +1 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.js +32 -0
- package/dist/service/iam/error/sim-iam-caller-identifier.js.map +1 -0
- package/dist/service/iam/error/sim-iam.error.d.ts +26 -0
- package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
- package/dist/service/iam/error/sim-iam.error.js +25 -0
- package/dist/service/iam/error/sim-iam.error.js.map +1 -1
- package/dist/service/iam/policy/sim-iam-policy.d.ts +4 -2
- package/dist/service/iam/policy/sim-iam-policy.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +16 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.js +2 -0
- package/dist/service/iam/registry/sim-iam-account-resolver.js.map +1 -0
- package/dist/service/iam/registry/sim-iam-registry.d.ts +19 -73
- package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
- package/dist/service/iam/registry/sim-iam-registry.js +25 -85
- package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts +16 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.d.ts.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js +41 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn-parser.js.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts +14 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.d.ts.map +1 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.js +9 -0
- package/dist/service/iam/role/arn/sim-iam-role-arn.js.map +1 -0
- package/dist/service/iam/role/sim-iam-role.factory.js +1 -1
- package/dist/service/iam/role/sim-iam-role.factory.js.map +1 -1
- package/dist/service/iam/sim-iam.d.ts +38 -5
- package/dist/service/iam/sim-iam.d.ts.map +1 -1
- package/dist/service/iam/sim-iam.js +69 -14
- package/dist/service/iam/sim-iam.js.map +1 -1
- package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts +14 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.d.ts.map +1 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.js +8 -0
- package/dist/service/iam/user/arn/sim-iam-user-arn.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user-id.d.ts +6 -0
- package/dist/service/iam/user/sim-iam-user-id.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user-id.js +10 -0
- package/dist/service/iam/user/sim-iam-user-id.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user-path.d.ts +5 -0
- package/dist/service/iam/user/sim-iam-user-path.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user-path.js +13 -0
- package/dist/service/iam/user/sim-iam-user-path.js.map +1 -0
- package/dist/service/iam/user/sim-iam-user.d.ts +31 -0
- package/dist/service/iam/user/sim-iam-user.d.ts.map +1 -0
- package/dist/service/iam/user/sim-iam-user.js +2 -0
- package/dist/service/iam/user/sim-iam-user.js.map +1 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts +22 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.d.ts.map +1 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js +85 -0
- package/dist/service/iam/validate/trust/sim-iam-trust-policy-doc-validator.js.map +1 -0
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js +2 -1
- package/dist/service/route53/cfn/record-set/apply/sim-cfn-r53-record-set-applicator.js.map +1 -1
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.d.ts.map +1 -1
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js +3 -2
- package/dist/service/route53/cfn/record-set/build/sim-cfn-r53-record-set-builder.js.map +1 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js +3 -1
- package/dist/service/route53/cfn/record-set/resolve/sim-cfn-r53-rec-set-zone-resolver.js.map +1 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +3 -1
- package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
- package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js +1 -1
- package/dist/service/route53/command/list-hosted-zones-by-name/list-hosted-zones-by-name.js.map +1 -1
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +6 -6
- package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.d.ts.map +1 -1
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js +5 -4
- package/dist/service/s3/bucket/name-availability/sim-s3-bucket-name-availability.js.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js +15 -1
- package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.d.ts.map +1 -1
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js +6 -3
- package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js.map +1 -1
- package/dist/service/s3/bucket/website/sim-s3-bucket-website.js +1 -1
- package/dist/service/s3/bucket/website/sim-s3-bucket-website.js.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +8 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +23 -5
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +24 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.js +44 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +26 -0
- package/dist/service/s3/command/get-object/get-object-loader.d.ts.map +1 -0
- package/dist/service/s3/command/get-object/get-object-loader.js +36 -0
- package/dist/service/s3/command/get-object/get-object-loader.js.map +1 -0
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +18 -2
- package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/get-object/get-object.handler.js +21 -15
- package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts +34 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +44 -0
- package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts +65 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js +94 -0
- package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +16 -4
- package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js +18 -34
- package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts +35 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.js +53 -0
- package/dist/service/s3/command/list-objects/list-objects-authorizer.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +30 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +43 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js.map +1 -0
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +14 -2
- package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +26 -27
- package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts +20 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +30 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js +2 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.cmd.js.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +30 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +43 -0
- package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts +37 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +47 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +13 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +12 -2
- package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
- package/dist/service/s3/command/put-object/put-object-authorizer.d.ts +24 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.js +44 -0
- package/dist/service/s3/command/put-object/put-object-authorizer.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +45 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts.map +1 -0
- package/dist/service/s3/command/put-object/put-object-builder.js +70 -0
- package/dist/service/s3/command/put-object/put-object-builder.js.map +1 -0
- package/dist/service/s3/command/put-object/put-object.handler.d.ts +19 -4
- package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +19 -28
- package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
- package/dist/service/s3/serve/sim-s3-get-obj-controller.js +1 -1
- package/dist/service/s3/serve/sim-s3-get-obj-controller.js.map +1 -1
- package/dist/service/s3/sim-s3.d.ts +18 -6
- package/dist/service/s3/sim-s3.d.ts.map +1 -1
- package/dist/service/s3/sim-s3.js +34 -13
- package/dist/service/s3/sim-s3.js.map +1 -1
- package/dist/service/s3/storage/s3-memory-storage.js +1 -1
- package/dist/service/s3/storage/s3-memory-storage.js.map +1 -1
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts +57 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js +79 -0
- package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +52 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +64 -0
- package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts +57 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js +68 -0
- package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts +45 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js +48 -0
- package/dist/service/sts/auth-z/assume-role-src-acc-auth-z.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts +48 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js +50 -0
- package/dist/service/sts/auth-z/assume-role-target-auth-z.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts +57 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js +85 -0
- package/dist/service/sts/auth-z/assume-role-trust-grant-classifier.js.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts +45 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts.map +1 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js +64 -0
- package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js.map +1 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts +44 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.d.ts.map +1 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js +62 -0
- package/dist/service/sts/auth-z/resolve/assume-role-target-resolver.js.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts +45 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.d.ts.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.js +2 -0
- package/dist/service/sts/command/assume-role/assume-role.cmd.js.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +40 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js +69 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -0
- package/dist/service/sts/sim-sts.d.ts +31 -0
- package/dist/service/sts/sim-sts.d.ts.map +1 -0
- package/dist/service/sts/sim-sts.js +34 -0
- package/dist/service/sts/sim-sts.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util/background/background.d.ts.map +1 -1
- package/dist/util/background/background.js +2 -0
- package/dist/util/background/background.js.map +1 -1
- package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
- package/dist/util/background/non-deterministic-background.js +1 -0
- package/dist/util/background/non-deterministic-background.js.map +1 -1
- package/package.json +23 -22
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { SimArnPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.cmd.js";
|
|
3
|
+
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
4
|
+
import type { IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
5
|
+
import type { SimAssumeRoleCommandOutput } from "../command/assume-role/assume-role.cmd.js";
|
|
6
|
+
interface AssumeRoleSessionCreatorProps {
|
|
7
|
+
readonly iamResolver: SimIamAccountResolver;
|
|
8
|
+
}
|
|
9
|
+
interface CreateAssumeRoleSessionInput {
|
|
10
|
+
readonly roleArnParts: IamRoleArnParts;
|
|
11
|
+
readonly role: SimGetRoleCommandOutput["Role"];
|
|
12
|
+
readonly roleSessionName: string;
|
|
13
|
+
readonly sourcePrincipal: SimArnPrincipal;
|
|
14
|
+
readonly durationSeconds: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates the temporary IAM Role session returned by STS AssumeRole.
|
|
18
|
+
*
|
|
19
|
+
* Authorization must be completed before this class is called. This class does
|
|
20
|
+
* not inspect policies or decide whether the caller may assume the Role. Its
|
|
21
|
+
* responsibility starts after authorization and covers:
|
|
22
|
+
*
|
|
23
|
+
* - resolving the target account's IAM session manager;
|
|
24
|
+
* - calculating the session creation and expiration timestamps;
|
|
25
|
+
* - creating the temporary Role session and its credentials;
|
|
26
|
+
* - mapping internal session data to the public AssumeRole response shape.
|
|
27
|
+
*
|
|
28
|
+
* Keeping these operations together ensures the same expiration timestamp is
|
|
29
|
+
* stored in the session and returned to the SDK caller.
|
|
30
|
+
*/
|
|
31
|
+
export declare class SimStsAssumeRoleSessionCreator {
|
|
32
|
+
private readonly iamResolver;
|
|
33
|
+
constructor(props: AssumeRoleSessionCreatorProps);
|
|
34
|
+
/**
|
|
35
|
+
* Create a temporary session for an authorized AssumeRole request.
|
|
36
|
+
*
|
|
37
|
+
* `roleArnParts.accountId` selects the IAM facade that owns the target Role.
|
|
38
|
+
* The Role name and ID come from the resolved Role, while the session name and
|
|
39
|
+
* source principal come from the original request context.
|
|
40
|
+
*/
|
|
41
|
+
create(input: CreateAssumeRoleSessionInput): SimAssumeRoleCommandOutput;
|
|
42
|
+
/**
|
|
43
|
+
* Calculate the credential expiration from the session creation time.
|
|
44
|
+
*
|
|
45
|
+
* STS durations are expressed in seconds, while JavaScript Date arithmetic
|
|
46
|
+
* uses milliseconds. Using the supplied creation timestamp as the base keeps
|
|
47
|
+
* session metadata and returned credential metadata on the same timeline.
|
|
48
|
+
*/
|
|
49
|
+
private expiration;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=sim-sts-assume-role-session-creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sts-assume-role-session-creator.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/assume/sim-sts-assume-role-session-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAE5F,UAAU,6BAA6B;IACrC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IAEpD,YAAY,KAAK,EAAE,6BAA6B,EAE/C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,4BAA4B,GAAG,0BAA0B,CA4BtE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;CAGnB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates the temporary IAM Role session returned by STS AssumeRole.
|
|
3
|
+
*
|
|
4
|
+
* Authorization must be completed before this class is called. This class does
|
|
5
|
+
* not inspect policies or decide whether the caller may assume the Role. Its
|
|
6
|
+
* responsibility starts after authorization and covers:
|
|
7
|
+
*
|
|
8
|
+
* - resolving the target account's IAM session manager;
|
|
9
|
+
* - calculating the session creation and expiration timestamps;
|
|
10
|
+
* - creating the temporary Role session and its credentials;
|
|
11
|
+
* - mapping internal session data to the public AssumeRole response shape.
|
|
12
|
+
*
|
|
13
|
+
* Keeping these operations together ensures the same expiration timestamp is
|
|
14
|
+
* stored in the session and returned to the SDK caller.
|
|
15
|
+
*/
|
|
16
|
+
export class SimStsAssumeRoleSessionCreator {
|
|
17
|
+
iamResolver;
|
|
18
|
+
constructor(props) {
|
|
19
|
+
this.iamResolver = props.iamResolver;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Create a temporary session for an authorized AssumeRole request.
|
|
23
|
+
*
|
|
24
|
+
* `roleArnParts.accountId` selects the IAM facade that owns the target Role.
|
|
25
|
+
* The Role name and ID come from the resolved Role, while the session name and
|
|
26
|
+
* source principal come from the original request context.
|
|
27
|
+
*/
|
|
28
|
+
create(input) {
|
|
29
|
+
const createDate = new Date();
|
|
30
|
+
const expiration = this.expiration(createDate, input.durationSeconds);
|
|
31
|
+
const targetIam = this.iamResolver.iamForAccount(input.roleArnParts.accountId);
|
|
32
|
+
const createdSession = targetIam.sessionManager.createRoleSession({
|
|
33
|
+
roleName: input.role.RoleName,
|
|
34
|
+
sessionName: input.roleSessionName,
|
|
35
|
+
sourcePrincipal: input.sourcePrincipal,
|
|
36
|
+
createDate,
|
|
37
|
+
expiration,
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
Credentials: {
|
|
41
|
+
AccessKeyId: createdSession.credentials.accessKeyId,
|
|
42
|
+
SecretAccessKey: createdSession.credentials.secretAccessKey,
|
|
43
|
+
SessionToken: createdSession.credentials.sessionToken,
|
|
44
|
+
Expiration: expiration,
|
|
45
|
+
},
|
|
46
|
+
AssumedRoleUser: {
|
|
47
|
+
AssumedRoleId: `${input.role.RoleId}:${input.roleSessionName}`,
|
|
48
|
+
Arn: createdSession.session.principal.arn,
|
|
49
|
+
},
|
|
50
|
+
$metadata: {},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Calculate the credential expiration from the session creation time.
|
|
55
|
+
*
|
|
56
|
+
* STS durations are expressed in seconds, while JavaScript Date arithmetic
|
|
57
|
+
* uses milliseconds. Using the supplied creation timestamp as the base keeps
|
|
58
|
+
* session metadata and returned credential metadata on the same timeline.
|
|
59
|
+
*/
|
|
60
|
+
expiration(createDate, durationSeconds) {
|
|
61
|
+
return new Date(createDate.getTime() + durationSeconds * 1000);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=sim-sts-assume-role-session-creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-sts-assume-role-session-creator.js","sourceRoot":"","sources":["../../../../src/service/sts/assume/sim-sts-assume-role-session-creator.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,8BAA8B;IACxB,WAAW,CAAwB;IAEpD,YAAY,KAAoC;QAC9C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAmC;QACxC,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC9C,KAAK,CAAC,YAAY,CAAC,SAAS,CAC7B,CAAC;QAEF,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,iBAAiB,CAAC;YAChE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YAC7B,WAAW,EAAE,KAAK,CAAC,eAAe;YAClC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QAEH,OAAO;YACL,WAAW,EAAE;gBACX,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW;gBACnD,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,eAAe;gBAC3D,YAAY,EAAE,cAAc,CAAC,WAAW,CAAC,YAAY;gBACrD,UAAU,EAAE,UAAU;aACvB;YACD,eAAe,EAAE;gBACf,aAAa,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC9D,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG;aAC1C;YACD,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,UAAgB,EAAE,eAAuB;QAC1D,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimArnPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.cmd.js";
|
|
4
|
+
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
5
|
+
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
6
|
+
import type { IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
7
|
+
interface AssumeRoleAuthorizationCoordinatorProps {
|
|
8
|
+
readonly sourceAccountId: SimAwsAccountId;
|
|
9
|
+
readonly iamResolver: SimIamAccountResolver;
|
|
10
|
+
}
|
|
11
|
+
interface AssumeRoleAuthorizationInput {
|
|
12
|
+
readonly roleArn: string;
|
|
13
|
+
readonly roleArnParts: IamRoleArnParts;
|
|
14
|
+
readonly caller: SimArnPrincipal;
|
|
15
|
+
readonly conditionContext?: Readonly<Record<string, SimIamConditionValue>> | undefined;
|
|
16
|
+
}
|
|
17
|
+
type AssumeRoleAuthorizedRole = SimGetRoleCommandOutput["Role"];
|
|
18
|
+
/**
|
|
19
|
+
* Coordinates source identity authorization and target Role trust authorization
|
|
20
|
+
* for an STS AssumeRole request.
|
|
21
|
+
*
|
|
22
|
+
* AssumeRole normally requires both an identity-policy Allow in the caller's
|
|
23
|
+
* Account and a matching trust-policy Allow in the target Role's Account.
|
|
24
|
+
* A directly trusted IAM User in the same Account is an exception: the Role
|
|
25
|
+
* trust policy can grant that User access without a separate identity-policy
|
|
26
|
+
* Allow. Matching explicit identity-policy Deny statements still reject the
|
|
27
|
+
* request.
|
|
28
|
+
*
|
|
29
|
+
* The target trust policy is evaluated first because its matching grant must be
|
|
30
|
+
* classified before the source authorization requirement can be selected.
|
|
31
|
+
*/
|
|
32
|
+
export declare class AssumeRoleAuthorizationCoordinator {
|
|
33
|
+
private readonly sourceAccountId;
|
|
34
|
+
private readonly sourcePrincipalAuthorizer;
|
|
35
|
+
private readonly targetRoleAuthorizer;
|
|
36
|
+
constructor(props: AssumeRoleAuthorizationCoordinatorProps);
|
|
37
|
+
/**
|
|
38
|
+
* Require the applicable source identity and target trust permissions.
|
|
39
|
+
*
|
|
40
|
+
* The returned Role has passed target lookup and trust authorization and can
|
|
41
|
+
* therefore be used to create the assumed-role session.
|
|
42
|
+
*/
|
|
43
|
+
authorize(input: AssumeRoleAuthorizationInput): Promise<AssumeRoleAuthorizedRole>;
|
|
44
|
+
/**
|
|
45
|
+
* Whether the target trust policy is sufficient without an identity Allow.
|
|
46
|
+
*
|
|
47
|
+
* All three conditions are required:
|
|
48
|
+
*
|
|
49
|
+
* - the caller and target Role belong to the same Account;
|
|
50
|
+
* - the caller is an IAM User rather than a Role, session, or root principal;
|
|
51
|
+
* - a matching trust statement grants access directly rather than delegating
|
|
52
|
+
* authorization to the caller's Account.
|
|
53
|
+
*/
|
|
54
|
+
private hasDirectSameAccountUserGrant;
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=assume-role-auth-z-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-auth-z-coordinator.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-auth-z-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAIrF,UAAU,uCAAuC;IAC/C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,KAAK,wBAAwB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAsC;IAChF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IAEtE,YAAY,KAAK,EAAE,uCAAuC,EASzD;IAED;;;;;OAKG;IACG,SAAS,CACb,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAmBnC;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,6BAA6B;CAYtC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { AssumeRoleSourcePrincipalAuthorizer } from "./assume-role-src-acc-auth-z.js";
|
|
2
|
+
import { AssumeRoleTargetRoleAuthorizer } from "./assume-role-target-auth-z.js";
|
|
3
|
+
/**
|
|
4
|
+
* Coordinates source identity authorization and target Role trust authorization
|
|
5
|
+
* for an STS AssumeRole request.
|
|
6
|
+
*
|
|
7
|
+
* AssumeRole normally requires both an identity-policy Allow in the caller's
|
|
8
|
+
* Account and a matching trust-policy Allow in the target Role's Account.
|
|
9
|
+
* A directly trusted IAM User in the same Account is an exception: the Role
|
|
10
|
+
* trust policy can grant that User access without a separate identity-policy
|
|
11
|
+
* Allow. Matching explicit identity-policy Deny statements still reject the
|
|
12
|
+
* request.
|
|
13
|
+
*
|
|
14
|
+
* The target trust policy is evaluated first because its matching grant must be
|
|
15
|
+
* classified before the source authorization requirement can be selected.
|
|
16
|
+
*/
|
|
17
|
+
export class AssumeRoleAuthorizationCoordinator {
|
|
18
|
+
sourceAccountId;
|
|
19
|
+
sourcePrincipalAuthorizer;
|
|
20
|
+
targetRoleAuthorizer;
|
|
21
|
+
constructor(props) {
|
|
22
|
+
this.sourceAccountId = props.sourceAccountId;
|
|
23
|
+
this.sourcePrincipalAuthorizer = new AssumeRoleSourcePrincipalAuthorizer({
|
|
24
|
+
sourceAccountId: props.sourceAccountId,
|
|
25
|
+
iamResolver: props.iamResolver,
|
|
26
|
+
});
|
|
27
|
+
this.targetRoleAuthorizer = new AssumeRoleTargetRoleAuthorizer({
|
|
28
|
+
iamResolver: props.iamResolver,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Require the applicable source identity and target trust permissions.
|
|
33
|
+
*
|
|
34
|
+
* The returned Role has passed target lookup and trust authorization and can
|
|
35
|
+
* therefore be used to create the assumed-role session.
|
|
36
|
+
*/
|
|
37
|
+
async authorize(input) {
|
|
38
|
+
const targetAuthorization = await this.targetRoleAuthorizer.authorize({
|
|
39
|
+
roleArn: input.roleArn,
|
|
40
|
+
target: input.roleArnParts,
|
|
41
|
+
caller: input.caller,
|
|
42
|
+
conditionContext: input.conditionContext,
|
|
43
|
+
});
|
|
44
|
+
this.sourcePrincipalAuthorizer.authorize({
|
|
45
|
+
roleArn: input.roleArn,
|
|
46
|
+
callerPrincipal: input.caller,
|
|
47
|
+
identityPolicyAllowRequired: !this.hasDirectSameAccountUserGrant(input.caller, input.roleArnParts.accountId, targetAuthorization.trust.isDirectPrincipalGrant),
|
|
48
|
+
});
|
|
49
|
+
return targetAuthorization.role;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Whether the target trust policy is sufficient without an identity Allow.
|
|
53
|
+
*
|
|
54
|
+
* All three conditions are required:
|
|
55
|
+
*
|
|
56
|
+
* - the caller and target Role belong to the same Account;
|
|
57
|
+
* - the caller is an IAM User rather than a Role, session, or root principal;
|
|
58
|
+
* - a matching trust statement grants access directly rather than delegating
|
|
59
|
+
* authorization to the caller's Account.
|
|
60
|
+
*/
|
|
61
|
+
hasDirectSameAccountUserGrant(caller, targetAccountId, isDirectPrincipalGrant) {
|
|
62
|
+
return (targetAccountId === this.sourceAccountId &&
|
|
63
|
+
caller.kind === "arn" &&
|
|
64
|
+
caller.arn.startsWith(`arn:aws:iam::${this.sourceAccountId}:user/`) &&
|
|
65
|
+
isDirectPrincipalGrant);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=assume-role-auth-z-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-auth-z-coordinator.js","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-auth-z-coordinator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mCAAmC,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAiBhF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kCAAkC;IAC5B,eAAe,CAAkB;IACjC,yBAAyB,CAAsC;IAC/D,oBAAoB,CAAiC;IAEtE,YAAY,KAA8C;QACxD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,yBAAyB,GAAG,IAAI,mCAAmC,CAAC;YACvE,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,8BAA8B,CAAC;YAC7D,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,KAAmC;QAEnC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;YACpE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,YAAY;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;YACvC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,eAAe,EAAE,KAAK,CAAC,MAAM;YAC7B,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAC9D,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,YAAY,CAAC,SAAS,EAC5B,mBAAmB,CAAC,KAAK,CAAC,sBAAsB,CACjD;SACF,CAAC,CAAC;QAEH,OAAO,mBAAmB,CAAC,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;;;;OASG;IACK,6BAA6B,CACnC,MAAuB,EACvB,eAAgC,EAChC,sBAA+B;QAE/B,OAAO,CACL,eAAe,KAAK,IAAI,CAAC,eAAe;YACxC,MAAM,CAAC,IAAI,KAAK,KAAK;YACrB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC,eAAe,QAAQ,CAAC;YACnE,sBAAsB,CACvB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
4
|
+
interface AssumeRoleSourceAccountAuthorizerProps {
|
|
5
|
+
readonly sourceAccountId: SimAwsAccountId;
|
|
6
|
+
readonly iamResolver: SimIamAccountResolver;
|
|
7
|
+
}
|
|
8
|
+
export interface AssumeRoleSourceAuthorizationInput {
|
|
9
|
+
readonly roleArn: string;
|
|
10
|
+
readonly callerPrincipal?: SimAwsPrincipal | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the caller must have an identity-policy Allow for sts:AssumeRole.
|
|
13
|
+
*
|
|
14
|
+
* This is false when a same-account Role trust policy grants permission
|
|
15
|
+
* directly to an IAM User. Explicit identity-policy denies always apply.
|
|
16
|
+
*/
|
|
17
|
+
readonly identityPolicyAllowRequired?: boolean | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Authorizes the caller's request to assume a role against IAM in the source
|
|
21
|
+
* Account.
|
|
22
|
+
*
|
|
23
|
+
* This class owns only the identity-side authorization performed by the
|
|
24
|
+
* caller's Account. It resolves that Account's simulated IAM facade and
|
|
25
|
+
* evaluates `sts:AssumeRole` against the target role ARN. Target-account role
|
|
26
|
+
* trust authorization is a separate responsibility and must be performed even
|
|
27
|
+
* when the source and target Account are the same.
|
|
28
|
+
*
|
|
29
|
+
* When no caller principal is supplied, Sim IAM applies its normal default
|
|
30
|
+
* caller behavior for the source Account.
|
|
31
|
+
*/
|
|
32
|
+
export declare class AssumeRoleSourcePrincipalAuthorizer {
|
|
33
|
+
private readonly sourceAccountId;
|
|
34
|
+
private readonly iamResolver;
|
|
35
|
+
constructor(props: AssumeRoleSourceAccountAuthorizerProps);
|
|
36
|
+
/**
|
|
37
|
+
* Require the source Account to allow the caller to assume the target role.
|
|
38
|
+
*
|
|
39
|
+
* Throws when source IAM is unavailable or its policy decision denies the
|
|
40
|
+
* request.
|
|
41
|
+
*/
|
|
42
|
+
authorize(input: AssumeRoleSourceAuthorizationInput): void;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=assume-role-src-acc-auth-z.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-src-acc-auth-z.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-src-acc-auth-z.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAI1E,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAEvD;;;;;OAKG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5D;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IAEpD,YAAY,KAAK,EAAE,sCAAsC,EAGxD;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,kCAAkC,GAAG,IAAI,CAsBzD;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { makeSimAwsAccountRootPrincipal } from "../../aws/caller/sim-aws-account-root-principal.js";
|
|
2
|
+
import { SimIamAccessDenied } from "../../iam/error/sim-iam.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Authorizes the caller's request to assume a role against IAM in the source
|
|
5
|
+
* Account.
|
|
6
|
+
*
|
|
7
|
+
* This class owns only the identity-side authorization performed by the
|
|
8
|
+
* caller's Account. It resolves that Account's simulated IAM facade and
|
|
9
|
+
* evaluates `sts:AssumeRole` against the target role ARN. Target-account role
|
|
10
|
+
* trust authorization is a separate responsibility and must be performed even
|
|
11
|
+
* when the source and target Account are the same.
|
|
12
|
+
*
|
|
13
|
+
* When no caller principal is supplied, Sim IAM applies its normal default
|
|
14
|
+
* caller behavior for the source Account.
|
|
15
|
+
*/
|
|
16
|
+
export class AssumeRoleSourcePrincipalAuthorizer {
|
|
17
|
+
sourceAccountId;
|
|
18
|
+
iamResolver;
|
|
19
|
+
constructor(props) {
|
|
20
|
+
this.sourceAccountId = props.sourceAccountId;
|
|
21
|
+
this.iamResolver = props.iamResolver;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Require the source Account to allow the caller to assume the target role.
|
|
25
|
+
*
|
|
26
|
+
* Throws when source IAM is unavailable or its policy decision denies the
|
|
27
|
+
* request.
|
|
28
|
+
*/
|
|
29
|
+
authorize(input) {
|
|
30
|
+
const sourceIam = this.iamResolver.iamForAccount(this.sourceAccountId);
|
|
31
|
+
const callerPrincipal = input.callerPrincipal ??
|
|
32
|
+
makeSimAwsAccountRootPrincipal(this.sourceAccountId);
|
|
33
|
+
const decision = sourceIam.authorize({
|
|
34
|
+
action: "sts:AssumeRole",
|
|
35
|
+
resource: input.roleArn,
|
|
36
|
+
caller: callerPrincipal,
|
|
37
|
+
});
|
|
38
|
+
if (decision.isExplicitDeny ||
|
|
39
|
+
(decision.isImplicitDeny && Boolean(input.identityPolicyAllowRequired))) {
|
|
40
|
+
throw new SimIamAccessDenied({
|
|
41
|
+
principal: callerPrincipal,
|
|
42
|
+
action: "sts:AssumeRole",
|
|
43
|
+
resource: input.roleArn,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=assume-role-src-acc-auth-z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-src-acc-auth-z.js","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-src-acc-auth-z.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAoBtE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mCAAmC;IAC7B,eAAe,CAAkB;IACjC,WAAW,CAAwB;IAEpD,YAAY,KAA6C;QACvD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAyC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,eAAe,GACnB,KAAK,CAAC,eAAe;YACrB,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEvD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;YACnC,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;QAEH,IACE,QAAQ,CAAC,cAAc;YACvB,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,EACvE,CAAC;YACD,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,eAAe;gBAC1B,MAAM,EAAE,gBAAgB;gBACxB,QAAQ,EAAE,KAAK,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
import type { SimIamAccountResolver } from "../../iam/registry/sim-iam-account-resolver.js";
|
|
4
|
+
import type { IamRoleArnParts } from "../../iam/role/arn/sim-iam-role-arn-parser.js";
|
|
5
|
+
import type { SimGetRoleCommandOutput } from "../../iam/command/role/get-role/get-role.cmd.js";
|
|
6
|
+
import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
|
|
7
|
+
import { type AssumeRoleTrustPolicyAuthorization } from "./assume-role-trust-policy-authorizer.js";
|
|
8
|
+
interface AssumeRoleTargetRoleAuthorizerProps {
|
|
9
|
+
readonly iamResolver: SimIamAccountResolver;
|
|
10
|
+
}
|
|
11
|
+
type AssumeRoleTargetRole = SimGetRoleCommandOutput["Role"];
|
|
12
|
+
interface AssumeRoleTargetAuthorizationInput {
|
|
13
|
+
readonly roleArn: string;
|
|
14
|
+
readonly target: IamRoleArnParts | SimAwsAccountId;
|
|
15
|
+
readonly caller: SimAwsPrincipal;
|
|
16
|
+
readonly conditionContext?: Readonly<Record<string, SimIamConditionValue>> | undefined;
|
|
17
|
+
}
|
|
18
|
+
interface AssumeRoleTargetAuthorization {
|
|
19
|
+
readonly role: AssumeRoleTargetRole;
|
|
20
|
+
readonly trust: AssumeRoleTrustPolicyAuthorization;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolves the target of an AssumeRole request and coordinates authorization.
|
|
24
|
+
*
|
|
25
|
+
* This class owns the account and Role lookup workflow. Target ARN parsing and
|
|
26
|
+
* consistency checks belong to `AssumeRoleTargetResolver`, while trust-policy
|
|
27
|
+
* parsing and evaluation belong to `AssumeRoleTrustPolicyAuthorizer`.
|
|
28
|
+
*
|
|
29
|
+
* Separating these steps prevents target lookup rules from becoming coupled to
|
|
30
|
+
* IAM policy evaluation rules.
|
|
31
|
+
*/
|
|
32
|
+
export declare class AssumeRoleTargetRoleAuthorizer {
|
|
33
|
+
private readonly iamResolver;
|
|
34
|
+
private readonly targetResolver;
|
|
35
|
+
private readonly trustPolicyAuthorizer;
|
|
36
|
+
constructor(props: AssumeRoleTargetRoleAuthorizerProps);
|
|
37
|
+
/**
|
|
38
|
+
* Resolve the requested Role, load it from the target account, and require its
|
|
39
|
+
* trust policy to allow the caller.
|
|
40
|
+
*
|
|
41
|
+
* Resolution happens before IAM lookup so the account and Role name used to load
|
|
42
|
+
* the resource are guaranteed to agree with the ARN being authorized. The loaded
|
|
43
|
+
* Role is returned for the session-creation stage after authorization succeeds.
|
|
44
|
+
*/
|
|
45
|
+
authorize(input: AssumeRoleTargetAuthorizationInput): Promise<AssumeRoleTargetAuthorization>;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=assume-role-target-auth-z.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-target-auth-z.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-target-auth-z.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,KAAK,kCAAkC,EAExC,MAAM,0CAA0C,CAAC;AAElD,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAED,KAAK,oBAAoB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAE5D,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EACxB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;CAC9D;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,kCAAkC,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CACE;IAExC,YAAY,KAAK,EAAE,mCAAmC,EAErD;IAED;;;;;;;OAOG;IACG,SAAS,CACb,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,6BAA6B,CAAC,CAyBxC;CACF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AssumeRoleTargetResolver } from "./resolve/assume-role-target-resolver.js";
|
|
2
|
+
import { AssumeRoleTrustPolicyAuthorizer, } from "./assume-role-trust-policy-authorizer.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the target of an AssumeRole request and coordinates authorization.
|
|
5
|
+
*
|
|
6
|
+
* This class owns the account and Role lookup workflow. Target ARN parsing and
|
|
7
|
+
* consistency checks belong to `AssumeRoleTargetResolver`, while trust-policy
|
|
8
|
+
* parsing and evaluation belong to `AssumeRoleTrustPolicyAuthorizer`.
|
|
9
|
+
*
|
|
10
|
+
* Separating these steps prevents target lookup rules from becoming coupled to
|
|
11
|
+
* IAM policy evaluation rules.
|
|
12
|
+
*/
|
|
13
|
+
export class AssumeRoleTargetRoleAuthorizer {
|
|
14
|
+
iamResolver;
|
|
15
|
+
targetResolver = new AssumeRoleTargetResolver();
|
|
16
|
+
trustPolicyAuthorizer = new AssumeRoleTrustPolicyAuthorizer();
|
|
17
|
+
constructor(props) {
|
|
18
|
+
this.iamResolver = props.iamResolver;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the requested Role, load it from the target account, and require its
|
|
22
|
+
* trust policy to allow the caller.
|
|
23
|
+
*
|
|
24
|
+
* Resolution happens before IAM lookup so the account and Role name used to load
|
|
25
|
+
* the resource are guaranteed to agree with the ARN being authorized. The loaded
|
|
26
|
+
* Role is returned for the session-creation stage after authorization succeeds.
|
|
27
|
+
*/
|
|
28
|
+
async authorize(input) {
|
|
29
|
+
const roleArnParts = this.targetResolver.resolve(input.roleArn, input.target);
|
|
30
|
+
const targetIam = this.iamResolver.iamForAccount(roleArnParts.accountId);
|
|
31
|
+
const getRoleOutput = await targetIam.getRole({
|
|
32
|
+
input: {
|
|
33
|
+
RoleName: roleArnParts.roleName,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const role = getRoleOutput.Role;
|
|
37
|
+
const trust = this.trustPolicyAuthorizer.authorize({
|
|
38
|
+
roleArn: input.roleArn,
|
|
39
|
+
role,
|
|
40
|
+
targetIam,
|
|
41
|
+
caller: input.caller,
|
|
42
|
+
conditionContext: input.conditionContext,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
role,
|
|
46
|
+
trust,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=assume-role-target-auth-z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-target-auth-z.js","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-target-auth-z.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAEL,+BAA+B,GAChC,MAAM,0CAA0C,CAAC;AAqBlD;;;;;;;;;GASG;AACH,MAAM,OAAO,8BAA8B;IACxB,WAAW,CAAwB;IACnC,cAAc,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAChD,qBAAqB,GACpC,IAAI,+BAA+B,EAAE,CAAC;IAExC,YAAY,KAA0C;QACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,KAAyC;QAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAC9C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CACb,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE;gBACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAChC;SACF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAEhC,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI;YACJ,SAAS;YACT,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACzC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { SimIamPolicyDocumentStatement } from "../../iam/policy/sim-iam-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* Classifies matching Role trust-policy grants as direct principal grants or
|
|
4
|
+
* AWS Account delegation.
|
|
5
|
+
*
|
|
6
|
+
* This distinction affects whether an IAM User needs a separate identity-policy
|
|
7
|
+
* Allow for sts:AssumeRole:
|
|
8
|
+
*
|
|
9
|
+
* - a trust statement naming a principal directly grants that principal access;
|
|
10
|
+
* - a bare Account ID or Account root ARN delegates authorization to that Account,
|
|
11
|
+
* so the caller must also have an identity-policy Allow.
|
|
12
|
+
*
|
|
13
|
+
* Statements supplied to this class have already matched the caller, action,
|
|
14
|
+
* resource, and conditions during IAM policy evaluation. This class therefore
|
|
15
|
+
* examines only the Principal representation that produced the matching grant.
|
|
16
|
+
*/
|
|
17
|
+
export declare class AssumeRoleTrustGrantClassifier {
|
|
18
|
+
/**
|
|
19
|
+
* Whether any matching trust-policy statement grants access directly.
|
|
20
|
+
*
|
|
21
|
+
* Multiple statements use union semantics. One direct grant is sufficient even
|
|
22
|
+
* when another matching statement delegates authorization to an Account.
|
|
23
|
+
*/
|
|
24
|
+
hasDirectPrincipalGrant(statements: readonly SimIamPolicyDocumentStatement[]): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Classify one matching trust-policy Allow statement.
|
|
27
|
+
*
|
|
28
|
+
* A matching NotPrincipal statement applies directly to every principal it did
|
|
29
|
+
* not exclude. A Principal statement is direct when at least one matching AWS
|
|
30
|
+
* principal value is not an Account delegation form.
|
|
31
|
+
*/
|
|
32
|
+
private statementGrantsPrincipalDirectly;
|
|
33
|
+
/**
|
|
34
|
+
* Normalize the AWS values from each supported Principal representation.
|
|
35
|
+
*
|
|
36
|
+
* String and array forms represent AWS principals directly. Principal objects
|
|
37
|
+
* group values by principal type, so only their AWS entry is relevant when
|
|
38
|
+
* classifying an ARN-based caller.
|
|
39
|
+
*/
|
|
40
|
+
private awsPrincipalValues;
|
|
41
|
+
/**
|
|
42
|
+
* Distinguish a principal-type object from a readonly principal array.
|
|
43
|
+
*
|
|
44
|
+
* Array.isArray alone does not narrow readonly arrays correctly in this union,
|
|
45
|
+
* so this predicate records the object branch explicitly for TypeScript.
|
|
46
|
+
*/
|
|
47
|
+
private isPrincipalObject;
|
|
48
|
+
/**
|
|
49
|
+
* Recognize the two Principal forms that delegate trust to an AWS Account.
|
|
50
|
+
*
|
|
51
|
+
* A bare 12-digit Account ID and its Account root ARN have equivalent
|
|
52
|
+
* delegation semantics. Other values, including a specific IAM User ARN and
|
|
53
|
+
* the wildcard principal, are classified as direct grants.
|
|
54
|
+
*/
|
|
55
|
+
private isAccountDelegation;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=assume-role-trust-grant-classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-trust-grant-classifier.d.ts","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-trust-grant-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,6BAA6B,EAC9B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;;;GAcG;AACH,qBAAa,8BAA8B;IACzC;;;;;OAKG;IACH,uBAAuB,CACrB,UAAU,EAAE,SAAS,6BAA6B,EAAE,GACnD,OAAO,CAIT;IAED;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAgBxC;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAM5B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classifies matching Role trust-policy grants as direct principal grants or
|
|
3
|
+
* AWS Account delegation.
|
|
4
|
+
*
|
|
5
|
+
* This distinction affects whether an IAM User needs a separate identity-policy
|
|
6
|
+
* Allow for sts:AssumeRole:
|
|
7
|
+
*
|
|
8
|
+
* - a trust statement naming a principal directly grants that principal access;
|
|
9
|
+
* - a bare Account ID or Account root ARN delegates authorization to that Account,
|
|
10
|
+
* so the caller must also have an identity-policy Allow.
|
|
11
|
+
*
|
|
12
|
+
* Statements supplied to this class have already matched the caller, action,
|
|
13
|
+
* resource, and conditions during IAM policy evaluation. This class therefore
|
|
14
|
+
* examines only the Principal representation that produced the matching grant.
|
|
15
|
+
*/
|
|
16
|
+
export class AssumeRoleTrustGrantClassifier {
|
|
17
|
+
/**
|
|
18
|
+
* Whether any matching trust-policy statement grants access directly.
|
|
19
|
+
*
|
|
20
|
+
* Multiple statements use union semantics. One direct grant is sufficient even
|
|
21
|
+
* when another matching statement delegates authorization to an Account.
|
|
22
|
+
*/
|
|
23
|
+
hasDirectPrincipalGrant(statements) {
|
|
24
|
+
return statements.some((statement) => this.statementGrantsPrincipalDirectly(statement));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Classify one matching trust-policy Allow statement.
|
|
28
|
+
*
|
|
29
|
+
* A matching NotPrincipal statement applies directly to every principal it did
|
|
30
|
+
* not exclude. A Principal statement is direct when at least one matching AWS
|
|
31
|
+
* principal value is not an Account delegation form.
|
|
32
|
+
*/
|
|
33
|
+
statementGrantsPrincipalDirectly(statement) {
|
|
34
|
+
if (statement.NotPrincipal !== undefined) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
if (statement.Principal === undefined) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return this.awsPrincipalValues(statement.Principal).some((principal) => !this.isAccountDelegation(principal));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Normalize the AWS values from each supported Principal representation.
|
|
44
|
+
*
|
|
45
|
+
* String and array forms represent AWS principals directly. Principal objects
|
|
46
|
+
* group values by principal type, so only their AWS entry is relevant when
|
|
47
|
+
* classifying an ARN-based caller.
|
|
48
|
+
*/
|
|
49
|
+
awsPrincipalValues(principal) {
|
|
50
|
+
if (typeof principal === "string") {
|
|
51
|
+
return [principal];
|
|
52
|
+
}
|
|
53
|
+
/* v8 ignore if */
|
|
54
|
+
if (!this.isPrincipalObject(principal)) {
|
|
55
|
+
return principal;
|
|
56
|
+
}
|
|
57
|
+
const awsPrincipal = principal["AWS"];
|
|
58
|
+
/* v8 ignore if */
|
|
59
|
+
if (awsPrincipal === undefined) {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
return typeof awsPrincipal === "string" ? [awsPrincipal] : awsPrincipal;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Distinguish a principal-type object from a readonly principal array.
|
|
66
|
+
*
|
|
67
|
+
* Array.isArray alone does not narrow readonly arrays correctly in this union,
|
|
68
|
+
* so this predicate records the object branch explicitly for TypeScript.
|
|
69
|
+
*/
|
|
70
|
+
isPrincipalObject(principal) {
|
|
71
|
+
return typeof principal === "object" && !Array.isArray(principal);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Recognize the two Principal forms that delegate trust to an AWS Account.
|
|
75
|
+
*
|
|
76
|
+
* A bare 12-digit Account ID and its Account root ARN have equivalent
|
|
77
|
+
* delegation semantics. Other values, including a specific IAM User ARN and
|
|
78
|
+
* the wildcard principal, are classified as direct grants.
|
|
79
|
+
*/
|
|
80
|
+
isAccountDelegation(principal) {
|
|
81
|
+
return (/^\d{12}$/u.test(principal) ||
|
|
82
|
+
/^arn:aws:iam::\d{12}:root$/u.test(principal));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=assume-role-trust-grant-classifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assume-role-trust-grant-classifier.js","sourceRoot":"","sources":["../../../../src/service/sts/auth-z/assume-role-trust-grant-classifier.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,8BAA8B;IACzC;;;;;OAKG;IACH,uBAAuB,CACrB,UAAoD;QAEpD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACnC,IAAI,CAAC,gCAAgC,CAAC,SAAS,CAAC,CACjD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,gCAAgC,CACtC,SAAwC;QAExC,IAAI,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CACtD,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CACpD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB,CACxB,SAAwC;QAExC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,kBAAkB;QAClB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACvB,SAAwC;QAExC,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,SAAiB;QAC3C,OAAO,CACL,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9C,CAAC;IACJ,CAAC;CACF"}
|