aws-sdk-iam 1.149.0 → 1.150.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-iam/client.rb +108 -38
- data/lib/aws-sdk-iam/client_api.rb +32 -0
- data/lib/aws-sdk-iam/types.rb +219 -17
- data/lib/aws-sdk-iam.rb +1 -1
- data/sig/client.rbs +16 -0
- data/sig/types.rbs +31 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b66f32cad3969e6b6ba620324ef7e3c5d26dc909ea4c7ee6ed0e59604b95dd56
|
|
4
|
+
data.tar.gz: e3b1a4647fc68faad0fb67f7166279c5e0c41e5bbdefca3504825709484504ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 03430a3d28a77cb277212bbf4fef96a2ccbfb891bb4ae167c67d9a77390ede99a99d916524b588559e346f6b755a7d8539c919becf0dbbc101a367882780cd5d
|
|
7
|
+
data.tar.gz: a35803d7a207a69b25b6355815c3deb1d330b603e178dfbd8ef3c4b34d583d0553b5872d1969811553fbd8272dd0fbc58fc1194a7b882e3344f9fdb91d63980d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
Unreleased Changes
|
|
2
2
|
------------------
|
|
3
3
|
|
|
4
|
+
1.150.0 (2026-07-30)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Feature - Improved IAM Policy Simulator accuracy. Simulator now evaluates SCP conditions and resource scoping, returns explicitDeny for explicit SCP denials, and reports accurate cross-account decisions.
|
|
8
|
+
|
|
4
9
|
1.149.0 (2026-07-09)
|
|
5
10
|
------------------
|
|
6
11
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.150.0
|
data/lib/aws-sdk-iam/client.rb
CHANGED
|
@@ -5318,7 +5318,10 @@ module Aws::IAM
|
|
|
5318
5318
|
# request. Context keys can be evaluated by testing against a value in
|
|
5319
5319
|
# an IAM policy. Use [GetContextKeysForPrincipalPolicy][2] to understand
|
|
5320
5320
|
# what key names and values you must supply when you call
|
|
5321
|
-
# [SimulatePrincipalPolicy][3].
|
|
5321
|
+
# [SimulatePrincipalPolicy][3]. This operation doesn't return context
|
|
5322
|
+
# keys referenced by service control policies (SCPs). Only context keys
|
|
5323
|
+
# referenced by the identity-based policies attached to the specified
|
|
5324
|
+
# entity, and any additional policies that you provide, are included.
|
|
5322
5325
|
#
|
|
5323
5326
|
#
|
|
5324
5327
|
#
|
|
@@ -11466,14 +11469,16 @@ module Aws::IAM
|
|
|
11466
11469
|
# If the output is long, you can use `MaxItems` and `Marker` parameters
|
|
11467
11470
|
# to paginate the results.
|
|
11468
11471
|
#
|
|
11469
|
-
# <note markdown="1"> The IAM policy simulator evaluates statements in
|
|
11470
|
-
#
|
|
11471
|
-
#
|
|
11472
|
-
#
|
|
11473
|
-
#
|
|
11474
|
-
#
|
|
11475
|
-
#
|
|
11476
|
-
#
|
|
11472
|
+
# <note markdown="1"> The IAM policy simulator evaluates statements in identity-based
|
|
11473
|
+
# policies, service control policies (SCPs) including their condition
|
|
11474
|
+
# keys and resource scoping, and the inputs that you provide during
|
|
11475
|
+
# simulation. The policy simulator results can differ from your live
|
|
11476
|
+
# Amazon Web Services environment. We recommend that you check your
|
|
11477
|
+
# policies against your live Amazon Web Services environment after
|
|
11478
|
+
# testing using the policy simulator to confirm that you have the
|
|
11479
|
+
# desired results. For more information about using the policy
|
|
11480
|
+
# simulator, see [Testing IAM policies with the IAM policy simulator
|
|
11481
|
+
# ][3]in the *IAM User Guide*.
|
|
11477
11482
|
#
|
|
11478
11483
|
# </note>
|
|
11479
11484
|
#
|
|
@@ -11550,6 +11555,24 @@ module Aws::IAM
|
|
|
11550
11555
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length
|
|
11551
11556
|
# [3]: http://wikipedia.org/wiki/regex
|
|
11552
11557
|
#
|
|
11558
|
+
# @option params [Array<Types::OrderedOrganizationPolicyType>] :ordered_organization_policy_input_list
|
|
11559
|
+
# An ordered list of service control policies (SCPs) to include in the
|
|
11560
|
+
# simulation. Each element represents one level of an Organizations
|
|
11561
|
+
# hierarchy, from the organization root to the account.
|
|
11562
|
+
#
|
|
11563
|
+
# The simulator evaluates SCPs in the order that you provide, consistent
|
|
11564
|
+
# with how Organizations enforces SCPs. The first element must represent
|
|
11565
|
+
# the organization root, and the last element must represent the
|
|
11566
|
+
# account. Any elements between them represent organizational units
|
|
11567
|
+
# (OUs) in descending order.
|
|
11568
|
+
#
|
|
11569
|
+
# Use this parameter to simulate the effect of an SCP hierarchy without
|
|
11570
|
+
# calling [SimulatePrincipalPolicy][1].
|
|
11571
|
+
#
|
|
11572
|
+
#
|
|
11573
|
+
#
|
|
11574
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html
|
|
11575
|
+
#
|
|
11553
11576
|
# @option params [required, Array<String>] :action_names
|
|
11554
11577
|
# A list of names of API operations to evaluate in the simulation. Each
|
|
11555
11578
|
# operation is evaluated against each resource. Each operation must
|
|
@@ -11636,13 +11659,13 @@ module Aws::IAM
|
|
|
11636
11659
|
# `arn:aws:iam::112233445566-ID:root`.
|
|
11637
11660
|
#
|
|
11638
11661
|
# @option params [String] :caller_arn
|
|
11639
|
-
# The ARN of the IAM user that you want to use as the
|
|
11640
|
-
# of the API operations. `CallerArn` is required if you
|
|
11641
|
-
# `ResourcePolicy` so that the policy's `Principal` element
|
|
11642
|
-
# to use in evaluating the policy.
|
|
11662
|
+
# The ARN of the IAM user, group, or role that you want to use as the
|
|
11663
|
+
# simulated caller of the API operations. `CallerArn` is required if you
|
|
11664
|
+
# include a `ResourcePolicy` so that the policy's `Principal` element
|
|
11665
|
+
# has a value to use in evaluating the policy.
|
|
11643
11666
|
#
|
|
11644
|
-
# You
|
|
11645
|
-
#
|
|
11667
|
+
# You cannot specify the ARN of an assumed role, federated user, or a
|
|
11668
|
+
# service principal.
|
|
11646
11669
|
#
|
|
11647
11670
|
# @option params [Array<Types::ContextEntry>] :context_entries
|
|
11648
11671
|
# A list of context keys and corresponding values for the simulation to
|
|
@@ -11717,6 +11740,11 @@ module Aws::IAM
|
|
|
11717
11740
|
# resp = client.simulate_custom_policy({
|
|
11718
11741
|
# policy_input_list: ["policyDocumentType"], # required
|
|
11719
11742
|
# permissions_boundary_policy_input_list: ["policyDocumentType"],
|
|
11743
|
+
# ordered_organization_policy_input_list: [
|
|
11744
|
+
# {
|
|
11745
|
+
# service_control_policy_input_list: ["policyDocumentType"],
|
|
11746
|
+
# },
|
|
11747
|
+
# ],
|
|
11720
11748
|
# action_names: ["ActionNameType"], # required
|
|
11721
11749
|
# resource_arns: ["ResourceNameType"],
|
|
11722
11750
|
# resource_policy: "policyDocumentType",
|
|
@@ -11801,6 +11829,12 @@ module Aws::IAM
|
|
|
11801
11829
|
# authorization to determine if the simulated policies allow or deny the
|
|
11802
11830
|
# operations.
|
|
11803
11831
|
#
|
|
11832
|
+
# For cross-account simulations, `EvalDecisionDetails` returns the
|
|
11833
|
+
# decision for each policy type (identity-based policy, resource-based
|
|
11834
|
+
# policy, and permissions boundary). This helps you identify which
|
|
11835
|
+
# policy type is responsible for an allow or deny decision when policies
|
|
11836
|
+
# span multiple accounts.
|
|
11837
|
+
#
|
|
11804
11838
|
# **Note:** This operation discloses information about the permissions
|
|
11805
11839
|
# granted to other users. If you do not want users to see other user's
|
|
11806
11840
|
# permissions, then consider allowing them to use
|
|
@@ -11816,14 +11850,16 @@ module Aws::IAM
|
|
|
11816
11850
|
# If the output is long, you can use the `MaxItems` and `Marker`
|
|
11817
11851
|
# parameters to paginate the results.
|
|
11818
11852
|
#
|
|
11819
|
-
# <note markdown="1"> The IAM policy simulator evaluates statements in
|
|
11820
|
-
#
|
|
11821
|
-
#
|
|
11822
|
-
#
|
|
11823
|
-
#
|
|
11824
|
-
#
|
|
11825
|
-
#
|
|
11826
|
-
#
|
|
11853
|
+
# <note markdown="1"> The IAM policy simulator evaluates statements in identity-based
|
|
11854
|
+
# policies, service control policies (SCPs) including their condition
|
|
11855
|
+
# keys and resource scoping, and the inputs that you provide during
|
|
11856
|
+
# simulation. The policy simulator results can differ from your live
|
|
11857
|
+
# Amazon Web Services environment. We recommend that you check your
|
|
11858
|
+
# policies against your live Amazon Web Services environment after
|
|
11859
|
+
# testing using the policy simulator to confirm that you have the
|
|
11860
|
+
# desired results. For more information about using the policy
|
|
11861
|
+
# simulator, see [Testing IAM policies with the IAM policy simulator
|
|
11862
|
+
# ][3]in the *IAM User Guide*.
|
|
11827
11863
|
#
|
|
11828
11864
|
# </note>
|
|
11829
11865
|
#
|
|
@@ -11911,6 +11947,27 @@ module Aws::IAM
|
|
|
11911
11947
|
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length
|
|
11912
11948
|
# [3]: http://wikipedia.org/wiki/regex
|
|
11913
11949
|
#
|
|
11950
|
+
# @option params [Array<Types::PolicyIdentifier>] :policy_exclusion_list
|
|
11951
|
+
# A list of policies to exclude from the simulation. Use this parameter
|
|
11952
|
+
# to test what the simulation result would be if a policy were removed,
|
|
11953
|
+
# without changing which policies are actually attached to the principal
|
|
11954
|
+
# identified by `PolicySourceArn`.
|
|
11955
|
+
#
|
|
11956
|
+
# Each entry is a [PolicyIdentifier][1] that identifies one or more
|
|
11957
|
+
# policies to exclude by policy type, by Amazon Resource Name (ARN), or
|
|
11958
|
+
# by the name of an inline policy and the entity it is attached to.
|
|
11959
|
+
#
|
|
11960
|
+
# Syntactically invalid identifiers, such as malformed ARNs or wildcards
|
|
11961
|
+
# in disallowed positions, cause the request to fail with an
|
|
11962
|
+
# `InvalidInput` error. Syntactically valid identifiers that don't
|
|
11963
|
+
# match any attached policy are ignored. Resource control policies
|
|
11964
|
+
# (RCPs) are not supported in this release; identifiers that target RCPs
|
|
11965
|
+
# are also ignored.
|
|
11966
|
+
#
|
|
11967
|
+
#
|
|
11968
|
+
#
|
|
11969
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_PolicyIdentifier.html
|
|
11970
|
+
#
|
|
11914
11971
|
# @option params [required, Array<String>] :action_names
|
|
11915
11972
|
# A list of names of API operations to evaluate in the simulation. Each
|
|
11916
11973
|
# operation is evaluated for each resource. Each operation must include
|
|
@@ -11987,22 +12044,24 @@ module Aws::IAM
|
|
|
11987
12044
|
# `CallerArn`.
|
|
11988
12045
|
#
|
|
11989
12046
|
# @option params [String] :caller_arn
|
|
11990
|
-
# The ARN of the IAM user that you want to specify as
|
|
11991
|
-
# caller of the API operations. If you do not specify a
|
|
11992
|
-
# defaults to the ARN of the user
|
|
11993
|
-
#
|
|
11994
|
-
#
|
|
11995
|
-
#
|
|
11996
|
-
#
|
|
11997
|
-
# David's
|
|
11998
|
-
#
|
|
11999
|
-
#
|
|
12000
|
-
# ARN of an
|
|
12047
|
+
# The ARN of the IAM user, group, or role that you want to specify as
|
|
12048
|
+
# the simulated caller of the API operations. If you do not specify a
|
|
12049
|
+
# `CallerArn`, it defaults to the ARN of the user, group, or role that
|
|
12050
|
+
# you specify in `PolicySourceArn`. If you include both a
|
|
12051
|
+
# `PolicySourceArn` (for example,
|
|
12052
|
+
# `arn:aws:iam::123456789012:user/David`) and a `CallerArn` (for
|
|
12053
|
+
# example, `arn:aws:iam::123456789012:user/Bob`), the result is that you
|
|
12054
|
+
# simulate calling the API operations as Bob, as if Bob had David's
|
|
12055
|
+
# policies.
|
|
12056
|
+
#
|
|
12057
|
+
# You can specify the ARN of an IAM user, group, or role. You cannot
|
|
12058
|
+
# specify the ARN of an assumed role, federated user, or a service
|
|
12059
|
+
# principal.
|
|
12001
12060
|
#
|
|
12002
12061
|
# `CallerArn` is required if you include a `ResourcePolicy` and the
|
|
12003
|
-
# `PolicySourceArn` is not the ARN for an IAM user
|
|
12004
|
-
# that the resource-based policy's `Principal` element
|
|
12005
|
-
# use in evaluating the policy.
|
|
12062
|
+
# `PolicySourceArn` is not the ARN for an IAM user, group, or role. This
|
|
12063
|
+
# is required so that the resource-based policy's `Principal` element
|
|
12064
|
+
# has a value to use in evaluating the policy.
|
|
12006
12065
|
#
|
|
12007
12066
|
# For more information about ARNs, see [Amazon Resource Names (ARNs)][1]
|
|
12008
12067
|
# in the *Amazon Web Services General Reference*.
|
|
@@ -12085,6 +12144,17 @@ module Aws::IAM
|
|
|
12085
12144
|
# policy_source_arn: "arnType", # required
|
|
12086
12145
|
# policy_input_list: ["policyDocumentType"],
|
|
12087
12146
|
# permissions_boundary_policy_input_list: ["policyDocumentType"],
|
|
12147
|
+
# policy_exclusion_list: [
|
|
12148
|
+
# {
|
|
12149
|
+
# policy_type: "inline", # accepts inline, aws-managed, user-managed, permission-boundary, scp, rcp
|
|
12150
|
+
# policy_arn: "arnType",
|
|
12151
|
+
# inline_policy_identifier: {
|
|
12152
|
+
# policy_name: "policyNameType", # required
|
|
12153
|
+
# attachment_type: "user", # required, accepts user, group, role
|
|
12154
|
+
# attachment_name: "AttachmentName", # required
|
|
12155
|
+
# },
|
|
12156
|
+
# },
|
|
12157
|
+
# ],
|
|
12088
12158
|
# action_names: ["ActionNameType"], # required
|
|
12089
12159
|
# resource_arns: ["ResourceNameType"],
|
|
12090
12160
|
# resource_policy: "policyDocumentType",
|
|
@@ -14726,7 +14796,7 @@ module Aws::IAM
|
|
|
14726
14796
|
tracer: tracer
|
|
14727
14797
|
)
|
|
14728
14798
|
context[:gem_name] = 'aws-sdk-iam'
|
|
14729
|
-
context[:gem_version] = '1.
|
|
14799
|
+
context[:gem_version] = '1.150.0'
|
|
14730
14800
|
Seahorse::Client::Request.new(handlers, context)
|
|
14731
14801
|
end
|
|
14732
14802
|
|
|
@@ -34,6 +34,8 @@ module Aws::IAM
|
|
|
34
34
|
AttachUserPolicyRequest = Shapes::StructureShape.new(name: 'AttachUserPolicyRequest')
|
|
35
35
|
AttachedPermissionsBoundary = Shapes::StructureShape.new(name: 'AttachedPermissionsBoundary')
|
|
36
36
|
AttachedPolicy = Shapes::StructureShape.new(name: 'AttachedPolicy')
|
|
37
|
+
AttachmentName = Shapes::StringShape.new(name: 'AttachmentName')
|
|
38
|
+
AttachmentType = Shapes::StringShape.new(name: 'AttachmentType')
|
|
37
39
|
BootstrapDatum = Shapes::BlobShape.new(name: 'BootstrapDatum')
|
|
38
40
|
CallerIsNotManagementAccountException = Shapes::StructureShape.new(name: 'CallerIsNotManagementAccountException')
|
|
39
41
|
CertificationKeyType = Shapes::StringShape.new(name: 'CertificationKeyType')
|
|
@@ -203,6 +205,7 @@ module Aws::IAM
|
|
|
203
205
|
GetUserResponse = Shapes::StructureShape.new(name: 'GetUserResponse')
|
|
204
206
|
Group = Shapes::StructureShape.new(name: 'Group')
|
|
205
207
|
GroupDetail = Shapes::StructureShape.new(name: 'GroupDetail')
|
|
208
|
+
InlinePolicyIdentifierType = Shapes::StructureShape.new(name: 'InlinePolicyIdentifierType')
|
|
206
209
|
InstanceProfile = Shapes::StructureShape.new(name: 'InstanceProfile')
|
|
207
210
|
InvalidAuthenticationCodeException = Shapes::StructureShape.new(name: 'InvalidAuthenticationCodeException', error: {"code" => "InvalidAuthenticationCode", "httpStatusCode" => 403, "senderFault" => true})
|
|
208
211
|
InvalidCertificateException = Shapes::StructureShape.new(name: 'InvalidCertificateException', error: {"code" => "InvalidCertificate", "httpStatusCode" => 400, "senderFault" => true})
|
|
@@ -296,9 +299,11 @@ module Aws::IAM
|
|
|
296
299
|
OpenIDConnectProviderListType = Shapes::ListShape.new(name: 'OpenIDConnectProviderListType')
|
|
297
300
|
OpenIDConnectProviderUrlType = Shapes::StringShape.new(name: 'OpenIDConnectProviderUrlType')
|
|
298
301
|
OpenIdIdpCommunicationErrorException = Shapes::StructureShape.new(name: 'OpenIdIdpCommunicationErrorException', error: {"code" => "OpenIdIdpCommunicationError", "httpStatusCode" => 400, "senderFault" => true})
|
|
302
|
+
OrderedOrganizationPolicyType = Shapes::StructureShape.new(name: 'OrderedOrganizationPolicyType')
|
|
299
303
|
OrganizationIdType = Shapes::StringShape.new(name: 'OrganizationIdType')
|
|
300
304
|
OrganizationNotFoundException = Shapes::StructureShape.new(name: 'OrganizationNotFoundException')
|
|
301
305
|
OrganizationNotInAllFeaturesModeException = Shapes::StructureShape.new(name: 'OrganizationNotInAllFeaturesModeException')
|
|
306
|
+
OrganizationPolicyListType = Shapes::ListShape.new(name: 'OrganizationPolicyListType')
|
|
302
307
|
OrganizationsDecisionDetail = Shapes::StructureShape.new(name: 'OrganizationsDecisionDetail')
|
|
303
308
|
PasswordPolicy = Shapes::StructureShape.new(name: 'PasswordPolicy')
|
|
304
309
|
PasswordPolicyViolationException = Shapes::StructureShape.new(name: 'PasswordPolicyViolationException', error: {"code" => "PasswordPolicyViolation", "httpStatusCode" => 400, "senderFault" => true})
|
|
@@ -308,9 +313,12 @@ module Aws::IAM
|
|
|
308
313
|
PolicyDetail = Shapes::StructureShape.new(name: 'PolicyDetail')
|
|
309
314
|
PolicyEvaluationDecisionType = Shapes::StringShape.new(name: 'PolicyEvaluationDecisionType')
|
|
310
315
|
PolicyEvaluationException = Shapes::StructureShape.new(name: 'PolicyEvaluationException', error: {"code" => "PolicyEvaluation", "httpStatusCode" => 500})
|
|
316
|
+
PolicyExclusionsListType = Shapes::ListShape.new(name: 'PolicyExclusionsListType')
|
|
311
317
|
PolicyGrantingServiceAccess = Shapes::StructureShape.new(name: 'PolicyGrantingServiceAccess')
|
|
312
318
|
PolicyGroup = Shapes::StructureShape.new(name: 'PolicyGroup')
|
|
313
319
|
PolicyGroupListType = Shapes::ListShape.new(name: 'PolicyGroupListType')
|
|
320
|
+
PolicyIdentifier = Shapes::UnionShape.new(name: 'PolicyIdentifier')
|
|
321
|
+
PolicyIdentifierPolicyType = Shapes::StringShape.new(name: 'PolicyIdentifierPolicyType')
|
|
314
322
|
PolicyIdentifierType = Shapes::StringShape.new(name: 'PolicyIdentifierType')
|
|
315
323
|
PolicyNotAttachableException = Shapes::StructureShape.new(name: 'PolicyNotAttachableException', error: {"code" => "PolicyNotAttachable", "httpStatusCode" => 400, "senderFault" => true})
|
|
316
324
|
PolicyParameter = Shapes::StructureShape.new(name: 'PolicyParameter')
|
|
@@ -1303,6 +1311,11 @@ module Aws::IAM
|
|
|
1303
1311
|
GroupDetail.add_member(:attached_managed_policies, Shapes::ShapeRef.new(shape: attachedPoliciesListType, location_name: "AttachedManagedPolicies"))
|
|
1304
1312
|
GroupDetail.struct_class = Types::GroupDetail
|
|
1305
1313
|
|
|
1314
|
+
InlinePolicyIdentifierType.add_member(:policy_name, Shapes::ShapeRef.new(shape: policyNameType, required: true, location_name: "PolicyName"))
|
|
1315
|
+
InlinePolicyIdentifierType.add_member(:attachment_type, Shapes::ShapeRef.new(shape: AttachmentType, required: true, location_name: "AttachmentType"))
|
|
1316
|
+
InlinePolicyIdentifierType.add_member(:attachment_name, Shapes::ShapeRef.new(shape: AttachmentName, required: true, location_name: "AttachmentName"))
|
|
1317
|
+
InlinePolicyIdentifierType.struct_class = Types::InlinePolicyIdentifierType
|
|
1318
|
+
|
|
1306
1319
|
InstanceProfile.add_member(:path, Shapes::ShapeRef.new(shape: pathType, required: true, location_name: "Path"))
|
|
1307
1320
|
InstanceProfile.add_member(:instance_profile_name, Shapes::ShapeRef.new(shape: instanceProfileNameType, required: true, location_name: "InstanceProfileName"))
|
|
1308
1321
|
InstanceProfile.add_member(:instance_profile_id, Shapes::ShapeRef.new(shape: idType, required: true, location_name: "InstanceProfileId"))
|
|
@@ -1738,10 +1751,15 @@ module Aws::IAM
|
|
|
1738
1751
|
OpenIdIdpCommunicationErrorException.add_member(:message, Shapes::ShapeRef.new(shape: openIdIdpCommunicationErrorExceptionMessage, location_name: "message"))
|
|
1739
1752
|
OpenIdIdpCommunicationErrorException.struct_class = Types::OpenIdIdpCommunicationErrorException
|
|
1740
1753
|
|
|
1754
|
+
OrderedOrganizationPolicyType.add_member(:service_control_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "ServiceControlPolicyInputList"))
|
|
1755
|
+
OrderedOrganizationPolicyType.struct_class = Types::OrderedOrganizationPolicyType
|
|
1756
|
+
|
|
1741
1757
|
OrganizationNotFoundException.struct_class = Types::OrganizationNotFoundException
|
|
1742
1758
|
|
|
1743
1759
|
OrganizationNotInAllFeaturesModeException.struct_class = Types::OrganizationNotInAllFeaturesModeException
|
|
1744
1760
|
|
|
1761
|
+
OrganizationPolicyListType.member = Shapes::ShapeRef.new(shape: OrderedOrganizationPolicyType)
|
|
1762
|
+
|
|
1745
1763
|
OrganizationsDecisionDetail.add_member(:allowed_by_organizations, Shapes::ShapeRef.new(shape: booleanType, location_name: "AllowedByOrganizations"))
|
|
1746
1764
|
OrganizationsDecisionDetail.struct_class = Types::OrganizationsDecisionDetail
|
|
1747
1765
|
|
|
@@ -1784,6 +1802,8 @@ module Aws::IAM
|
|
|
1784
1802
|
PolicyEvaluationException.add_member(:message, Shapes::ShapeRef.new(shape: policyEvaluationErrorMessage, location_name: "message"))
|
|
1785
1803
|
PolicyEvaluationException.struct_class = Types::PolicyEvaluationException
|
|
1786
1804
|
|
|
1805
|
+
PolicyExclusionsListType.member = Shapes::ShapeRef.new(shape: PolicyIdentifier)
|
|
1806
|
+
|
|
1787
1807
|
PolicyGrantingServiceAccess.add_member(:policy_name, Shapes::ShapeRef.new(shape: policyNameType, required: true, location_name: "PolicyName"))
|
|
1788
1808
|
PolicyGrantingServiceAccess.add_member(:policy_type, Shapes::ShapeRef.new(shape: policyType, required: true, location_name: "PolicyType"))
|
|
1789
1809
|
PolicyGrantingServiceAccess.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "PolicyArn"))
|
|
@@ -1797,6 +1817,16 @@ module Aws::IAM
|
|
|
1797
1817
|
|
|
1798
1818
|
PolicyGroupListType.member = Shapes::ShapeRef.new(shape: PolicyGroup)
|
|
1799
1819
|
|
|
1820
|
+
PolicyIdentifier.add_member(:policy_type, Shapes::ShapeRef.new(shape: PolicyIdentifierPolicyType, location_name: "PolicyType"))
|
|
1821
|
+
PolicyIdentifier.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, location_name: "PolicyArn"))
|
|
1822
|
+
PolicyIdentifier.add_member(:inline_policy_identifier, Shapes::ShapeRef.new(shape: InlinePolicyIdentifierType, location_name: "InlinePolicyIdentifier"))
|
|
1823
|
+
PolicyIdentifier.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
|
|
1824
|
+
PolicyIdentifier.add_member_subclass(:policy_type, Types::PolicyIdentifier::PolicyType)
|
|
1825
|
+
PolicyIdentifier.add_member_subclass(:policy_arn, Types::PolicyIdentifier::PolicyArn)
|
|
1826
|
+
PolicyIdentifier.add_member_subclass(:inline_policy_identifier, Types::PolicyIdentifier::InlinePolicyIdentifier)
|
|
1827
|
+
PolicyIdentifier.add_member_subclass(:unknown, Types::PolicyIdentifier::Unknown)
|
|
1828
|
+
PolicyIdentifier.struct_class = Types::PolicyIdentifier
|
|
1829
|
+
|
|
1800
1830
|
PolicyNotAttachableException.add_member(:message, Shapes::ShapeRef.new(shape: policyNotAttachableMessage, location_name: "message"))
|
|
1801
1831
|
PolicyNotAttachableException.struct_class = Types::PolicyNotAttachableException
|
|
1802
1832
|
|
|
@@ -2034,6 +2064,7 @@ module Aws::IAM
|
|
|
2034
2064
|
|
|
2035
2065
|
SimulateCustomPolicyRequest.add_member(:policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, required: true, location_name: "PolicyInputList"))
|
|
2036
2066
|
SimulateCustomPolicyRequest.add_member(:permissions_boundary_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PermissionsBoundaryPolicyInputList"))
|
|
2067
|
+
SimulateCustomPolicyRequest.add_member(:ordered_organization_policy_input_list, Shapes::ShapeRef.new(shape: OrganizationPolicyListType, location_name: "OrderedOrganizationPolicyInputList"))
|
|
2037
2068
|
SimulateCustomPolicyRequest.add_member(:action_names, Shapes::ShapeRef.new(shape: ActionNameListType, required: true, location_name: "ActionNames"))
|
|
2038
2069
|
SimulateCustomPolicyRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceNameListType, location_name: "ResourceArns"))
|
|
2039
2070
|
SimulateCustomPolicyRequest.add_member(:resource_policy, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "ResourcePolicy"))
|
|
@@ -2053,6 +2084,7 @@ module Aws::IAM
|
|
|
2053
2084
|
SimulatePrincipalPolicyRequest.add_member(:policy_source_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicySourceArn"))
|
|
2054
2085
|
SimulatePrincipalPolicyRequest.add_member(:policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PolicyInputList"))
|
|
2055
2086
|
SimulatePrincipalPolicyRequest.add_member(:permissions_boundary_policy_input_list, Shapes::ShapeRef.new(shape: SimulationPolicyListType, location_name: "PermissionsBoundaryPolicyInputList"))
|
|
2087
|
+
SimulatePrincipalPolicyRequest.add_member(:policy_exclusion_list, Shapes::ShapeRef.new(shape: PolicyExclusionsListType, location_name: "PolicyExclusionList"))
|
|
2056
2088
|
SimulatePrincipalPolicyRequest.add_member(:action_names, Shapes::ShapeRef.new(shape: ActionNameListType, required: true, location_name: "ActionNames"))
|
|
2057
2089
|
SimulatePrincipalPolicyRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceNameListType, location_name: "ResourceArns"))
|
|
2058
2090
|
SimulatePrincipalPolicyRequest.add_member(:resource_policy, Shapes::ShapeRef.new(shape: policyDocumentType, location_name: "ResourcePolicy"))
|
data/lib/aws-sdk-iam/types.rb
CHANGED
|
@@ -3350,13 +3350,40 @@ module Aws::IAM
|
|
|
3350
3350
|
# This data type is used by the return parameter of `
|
|
3351
3351
|
# SimulateCustomPolicy ` and ` SimulatePrincipalPolicy `.
|
|
3352
3352
|
#
|
|
3353
|
+
# The simulator now returns a single `EvaluationResult` per action,
|
|
3354
|
+
# regardless of how many resource ARNs are provided. Previously,
|
|
3355
|
+
# simulating one action against N resources returned N evaluation
|
|
3356
|
+
# results, each containing the same aggregate decision. The top-level
|
|
3357
|
+
# fields (`EvalDecision`, `MatchedStatements`, `MissingContextValues`,
|
|
3358
|
+
# `EvalDecisionDetails`) now represent the *aggregate* decision across
|
|
3359
|
+
# all requested resources. The top-level `EvalDecision` reflects the
|
|
3360
|
+
# most restrictive decision across all resources (for example, if any
|
|
3361
|
+
# resource produces `explicitDeny`, the top-level decision is
|
|
3362
|
+
# `explicitDeny`).
|
|
3363
|
+
#
|
|
3364
|
+
# To see the decision for each individual resource, use
|
|
3365
|
+
# `ResourceSpecificResults`. If your application parses evaluation
|
|
3366
|
+
# results per resource ARN, update your code to read per-resource
|
|
3367
|
+
# decisions from `ResourceSpecificResults` rather than from the
|
|
3368
|
+
# top-level result.
|
|
3369
|
+
#
|
|
3353
3370
|
# @!attribute [rw] eval_action_name
|
|
3354
3371
|
# The name of the API operation tested on the indicated resource.
|
|
3355
3372
|
# @return [String]
|
|
3356
3373
|
#
|
|
3357
3374
|
# @!attribute [rw] eval_resource_name
|
|
3358
|
-
# The ARN
|
|
3359
|
-
#
|
|
3375
|
+
# The ARN template for the simulated resource type (for example,
|
|
3376
|
+
# `arn:${Partition}:s3:::${BucketName}/${KeyName}`), or `*` if no ARN
|
|
3377
|
+
# format is defined for the action. This is not a specific
|
|
3378
|
+
# customer-provided resource ARN. To find the decision for a specific
|
|
3379
|
+
# resource, use `ResourceSpecificResults`.
|
|
3380
|
+
#
|
|
3381
|
+
# <note markdown="1"> If you previously relied on `EvalResourceName` to identify which
|
|
3382
|
+
# specific resource a result applies to, you must now use the
|
|
3383
|
+
# `EvalResourceName` field within individual entries in
|
|
3384
|
+
# `ResourceSpecificResults` instead.
|
|
3385
|
+
#
|
|
3386
|
+
# </note>
|
|
3360
3387
|
# @return [String]
|
|
3361
3388
|
#
|
|
3362
3389
|
# @!attribute [rw] eval_decision
|
|
@@ -3370,6 +3397,14 @@ module Aws::IAM
|
|
|
3370
3397
|
# that operation, then the explicit deny overrides any allow. In
|
|
3371
3398
|
# addition, the deny statement is the only entry included in the
|
|
3372
3399
|
# result.
|
|
3400
|
+
#
|
|
3401
|
+
# In the top-level result, this field contains the union of matched
|
|
3402
|
+
# statements across all requested resources. Only statements that
|
|
3403
|
+
# contributed to the reported decision are included. For per-resource
|
|
3404
|
+
# matched statements, see `ResourceSpecificResults`. This field
|
|
3405
|
+
# doesn't include statements from service control policies (SCPs).
|
|
3406
|
+
# Only statements from identity-based and resource-based policies
|
|
3407
|
+
# appear here.
|
|
3373
3408
|
# @return [Array<Types::Statement>]
|
|
3374
3409
|
#
|
|
3375
3410
|
# @!attribute [rw] missing_context_values
|
|
@@ -3383,6 +3418,12 @@ module Aws::IAM
|
|
|
3383
3418
|
# [GetContextKeysForCustomPolicy][1] or
|
|
3384
3419
|
# [GetContextKeysForPrincipalPolicy][2].
|
|
3385
3420
|
#
|
|
3421
|
+
# In the top-level result, this field contains the deduplicated set of
|
|
3422
|
+
# missing context values across all requested resources. This field
|
|
3423
|
+
# doesn't include context keys referenced by service control policies
|
|
3424
|
+
# (SCPs). Only context keys referenced by identity-based and
|
|
3425
|
+
# resource-based policies appear here.
|
|
3426
|
+
#
|
|
3386
3427
|
#
|
|
3387
3428
|
#
|
|
3388
3429
|
# [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetContextKeysForCustomPolicy.html
|
|
@@ -3393,6 +3434,10 @@ module Aws::IAM
|
|
|
3393
3434
|
# A structure that details how Organizations and its service control
|
|
3394
3435
|
# policies affect the results of the simulation. Only applies if the
|
|
3395
3436
|
# simulated user's account is part of an organization.
|
|
3437
|
+
#
|
|
3438
|
+
# For resources that don't support organization-level evaluation,
|
|
3439
|
+
# this field is omitted from the top-level result. For per-resource
|
|
3440
|
+
# details, see `ResourceSpecificResults`.
|
|
3396
3441
|
# @return [Types::OrganizationsDecisionDetail]
|
|
3397
3442
|
#
|
|
3398
3443
|
# @!attribute [rw] permissions_boundary_decision_detail
|
|
@@ -3407,6 +3452,9 @@ module Aws::IAM
|
|
|
3407
3452
|
# simulations. It contains a brief summary of how each policy type
|
|
3408
3453
|
# contributes to the final evaluation decision.
|
|
3409
3454
|
#
|
|
3455
|
+
# In the top-level result, this map reports the most restrictive
|
|
3456
|
+
# decision per policy type across all requested resources.
|
|
3457
|
+
#
|
|
3410
3458
|
# If the simulation evaluates policies within the same account and
|
|
3411
3459
|
# includes a resource ARN, then the parameter is present but the
|
|
3412
3460
|
# response is empty. If the simulation evaluates policies within the
|
|
@@ -5494,6 +5542,38 @@ module Aws::IAM
|
|
|
5494
5542
|
include Aws::Structure
|
|
5495
5543
|
end
|
|
5496
5544
|
|
|
5545
|
+
# Identifies one or more inline policies that are embedded in IAM users,
|
|
5546
|
+
# groups, or roles, by the name of the policy together with the type and
|
|
5547
|
+
# name of the entity that it is attached to. Wildcard characters in the
|
|
5548
|
+
# entity name can match multiple entities, so a single identifier can
|
|
5549
|
+
# select more than one attached inline policy.
|
|
5550
|
+
#
|
|
5551
|
+
# @!attribute [rw] policy_name
|
|
5552
|
+
# The name of the inline policy.
|
|
5553
|
+
# @return [String]
|
|
5554
|
+
#
|
|
5555
|
+
# @!attribute [rw] attachment_type
|
|
5556
|
+
# The type of IAM entity that the inline policy is attached to.
|
|
5557
|
+
# @return [String]
|
|
5558
|
+
#
|
|
5559
|
+
# @!attribute [rw] attachment_name
|
|
5560
|
+
# The name of the IAM user, group, or role that the inline policy is
|
|
5561
|
+
# attached to. Wildcard characters are supported to match multiple
|
|
5562
|
+
# entities: use at most one `*` (matches any sequence of characters,
|
|
5563
|
+
# including none), and any number of `?` (each matches exactly one
|
|
5564
|
+
# character).
|
|
5565
|
+
# @return [String]
|
|
5566
|
+
#
|
|
5567
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/InlinePolicyIdentifierType AWS API Documentation
|
|
5568
|
+
#
|
|
5569
|
+
class InlinePolicyIdentifierType < Struct.new(
|
|
5570
|
+
:policy_name,
|
|
5571
|
+
:attachment_type,
|
|
5572
|
+
:attachment_name)
|
|
5573
|
+
SENSITIVE = []
|
|
5574
|
+
include Aws::Structure
|
|
5575
|
+
end
|
|
5576
|
+
|
|
5497
5577
|
# Contains information about an instance profile.
|
|
5498
5578
|
#
|
|
5499
5579
|
# This data type is used as a response element in the following
|
|
@@ -8821,6 +8901,33 @@ module Aws::IAM
|
|
|
8821
8901
|
include Aws::Structure
|
|
8822
8902
|
end
|
|
8823
8903
|
|
|
8904
|
+
# Represents one level of an Organizations hierarchy—the organization
|
|
8905
|
+
# root, an organizational unit (OU), or an account—together with the
|
|
8906
|
+
# service control policies (SCPs) that apply at that level. Each element
|
|
8907
|
+
# in the list represents one level of the hierarchy, ordered from the
|
|
8908
|
+
# organization root down to the account.
|
|
8909
|
+
#
|
|
8910
|
+
# For more information about SCPs, see [Service control policies
|
|
8911
|
+
# (SCPs)][1] in the *Organizations User Guide*.
|
|
8912
|
+
#
|
|
8913
|
+
#
|
|
8914
|
+
#
|
|
8915
|
+
# [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html
|
|
8916
|
+
#
|
|
8917
|
+
# @!attribute [rw] service_control_policy_input_list
|
|
8918
|
+
# A list of SCP documents that apply at this level of the
|
|
8919
|
+
# Organizations hierarchy. Each document is specified as a string
|
|
8920
|
+
# containing the complete, valid JSON text of an SCP.
|
|
8921
|
+
# @return [Array<String>]
|
|
8922
|
+
#
|
|
8923
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/OrderedOrganizationPolicyType AWS API Documentation
|
|
8924
|
+
#
|
|
8925
|
+
class OrderedOrganizationPolicyType < Struct.new(
|
|
8926
|
+
:service_control_policy_input_list)
|
|
8927
|
+
SENSITIVE = []
|
|
8928
|
+
include Aws::Structure
|
|
8929
|
+
end
|
|
8930
|
+
|
|
8824
8931
|
# The request was rejected because no organization is associated with
|
|
8825
8932
|
# your account.
|
|
8826
8933
|
#
|
|
@@ -9277,6 +9384,57 @@ module Aws::IAM
|
|
|
9277
9384
|
include Aws::Structure
|
|
9278
9385
|
end
|
|
9279
9386
|
|
|
9387
|
+
# Identifies one or more policies as a union type. Specify exactly one
|
|
9388
|
+
# of `PolicyType`, `PolicyArn`, or `InlinePolicyIdentifier` to identify
|
|
9389
|
+
# policies by their type, by Amazon Resource Name (ARN), or by the name
|
|
9390
|
+
# of an inline policy and the entity it is attached to.
|
|
9391
|
+
#
|
|
9392
|
+
# @note PolicyIdentifier is a union - when making an API calls you must set exactly one of the members.
|
|
9393
|
+
#
|
|
9394
|
+
# @!attribute [rw] policy_type
|
|
9395
|
+
# The policy type to identify. All policies of the specified type are
|
|
9396
|
+
# matched.
|
|
9397
|
+
# @return [String]
|
|
9398
|
+
#
|
|
9399
|
+
# @!attribute [rw] policy_arn
|
|
9400
|
+
# The Amazon Resource Name (ARN) of an Amazon Web Services managed
|
|
9401
|
+
# policy or a customer managed policy that is attached to an IAM user,
|
|
9402
|
+
# group, or role. Wildcard characters are supported in the resource
|
|
9403
|
+
# name portion of the ARN to match multiple managed policies: use at
|
|
9404
|
+
# most one `*` (matches any sequence of characters, including none),
|
|
9405
|
+
# and any number of `?` (each matches exactly one character).
|
|
9406
|
+
#
|
|
9407
|
+
# For more information about ARNs, see [Amazon Resource Names
|
|
9408
|
+
# (ARNs)][1] in the *Amazon Web Services General Reference*.
|
|
9409
|
+
#
|
|
9410
|
+
#
|
|
9411
|
+
#
|
|
9412
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
|
9413
|
+
# @return [String]
|
|
9414
|
+
#
|
|
9415
|
+
# @!attribute [rw] inline_policy_identifier
|
|
9416
|
+
# An inline policy identifier consisting of a policy name and the
|
|
9417
|
+
# entity it is attached to. Wildcard characters (`*` and `?`) in the
|
|
9418
|
+
# entity name can match multiple entities.
|
|
9419
|
+
# @return [Types::InlinePolicyIdentifierType]
|
|
9420
|
+
#
|
|
9421
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/PolicyIdentifier AWS API Documentation
|
|
9422
|
+
#
|
|
9423
|
+
class PolicyIdentifier < Struct.new(
|
|
9424
|
+
:policy_type,
|
|
9425
|
+
:policy_arn,
|
|
9426
|
+
:inline_policy_identifier,
|
|
9427
|
+
:unknown)
|
|
9428
|
+
SENSITIVE = []
|
|
9429
|
+
include Aws::Structure
|
|
9430
|
+
include Aws::Structure::Union
|
|
9431
|
+
|
|
9432
|
+
class PolicyType < PolicyIdentifier; end
|
|
9433
|
+
class PolicyArn < PolicyIdentifier; end
|
|
9434
|
+
class InlinePolicyIdentifier < PolicyIdentifier; end
|
|
9435
|
+
class Unknown < PolicyIdentifier; end
|
|
9436
|
+
end
|
|
9437
|
+
|
|
9280
9438
|
# The request failed because Amazon Web Services service role policies
|
|
9281
9439
|
# can only be attached to the service-linked role for that service.
|
|
9282
9440
|
#
|
|
@@ -11092,6 +11250,25 @@ module Aws::IAM
|
|
|
11092
11250
|
# [3]: http://wikipedia.org/wiki/regex
|
|
11093
11251
|
# @return [Array<String>]
|
|
11094
11252
|
#
|
|
11253
|
+
# @!attribute [rw] ordered_organization_policy_input_list
|
|
11254
|
+
# An ordered list of service control policies (SCPs) to include in the
|
|
11255
|
+
# simulation. Each element represents one level of an Organizations
|
|
11256
|
+
# hierarchy, from the organization root to the account.
|
|
11257
|
+
#
|
|
11258
|
+
# The simulator evaluates SCPs in the order that you provide,
|
|
11259
|
+
# consistent with how Organizations enforces SCPs. The first element
|
|
11260
|
+
# must represent the organization root, and the last element must
|
|
11261
|
+
# represent the account. Any elements between them represent
|
|
11262
|
+
# organizational units (OUs) in descending order.
|
|
11263
|
+
#
|
|
11264
|
+
# Use this parameter to simulate the effect of an SCP hierarchy
|
|
11265
|
+
# without calling [SimulatePrincipalPolicy][1].
|
|
11266
|
+
#
|
|
11267
|
+
#
|
|
11268
|
+
#
|
|
11269
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html
|
|
11270
|
+
# @return [Array<Types::OrderedOrganizationPolicyType>]
|
|
11271
|
+
#
|
|
11095
11272
|
# @!attribute [rw] action_names
|
|
11096
11273
|
# A list of names of API operations to evaluate in the simulation.
|
|
11097
11274
|
# Each operation is evaluated against each resource. Each operation
|
|
@@ -11184,13 +11361,13 @@ module Aws::IAM
|
|
|
11184
11361
|
# @return [String]
|
|
11185
11362
|
#
|
|
11186
11363
|
# @!attribute [rw] caller_arn
|
|
11187
|
-
# The ARN of the IAM user that you want to use as the
|
|
11188
|
-
# of the API operations. `CallerArn` is required if
|
|
11189
|
-
# `ResourcePolicy` so that the policy's `Principal`
|
|
11190
|
-
# value to use in evaluating the policy.
|
|
11364
|
+
# The ARN of the IAM user, group, or role that you want to use as the
|
|
11365
|
+
# simulated caller of the API operations. `CallerArn` is required if
|
|
11366
|
+
# you include a `ResourcePolicy` so that the policy's `Principal`
|
|
11367
|
+
# element has a value to use in evaluating the policy.
|
|
11191
11368
|
#
|
|
11192
|
-
# You
|
|
11193
|
-
#
|
|
11369
|
+
# You cannot specify the ARN of an assumed role, federated user, or a
|
|
11370
|
+
# service principal.
|
|
11194
11371
|
# @return [String]
|
|
11195
11372
|
#
|
|
11196
11373
|
# @!attribute [rw] context_entries
|
|
@@ -11265,6 +11442,7 @@ module Aws::IAM
|
|
|
11265
11442
|
class SimulateCustomPolicyRequest < Struct.new(
|
|
11266
11443
|
:policy_input_list,
|
|
11267
11444
|
:permissions_boundary_policy_input_list,
|
|
11445
|
+
:ordered_organization_policy_input_list,
|
|
11268
11446
|
:action_names,
|
|
11269
11447
|
:resource_arns,
|
|
11270
11448
|
:resource_policy,
|
|
@@ -11398,6 +11576,28 @@ module Aws::IAM
|
|
|
11398
11576
|
# [3]: http://wikipedia.org/wiki/regex
|
|
11399
11577
|
# @return [Array<String>]
|
|
11400
11578
|
#
|
|
11579
|
+
# @!attribute [rw] policy_exclusion_list
|
|
11580
|
+
# A list of policies to exclude from the simulation. Use this
|
|
11581
|
+
# parameter to test what the simulation result would be if a policy
|
|
11582
|
+
# were removed, without changing which policies are actually attached
|
|
11583
|
+
# to the principal identified by `PolicySourceArn`.
|
|
11584
|
+
#
|
|
11585
|
+
# Each entry is a [PolicyIdentifier][1] that identifies one or more
|
|
11586
|
+
# policies to exclude by policy type, by Amazon Resource Name (ARN),
|
|
11587
|
+
# or by the name of an inline policy and the entity it is attached to.
|
|
11588
|
+
#
|
|
11589
|
+
# Syntactically invalid identifiers, such as malformed ARNs or
|
|
11590
|
+
# wildcards in disallowed positions, cause the request to fail with an
|
|
11591
|
+
# `InvalidInput` error. Syntactically valid identifiers that don't
|
|
11592
|
+
# match any attached policy are ignored. Resource control policies
|
|
11593
|
+
# (RCPs) are not supported in this release; identifiers that target
|
|
11594
|
+
# RCPs are also ignored.
|
|
11595
|
+
#
|
|
11596
|
+
#
|
|
11597
|
+
#
|
|
11598
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/APIReference/API_PolicyIdentifier.html
|
|
11599
|
+
# @return [Array<Types::PolicyIdentifier>]
|
|
11600
|
+
#
|
|
11401
11601
|
# @!attribute [rw] action_names
|
|
11402
11602
|
# A list of names of API operations to evaluate in the simulation.
|
|
11403
11603
|
# Each operation is evaluated for each resource. Each operation must
|
|
@@ -11480,23 +11680,24 @@ module Aws::IAM
|
|
|
11480
11680
|
# @return [String]
|
|
11481
11681
|
#
|
|
11482
11682
|
# @!attribute [rw] caller_arn
|
|
11483
|
-
# The ARN of the IAM user that you want to specify as
|
|
11484
|
-
# caller of the API operations. If you do not specify a
|
|
11485
|
-
# it defaults to the ARN of the user
|
|
11486
|
-
#
|
|
11683
|
+
# The ARN of the IAM user, group, or role that you want to specify as
|
|
11684
|
+
# the simulated caller of the API operations. If you do not specify a
|
|
11685
|
+
# `CallerArn`, it defaults to the ARN of the user, group, or role that
|
|
11686
|
+
# you specify in `PolicySourceArn`. If you include both a
|
|
11487
11687
|
# `PolicySourceArn` (for example,
|
|
11488
11688
|
# `arn:aws:iam::123456789012:user/David`) and a `CallerArn` (for
|
|
11489
11689
|
# example, `arn:aws:iam::123456789012:user/Bob`), the result is that
|
|
11490
11690
|
# you simulate calling the API operations as Bob, as if Bob had
|
|
11491
11691
|
# David's policies.
|
|
11492
11692
|
#
|
|
11493
|
-
# You can specify
|
|
11494
|
-
# ARN of an assumed role, federated user, or a service
|
|
11693
|
+
# You can specify the ARN of an IAM user, group, or role. You cannot
|
|
11694
|
+
# specify the ARN of an assumed role, federated user, or a service
|
|
11695
|
+
# principal.
|
|
11495
11696
|
#
|
|
11496
11697
|
# `CallerArn` is required if you include a `ResourcePolicy` and the
|
|
11497
|
-
# `PolicySourceArn` is not the ARN for an IAM user
|
|
11498
|
-
# so that the resource-based policy's `Principal`
|
|
11499
|
-
# to use in evaluating the policy.
|
|
11698
|
+
# `PolicySourceArn` is not the ARN for an IAM user, group, or role.
|
|
11699
|
+
# This is required so that the resource-based policy's `Principal`
|
|
11700
|
+
# element has a value to use in evaluating the policy.
|
|
11500
11701
|
#
|
|
11501
11702
|
# For more information about ARNs, see [Amazon Resource Names
|
|
11502
11703
|
# (ARNs)][1] in the *Amazon Web Services General Reference*.
|
|
@@ -11579,6 +11780,7 @@ module Aws::IAM
|
|
|
11579
11780
|
:policy_source_arn,
|
|
11580
11781
|
:policy_input_list,
|
|
11581
11782
|
:permissions_boundary_policy_input_list,
|
|
11783
|
+
:policy_exclusion_list,
|
|
11582
11784
|
:action_names,
|
|
11583
11785
|
:resource_arns,
|
|
11584
11786
|
:resource_policy,
|
data/lib/aws-sdk-iam.rb
CHANGED
data/sig/client.rbs
CHANGED
|
@@ -1617,6 +1617,11 @@ module Aws
|
|
|
1617
1617
|
def simulate_custom_policy: (
|
|
1618
1618
|
policy_input_list: Array[::String],
|
|
1619
1619
|
?permissions_boundary_policy_input_list: Array[::String],
|
|
1620
|
+
?ordered_organization_policy_input_list: Array[
|
|
1621
|
+
{
|
|
1622
|
+
service_control_policy_input_list: Array[::String]?
|
|
1623
|
+
}
|
|
1624
|
+
],
|
|
1620
1625
|
action_names: Array[::String],
|
|
1621
1626
|
?resource_arns: Array[::String],
|
|
1622
1627
|
?resource_policy: ::String,
|
|
@@ -1646,6 +1651,17 @@ module Aws
|
|
|
1646
1651
|
policy_source_arn: ::String,
|
|
1647
1652
|
?policy_input_list: Array[::String],
|
|
1648
1653
|
?permissions_boundary_policy_input_list: Array[::String],
|
|
1654
|
+
?policy_exclusion_list: Array[
|
|
1655
|
+
{
|
|
1656
|
+
policy_type: ("inline" | "aws-managed" | "user-managed" | "permission-boundary" | "scp" | "rcp")?,
|
|
1657
|
+
policy_arn: ::String?,
|
|
1658
|
+
inline_policy_identifier: {
|
|
1659
|
+
policy_name: ::String,
|
|
1660
|
+
attachment_type: ("user" | "group" | "role"),
|
|
1661
|
+
attachment_name: ::String
|
|
1662
|
+
}?
|
|
1663
|
+
}
|
|
1664
|
+
],
|
|
1649
1665
|
action_names: Array[::String],
|
|
1650
1666
|
?resource_arns: Array[::String],
|
|
1651
1667
|
?resource_policy: ::String,
|
data/sig/types.rbs
CHANGED
|
@@ -1021,6 +1021,13 @@ module Aws::IAM
|
|
|
1021
1021
|
SENSITIVE: []
|
|
1022
1022
|
end
|
|
1023
1023
|
|
|
1024
|
+
class InlinePolicyIdentifierType
|
|
1025
|
+
attr_accessor policy_name: ::String
|
|
1026
|
+
attr_accessor attachment_type: ("user" | "group" | "role")
|
|
1027
|
+
attr_accessor attachment_name: ::String
|
|
1028
|
+
SENSITIVE: []
|
|
1029
|
+
end
|
|
1030
|
+
|
|
1024
1031
|
class InstanceProfile
|
|
1025
1032
|
attr_accessor path: ::String
|
|
1026
1033
|
attr_accessor instance_profile_name: ::String
|
|
@@ -1627,6 +1634,11 @@ module Aws::IAM
|
|
|
1627
1634
|
SENSITIVE: []
|
|
1628
1635
|
end
|
|
1629
1636
|
|
|
1637
|
+
class OrderedOrganizationPolicyType
|
|
1638
|
+
attr_accessor service_control_policy_input_list: ::Array[::String]
|
|
1639
|
+
SENSITIVE: []
|
|
1640
|
+
end
|
|
1641
|
+
|
|
1630
1642
|
class OrganizationNotFoundException < Aws::EmptyStructure
|
|
1631
1643
|
end
|
|
1632
1644
|
|
|
@@ -1704,6 +1716,23 @@ module Aws::IAM
|
|
|
1704
1716
|
SENSITIVE: []
|
|
1705
1717
|
end
|
|
1706
1718
|
|
|
1719
|
+
class PolicyIdentifier
|
|
1720
|
+
attr_accessor policy_type: ("inline" | "aws-managed" | "user-managed" | "permission-boundary" | "scp" | "rcp")
|
|
1721
|
+
attr_accessor policy_arn: ::String
|
|
1722
|
+
attr_accessor inline_policy_identifier: Types::InlinePolicyIdentifierType
|
|
1723
|
+
attr_accessor unknown: untyped
|
|
1724
|
+
SENSITIVE: []
|
|
1725
|
+
|
|
1726
|
+
class PolicyType < PolicyIdentifier
|
|
1727
|
+
end
|
|
1728
|
+
class PolicyArn < PolicyIdentifier
|
|
1729
|
+
end
|
|
1730
|
+
class InlinePolicyIdentifier < PolicyIdentifier
|
|
1731
|
+
end
|
|
1732
|
+
class Unknown < PolicyIdentifier
|
|
1733
|
+
end
|
|
1734
|
+
end
|
|
1735
|
+
|
|
1707
1736
|
class PolicyNotAttachableException
|
|
1708
1737
|
attr_accessor message: ::String
|
|
1709
1738
|
SENSITIVE: []
|
|
@@ -2003,6 +2032,7 @@ module Aws::IAM
|
|
|
2003
2032
|
class SimulateCustomPolicyRequest
|
|
2004
2033
|
attr_accessor policy_input_list: ::Array[::String]
|
|
2005
2034
|
attr_accessor permissions_boundary_policy_input_list: ::Array[::String]
|
|
2035
|
+
attr_accessor ordered_organization_policy_input_list: ::Array[Types::OrderedOrganizationPolicyType]
|
|
2006
2036
|
attr_accessor action_names: ::Array[::String]
|
|
2007
2037
|
attr_accessor resource_arns: ::Array[::String]
|
|
2008
2038
|
attr_accessor resource_policy: ::String
|
|
@@ -2026,6 +2056,7 @@ module Aws::IAM
|
|
|
2026
2056
|
attr_accessor policy_source_arn: ::String
|
|
2027
2057
|
attr_accessor policy_input_list: ::Array[::String]
|
|
2028
2058
|
attr_accessor permissions_boundary_policy_input_list: ::Array[::String]
|
|
2059
|
+
attr_accessor policy_exclusion_list: ::Array[Types::PolicyIdentifier]
|
|
2029
2060
|
attr_accessor action_names: ::Array[::String]
|
|
2030
2061
|
attr_accessor resource_arns: ::Array[::String]
|
|
2031
2062
|
attr_accessor resource_policy: ::String
|