aws-sdk-accessanalyzer 1.16.0 → 1.17.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.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -23,6 +23,266 @@ module Aws::AccessAnalyzer
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # Contains information about an access preview.
27
+ #
28
+ # @!attribute [rw] analyzer_arn
29
+ # The ARN of the analyzer used to generate the access preview.
30
+ # @return [String]
31
+ #
32
+ # @!attribute [rw] configurations
33
+ # A map of resource ARNs for the proposed resource configuration.
34
+ # @return [Hash<String,Types::Configuration>]
35
+ #
36
+ # @!attribute [rw] created_at
37
+ # The time at which the access preview was created.
38
+ # @return [Time]
39
+ #
40
+ # @!attribute [rw] id
41
+ # The unique ID for the access preview.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [rw] status
45
+ # The status of the access preview.
46
+ #
47
+ # * `Creating` - The access preview creation is in progress.
48
+ #
49
+ # * `Completed` - The access preview is complete. You can preview
50
+ # findings for external access to the resource.
51
+ #
52
+ # * `Failed` - The access preview creation has failed.
53
+ # @return [String]
54
+ #
55
+ # @!attribute [rw] status_reason
56
+ # Provides more details about the current status of the access
57
+ # preview.
58
+ #
59
+ # For example, if the creation of the access preview fails, a `Failed`
60
+ # status is returned. This failure can be due to an internal issue
61
+ # with the analysis or due to an invalid resource configuration.
62
+ # @return [Types::AccessPreviewStatusReason]
63
+ #
64
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AccessPreview AWS API Documentation
65
+ #
66
+ class AccessPreview < Struct.new(
67
+ :analyzer_arn,
68
+ :configurations,
69
+ :created_at,
70
+ :id,
71
+ :status,
72
+ :status_reason)
73
+ SENSITIVE = []
74
+ include Aws::Structure
75
+ end
76
+
77
+ # An access preview finding generated by the access preview.
78
+ #
79
+ # @!attribute [rw] action
80
+ # The action in the analyzed policy statement that an external
81
+ # principal has permission to perform.
82
+ # @return [Array<String>]
83
+ #
84
+ # @!attribute [rw] change_type
85
+ # Provides context on how the access preview finding compares to
86
+ # existing access identified in Access Analyzer.
87
+ #
88
+ # * `New` - The finding is for newly-introduced access.
89
+ #
90
+ # * `Unchanged` - The preview finding is an existing finding that
91
+ # would remain unchanged.
92
+ #
93
+ # * `Changed` - The preview finding is an existing finding with a
94
+ # change in status.
95
+ #
96
+ # For example, a `Changed` finding with preview status `Resolved` and
97
+ # existing status `Active` indicates the existing `Active` finding
98
+ # would become `Resolved` as a result of the proposed permissions
99
+ # change.
100
+ # @return [String]
101
+ #
102
+ # @!attribute [rw] condition
103
+ # The condition in the analyzed policy statement that resulted in a
104
+ # finding.
105
+ # @return [Hash<String,String>]
106
+ #
107
+ # @!attribute [rw] created_at
108
+ # The time at which the access preview finding was created.
109
+ # @return [Time]
110
+ #
111
+ # @!attribute [rw] error
112
+ # An error.
113
+ # @return [String]
114
+ #
115
+ # @!attribute [rw] existing_finding_id
116
+ # The existing ID of the finding in Access Analyzer, provided only for
117
+ # existing findings.
118
+ # @return [String]
119
+ #
120
+ # @!attribute [rw] existing_finding_status
121
+ # The existing status of the finding, provided only for existing
122
+ # findings.
123
+ # @return [String]
124
+ #
125
+ # @!attribute [rw] id
126
+ # The ID of the access preview finding. This ID uniquely identifies
127
+ # the element in the list of access preview findings and is not
128
+ # related to the finding ID in Access Analyzer.
129
+ # @return [String]
130
+ #
131
+ # @!attribute [rw] is_public
132
+ # Indicates whether the policy that generated the finding allows
133
+ # public access to the resource.
134
+ # @return [Boolean]
135
+ #
136
+ # @!attribute [rw] principal
137
+ # The external principal that has access to a resource within the zone
138
+ # of trust.
139
+ # @return [Hash<String,String>]
140
+ #
141
+ # @!attribute [rw] resource
142
+ # The resource that an external principal has access to. This is the
143
+ # resource associated with the access preview.
144
+ # @return [String]
145
+ #
146
+ # @!attribute [rw] resource_owner_account
147
+ # The AWS account ID that owns the resource. For most AWS resources,
148
+ # the owning account is the account in which the resource was created.
149
+ # @return [String]
150
+ #
151
+ # @!attribute [rw] resource_type
152
+ # The type of the resource that can be accessed in the finding.
153
+ # @return [String]
154
+ #
155
+ # @!attribute [rw] sources
156
+ # The sources of the finding. This indicates how the access that
157
+ # generated the finding is granted. It is populated for Amazon S3
158
+ # bucket findings.
159
+ # @return [Array<Types::FindingSource>]
160
+ #
161
+ # @!attribute [rw] status
162
+ # The preview status of the finding. This is what the status of the
163
+ # finding would be after permissions deployment. For example, a
164
+ # `Changed` finding with preview status `Resolved` and existing status
165
+ # `Active` indicates the existing `Active` finding would become
166
+ # `Resolved` as a result of the proposed permissions change.
167
+ # @return [String]
168
+ #
169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AccessPreviewFinding AWS API Documentation
170
+ #
171
+ class AccessPreviewFinding < Struct.new(
172
+ :action,
173
+ :change_type,
174
+ :condition,
175
+ :created_at,
176
+ :error,
177
+ :existing_finding_id,
178
+ :existing_finding_status,
179
+ :id,
180
+ :is_public,
181
+ :principal,
182
+ :resource,
183
+ :resource_owner_account,
184
+ :resource_type,
185
+ :sources,
186
+ :status)
187
+ SENSITIVE = []
188
+ include Aws::Structure
189
+ end
190
+
191
+ # Provides more details about the current status of the access preview.
192
+ # For example, if the creation of the access preview fails, a `Failed`
193
+ # status is returned. This failure can be due to an internal issue with
194
+ # the analysis or due to an invalid proposed resource configuration.
195
+ #
196
+ # @!attribute [rw] code
197
+ # The reason code for the current status of the access preview.
198
+ # @return [String]
199
+ #
200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AccessPreviewStatusReason AWS API Documentation
201
+ #
202
+ class AccessPreviewStatusReason < Struct.new(
203
+ :code)
204
+ SENSITIVE = []
205
+ include Aws::Structure
206
+ end
207
+
208
+ # Contains a summary of information about an access preview.
209
+ #
210
+ # @!attribute [rw] analyzer_arn
211
+ # The ARN of the analyzer used to generate the access preview.
212
+ # @return [String]
213
+ #
214
+ # @!attribute [rw] created_at
215
+ # The time at which the access preview was created.
216
+ # @return [Time]
217
+ #
218
+ # @!attribute [rw] id
219
+ # The unique ID for the access preview.
220
+ # @return [String]
221
+ #
222
+ # @!attribute [rw] status
223
+ # The status of the access preview.
224
+ #
225
+ # * `Creating` - The access preview creation is in progress.
226
+ #
227
+ # * `Completed` - The access preview is complete and previews the
228
+ # findings for external access to the resource.
229
+ #
230
+ # * `Failed` - The access preview creation has failed.
231
+ # @return [String]
232
+ #
233
+ # @!attribute [rw] status_reason
234
+ # Provides more details about the current status of the access
235
+ # preview. For example, if the creation of the access preview fails, a
236
+ # `Failed` status is returned. This failure can be due to an internal
237
+ # issue with the analysis or due to an invalid proposed resource
238
+ # configuration.
239
+ # @return [Types::AccessPreviewStatusReason]
240
+ #
241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AccessPreviewSummary AWS API Documentation
242
+ #
243
+ class AccessPreviewSummary < Struct.new(
244
+ :analyzer_arn,
245
+ :created_at,
246
+ :id,
247
+ :status,
248
+ :status_reason)
249
+ SENSITIVE = []
250
+ include Aws::Structure
251
+ end
252
+
253
+ # You specify each grantee as a type-value pair using one of these
254
+ # types. You can specify only one type of grantee. For more information,
255
+ # see [PutBucketAcl][1].
256
+ #
257
+ #
258
+ #
259
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html
260
+ #
261
+ # @note When making an API call, you may pass AclGrantee
262
+ # data as a hash:
263
+ #
264
+ # {
265
+ # id: "AclCanonicalId",
266
+ # uri: "AclUri",
267
+ # }
268
+ #
269
+ # @!attribute [rw] id
270
+ # The value specified is the canonical user ID of an AWS account.
271
+ # @return [String]
272
+ #
273
+ # @!attribute [rw] uri
274
+ # Used for granting permissions to a predefined group.
275
+ # @return [String]
276
+ #
277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AclGrantee AWS API Documentation
278
+ #
279
+ class AclGrantee < Struct.new(
280
+ :id,
281
+ :uri)
282
+ SENSITIVE = []
283
+ include Aws::Structure
284
+ end
285
+
26
286
  # Contains details about the analyzed resource.
27
287
  #
28
288
  # @!attribute [rw] actions
@@ -150,7 +410,7 @@ module Aws::AccessAnalyzer
150
410
  # @!attribute [rw] status_reason
151
411
  # The `statusReason` provides more details about the current status of
152
412
  # the analyzer. For example, if the creation for the analyzer fails, a
153
- # `Failed` status is displayed. For an analyzer with organization as
413
+ # `Failed` status is returned. For an analyzer with organization as
154
414
  # the type, this failure can be due to an issue with creating the
155
415
  # service-linked roles required in the member accounts of the AWS
156
416
  # organization.
@@ -246,6 +506,111 @@ module Aws::AccessAnalyzer
246
506
  include Aws::Structure
247
507
  end
248
508
 
509
+ # Access control configuration structures for your resource. You specify
510
+ # the configuration as a type-value pair. You can specify only one type
511
+ # of access control configuration.
512
+ #
513
+ # @note When making an API call, you may pass Configuration
514
+ # data as a hash:
515
+ #
516
+ # {
517
+ # iam_role: {
518
+ # trust_policy: "IamTrustPolicy",
519
+ # },
520
+ # kms_key: {
521
+ # grants: [
522
+ # {
523
+ # constraints: {
524
+ # encryption_context_equals: {
525
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
526
+ # },
527
+ # encryption_context_subset: {
528
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
529
+ # },
530
+ # },
531
+ # grantee_principal: "GranteePrincipal", # required
532
+ # issuing_account: "IssuingAccount", # required
533
+ # operations: ["CreateGrant"], # required, accepts CreateGrant, Decrypt, DescribeKey, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateDataKeyWithoutPlaintext, GetPublicKey, ReEncryptFrom, ReEncryptTo, RetireGrant, Sign, Verify
534
+ # retiring_principal: "RetiringPrincipal",
535
+ # },
536
+ # ],
537
+ # key_policies: {
538
+ # "PolicyName" => "KmsKeyPolicy",
539
+ # },
540
+ # },
541
+ # s3_bucket: {
542
+ # access_points: {
543
+ # "AccessPointArn" => {
544
+ # access_point_policy: "AccessPointPolicy",
545
+ # network_origin: {
546
+ # internet_configuration: {
547
+ # },
548
+ # vpc_configuration: {
549
+ # vpc_id: "VpcId", # required
550
+ # },
551
+ # },
552
+ # public_access_block: {
553
+ # ignore_public_acls: false, # required
554
+ # restrict_public_buckets: false, # required
555
+ # },
556
+ # },
557
+ # },
558
+ # bucket_acl_grants: [
559
+ # {
560
+ # grantee: { # required
561
+ # id: "AclCanonicalId",
562
+ # uri: "AclUri",
563
+ # },
564
+ # permission: "READ", # required, accepts READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
565
+ # },
566
+ # ],
567
+ # bucket_policy: "S3BucketPolicy",
568
+ # bucket_public_access_block: {
569
+ # ignore_public_acls: false, # required
570
+ # restrict_public_buckets: false, # required
571
+ # },
572
+ # },
573
+ # secrets_manager_secret: {
574
+ # kms_key_id: "SecretsManagerSecretKmsId",
575
+ # secret_policy: "SecretsManagerSecretPolicy",
576
+ # },
577
+ # sqs_queue: {
578
+ # queue_policy: "SqsQueuePolicy",
579
+ # },
580
+ # }
581
+ #
582
+ # @!attribute [rw] iam_role
583
+ # The access control configuration is for an IAM role.
584
+ # @return [Types::IamRoleConfiguration]
585
+ #
586
+ # @!attribute [rw] kms_key
587
+ # The access control configuration is for a KMS key.
588
+ # @return [Types::KmsKeyConfiguration]
589
+ #
590
+ # @!attribute [rw] s3_bucket
591
+ # The access control configuration is for an Amazon S3 Bucket.
592
+ # @return [Types::S3BucketConfiguration]
593
+ #
594
+ # @!attribute [rw] secrets_manager_secret
595
+ # The access control configuration is for a Secrets Manager secret.
596
+ # @return [Types::SecretsManagerSecretConfiguration]
597
+ #
598
+ # @!attribute [rw] sqs_queue
599
+ # The access control configuration is for an SQS queue.
600
+ # @return [Types::SqsQueueConfiguration]
601
+ #
602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/Configuration AWS API Documentation
603
+ #
604
+ class Configuration < Struct.new(
605
+ :iam_role,
606
+ :kms_key,
607
+ :s3_bucket,
608
+ :secrets_manager_secret,
609
+ :sqs_queue)
610
+ SENSITIVE = []
611
+ include Aws::Structure
612
+ end
613
+
249
614
  # A conflict exception error.
250
615
  #
251
616
  # @!attribute [rw] message
@@ -269,6 +634,128 @@ module Aws::AccessAnalyzer
269
634
  include Aws::Structure
270
635
  end
271
636
 
637
+ # @note When making an API call, you may pass CreateAccessPreviewRequest
638
+ # data as a hash:
639
+ #
640
+ # {
641
+ # analyzer_arn: "AnalyzerArn", # required
642
+ # client_token: "String",
643
+ # configurations: { # required
644
+ # "ConfigurationsMapKey" => {
645
+ # iam_role: {
646
+ # trust_policy: "IamTrustPolicy",
647
+ # },
648
+ # kms_key: {
649
+ # grants: [
650
+ # {
651
+ # constraints: {
652
+ # encryption_context_equals: {
653
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
654
+ # },
655
+ # encryption_context_subset: {
656
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
657
+ # },
658
+ # },
659
+ # grantee_principal: "GranteePrincipal", # required
660
+ # issuing_account: "IssuingAccount", # required
661
+ # operations: ["CreateGrant"], # required, accepts CreateGrant, Decrypt, DescribeKey, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateDataKeyWithoutPlaintext, GetPublicKey, ReEncryptFrom, ReEncryptTo, RetireGrant, Sign, Verify
662
+ # retiring_principal: "RetiringPrincipal",
663
+ # },
664
+ # ],
665
+ # key_policies: {
666
+ # "PolicyName" => "KmsKeyPolicy",
667
+ # },
668
+ # },
669
+ # s3_bucket: {
670
+ # access_points: {
671
+ # "AccessPointArn" => {
672
+ # access_point_policy: "AccessPointPolicy",
673
+ # network_origin: {
674
+ # internet_configuration: {
675
+ # },
676
+ # vpc_configuration: {
677
+ # vpc_id: "VpcId", # required
678
+ # },
679
+ # },
680
+ # public_access_block: {
681
+ # ignore_public_acls: false, # required
682
+ # restrict_public_buckets: false, # required
683
+ # },
684
+ # },
685
+ # },
686
+ # bucket_acl_grants: [
687
+ # {
688
+ # grantee: { # required
689
+ # id: "AclCanonicalId",
690
+ # uri: "AclUri",
691
+ # },
692
+ # permission: "READ", # required, accepts READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
693
+ # },
694
+ # ],
695
+ # bucket_policy: "S3BucketPolicy",
696
+ # bucket_public_access_block: {
697
+ # ignore_public_acls: false, # required
698
+ # restrict_public_buckets: false, # required
699
+ # },
700
+ # },
701
+ # secrets_manager_secret: {
702
+ # kms_key_id: "SecretsManagerSecretKmsId",
703
+ # secret_policy: "SecretsManagerSecretPolicy",
704
+ # },
705
+ # sqs_queue: {
706
+ # queue_policy: "SqsQueuePolicy",
707
+ # },
708
+ # },
709
+ # },
710
+ # }
711
+ #
712
+ # @!attribute [rw] analyzer_arn
713
+ # The [ARN of the account analyzer][1] used to generate the access
714
+ # preview. You can only create an access preview for analyzers with an
715
+ # `Account` type and `Active` status.
716
+ #
717
+ #
718
+ #
719
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
720
+ # @return [String]
721
+ #
722
+ # @!attribute [rw] client_token
723
+ # A client token.
724
+ #
725
+ # **A suitable default value is auto-generated.** You should normally
726
+ # not need to pass this option.
727
+ # @return [String]
728
+ #
729
+ # @!attribute [rw] configurations
730
+ # Access control configuration for your resource that is used to
731
+ # generate the access preview. The access preview includes findings
732
+ # for external access allowed to the resource with the proposed access
733
+ # control configuration. The configuration must contain exactly one
734
+ # element.
735
+ # @return [Hash<String,Types::Configuration>]
736
+ #
737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAccessPreviewRequest AWS API Documentation
738
+ #
739
+ class CreateAccessPreviewRequest < Struct.new(
740
+ :analyzer_arn,
741
+ :client_token,
742
+ :configurations)
743
+ SENSITIVE = []
744
+ include Aws::Structure
745
+ end
746
+
747
+ # @!attribute [rw] id
748
+ # The unique ID for the access preview.
749
+ # @return [String]
750
+ #
751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAccessPreviewResponse AWS API Documentation
752
+ #
753
+ class CreateAccessPreviewResponse < Struct.new(
754
+ :id)
755
+ SENSITIVE = []
756
+ include Aws::Structure
757
+ end
758
+
272
759
  # Creates an analyzer.
273
760
  #
274
761
  # @note When making an API call, you may pass CreateAnalyzerRequest
@@ -556,7 +1043,7 @@ module Aws::AccessAnalyzer
556
1043
  # @return [String]
557
1044
  #
558
1045
  # @!attribute [rw] resource_type
559
- # The type of the resource reported in the finding.
1046
+ # The type of the resource identified in the finding.
560
1047
  # @return [String]
561
1048
  #
562
1049
  # @!attribute [rw] sources
@@ -717,37 +1204,82 @@ module Aws::AccessAnalyzer
717
1204
  include Aws::Structure
718
1205
  end
719
1206
 
720
- # Retrieves an analyzed resource.
721
- #
722
- # @note When making an API call, you may pass GetAnalyzedResourceRequest
1207
+ # @note When making an API call, you may pass GetAccessPreviewRequest
723
1208
  # data as a hash:
724
1209
  #
725
1210
  # {
1211
+ # access_preview_id: "AccessPreviewId", # required
726
1212
  # analyzer_arn: "AnalyzerArn", # required
727
- # resource_arn: "ResourceArn", # required
728
1213
  # }
729
1214
  #
730
- # @!attribute [rw] analyzer_arn
731
- # The ARN of the analyzer to retrieve information from.
1215
+ # @!attribute [rw] access_preview_id
1216
+ # The unique ID for the access preview.
732
1217
  # @return [String]
733
1218
  #
734
- # @!attribute [rw] resource_arn
735
- # The ARN of the resource to retrieve information about.
1219
+ # @!attribute [rw] analyzer_arn
1220
+ # The [ARN of the analyzer][1] used to generate the access preview.
1221
+ #
1222
+ #
1223
+ #
1224
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
736
1225
  # @return [String]
737
1226
  #
738
- # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzedResourceRequest AWS API Documentation
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreviewRequest AWS API Documentation
739
1228
  #
740
- class GetAnalyzedResourceRequest < Struct.new(
741
- :analyzer_arn,
742
- :resource_arn)
1229
+ class GetAccessPreviewRequest < Struct.new(
1230
+ :access_preview_id,
1231
+ :analyzer_arn)
743
1232
  SENSITIVE = []
744
1233
  include Aws::Structure
745
1234
  end
746
1235
 
747
- # The response to the request.
1236
+ # @!attribute [rw] access_preview
1237
+ # An object that contains information about the access preview.
1238
+ # @return [Types::AccessPreview]
748
1239
  #
749
- # @!attribute [rw] resource
750
- # An `AnalyedResource` object that contains information that Access
1240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreviewResponse AWS API Documentation
1241
+ #
1242
+ class GetAccessPreviewResponse < Struct.new(
1243
+ :access_preview)
1244
+ SENSITIVE = []
1245
+ include Aws::Structure
1246
+ end
1247
+
1248
+ # Retrieves an analyzed resource.
1249
+ #
1250
+ # @note When making an API call, you may pass GetAnalyzedResourceRequest
1251
+ # data as a hash:
1252
+ #
1253
+ # {
1254
+ # analyzer_arn: "AnalyzerArn", # required
1255
+ # resource_arn: "ResourceArn", # required
1256
+ # }
1257
+ #
1258
+ # @!attribute [rw] analyzer_arn
1259
+ # The [ARN of the analyzer][1] to retrieve information from.
1260
+ #
1261
+ #
1262
+ #
1263
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1264
+ # @return [String]
1265
+ #
1266
+ # @!attribute [rw] resource_arn
1267
+ # The ARN of the resource to retrieve information about.
1268
+ # @return [String]
1269
+ #
1270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzedResourceRequest AWS API Documentation
1271
+ #
1272
+ class GetAnalyzedResourceRequest < Struct.new(
1273
+ :analyzer_arn,
1274
+ :resource_arn)
1275
+ SENSITIVE = []
1276
+ include Aws::Structure
1277
+ end
1278
+
1279
+ # The response to the request.
1280
+ #
1281
+ # @!attribute [rw] resource
1282
+ # An `AnalyzedResource` object that contains information that Access
751
1283
  # Analyzer found when it analyzed the resource.
752
1284
  # @return [Types::AnalyzedResource]
753
1285
  #
@@ -847,7 +1379,11 @@ module Aws::AccessAnalyzer
847
1379
  # }
848
1380
  #
849
1381
  # @!attribute [rw] analyzer_arn
850
- # The ARN of the analyzer that generated the finding.
1382
+ # The [ARN of the analyzer][1] that generated the finding.
1383
+ #
1384
+ #
1385
+ #
1386
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
851
1387
  # @return [String]
852
1388
  #
853
1389
  # @!attribute [rw] id
@@ -877,6 +1413,39 @@ module Aws::AccessAnalyzer
877
1413
  include Aws::Structure
878
1414
  end
879
1415
 
1416
+ # The proposed access control configuration for an IAM role. You can
1417
+ # propose a configuration for a new IAM role or an existing IAM role
1418
+ # that you own by specifying the trust policy. If the configuration is
1419
+ # for a new IAM role, you must specify the trust policy. If the
1420
+ # configuration is for an existing IAM role that you own and you do not
1421
+ # propose the trust policy, the access preview uses the existing trust
1422
+ # policy for the role. The proposed trust policy cannot be an empty
1423
+ # string. For more information about role trust policy limits, see [IAM
1424
+ # and STS quotas][1].
1425
+ #
1426
+ #
1427
+ #
1428
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html
1429
+ #
1430
+ # @note When making an API call, you may pass IamRoleConfiguration
1431
+ # data as a hash:
1432
+ #
1433
+ # {
1434
+ # trust_policy: "IamTrustPolicy",
1435
+ # }
1436
+ #
1437
+ # @!attribute [rw] trust_policy
1438
+ # The proposed trust policy for the IAM role.
1439
+ # @return [String]
1440
+ #
1441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/IamRoleConfiguration AWS API Documentation
1442
+ #
1443
+ class IamRoleConfiguration < Struct.new(
1444
+ :trust_policy)
1445
+ SENSITIVE = []
1446
+ include Aws::Structure
1447
+ end
1448
+
880
1449
  # An criterion statement in an archive rule. Each archive rule may have
881
1450
  # multiple criteria.
882
1451
  #
@@ -930,6 +1499,337 @@ module Aws::AccessAnalyzer
930
1499
  include Aws::Structure
931
1500
  end
932
1501
 
1502
+ # This configuration sets the Amazon S3 access point network origin to
1503
+ # `Internet`.
1504
+ #
1505
+ # @api private
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InternetConfiguration AWS API Documentation
1508
+ #
1509
+ class InternetConfiguration < Aws::EmptyStructure; end
1510
+
1511
+ # A proposed grant configuration for a KMS key. For more information,
1512
+ # see [CreateGrant][1].
1513
+ #
1514
+ #
1515
+ #
1516
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html
1517
+ #
1518
+ # @note When making an API call, you may pass KmsGrantConfiguration
1519
+ # data as a hash:
1520
+ #
1521
+ # {
1522
+ # constraints: {
1523
+ # encryption_context_equals: {
1524
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1525
+ # },
1526
+ # encryption_context_subset: {
1527
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1528
+ # },
1529
+ # },
1530
+ # grantee_principal: "GranteePrincipal", # required
1531
+ # issuing_account: "IssuingAccount", # required
1532
+ # operations: ["CreateGrant"], # required, accepts CreateGrant, Decrypt, DescribeKey, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateDataKeyWithoutPlaintext, GetPublicKey, ReEncryptFrom, ReEncryptTo, RetireGrant, Sign, Verify
1533
+ # retiring_principal: "RetiringPrincipal",
1534
+ # }
1535
+ #
1536
+ # @!attribute [rw] constraints
1537
+ # Use this structure to propose allowing [cryptographic operations][1]
1538
+ # in the grant only when the operation request includes the specified
1539
+ # [encryption context][2].
1540
+ #
1541
+ #
1542
+ #
1543
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1544
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1545
+ # @return [Types::KmsGrantConstraints]
1546
+ #
1547
+ # @!attribute [rw] grantee_principal
1548
+ # The principal that is given permission to perform the operations
1549
+ # that the grant permits.
1550
+ # @return [String]
1551
+ #
1552
+ # @!attribute [rw] issuing_account
1553
+ # The AWS account under which the grant was issued. The account is
1554
+ # used to propose KMS grants issued by accounts other than the owner
1555
+ # of the key.
1556
+ # @return [String]
1557
+ #
1558
+ # @!attribute [rw] operations
1559
+ # A list of operations that the grant permits.
1560
+ # @return [Array<String>]
1561
+ #
1562
+ # @!attribute [rw] retiring_principal
1563
+ # The principal that is given permission to retire the grant by using
1564
+ # [RetireGrant][1] operation.
1565
+ #
1566
+ #
1567
+ #
1568
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html
1569
+ # @return [String]
1570
+ #
1571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/KmsGrantConfiguration AWS API Documentation
1572
+ #
1573
+ class KmsGrantConfiguration < Struct.new(
1574
+ :constraints,
1575
+ :grantee_principal,
1576
+ :issuing_account,
1577
+ :operations,
1578
+ :retiring_principal)
1579
+ SENSITIVE = []
1580
+ include Aws::Structure
1581
+ end
1582
+
1583
+ # Use this structure to propose allowing [cryptographic operations][1]
1584
+ # in the grant only when the operation request includes the specified
1585
+ # [encryption context][2]. You can specify only one type of encryption
1586
+ # context. An empty map is treated as not specified. For more
1587
+ # information, see [GrantConstraints][3].
1588
+ #
1589
+ #
1590
+ #
1591
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1592
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1593
+ # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html
1594
+ #
1595
+ # @note When making an API call, you may pass KmsGrantConstraints
1596
+ # data as a hash:
1597
+ #
1598
+ # {
1599
+ # encryption_context_equals: {
1600
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1601
+ # },
1602
+ # encryption_context_subset: {
1603
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1604
+ # },
1605
+ # }
1606
+ #
1607
+ # @!attribute [rw] encryption_context_equals
1608
+ # A list of key-value pairs that must match the encryption context in
1609
+ # the [cryptographic operation][1] request. The grant allows the
1610
+ # operation only when the encryption context in the request is the
1611
+ # same as the encryption context specified in this constraint.
1612
+ #
1613
+ #
1614
+ #
1615
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1616
+ # @return [Hash<String,String>]
1617
+ #
1618
+ # @!attribute [rw] encryption_context_subset
1619
+ # A list of key-value pairs that must be included in the encryption
1620
+ # context of the [cryptographic operation][1] request. The grant
1621
+ # allows the cryptographic operation only when the encryption context
1622
+ # in the request includes the key-value pairs specified in this
1623
+ # constraint, although it can include additional key-value pairs.
1624
+ #
1625
+ #
1626
+ #
1627
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1628
+ # @return [Hash<String,String>]
1629
+ #
1630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/KmsGrantConstraints AWS API Documentation
1631
+ #
1632
+ class KmsGrantConstraints < Struct.new(
1633
+ :encryption_context_equals,
1634
+ :encryption_context_subset)
1635
+ SENSITIVE = []
1636
+ include Aws::Structure
1637
+ end
1638
+
1639
+ # Proposed access control configuration for a KMS key. You can propose a
1640
+ # configuration for a new KMS key or an existing KMS key that you own by
1641
+ # specifying the key policy and KMS grant configuration. If the
1642
+ # configuration is for an existing key and you do not specify the key
1643
+ # policy, the access preview uses the existing policy for the key. If
1644
+ # the access preview is for a new resource and you do not specify the
1645
+ # key policy, then the access preview uses the default key policy. The
1646
+ # proposed key policy cannot be an empty string. For more information,
1647
+ # see [Default key policy][1]. For more information about key policy
1648
+ # limits, see [Resource quotas][2].
1649
+ #
1650
+ #
1651
+ #
1652
+ #
1653
+ #
1654
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1655
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html
1656
+ #
1657
+ # @note When making an API call, you may pass KmsKeyConfiguration
1658
+ # data as a hash:
1659
+ #
1660
+ # {
1661
+ # grants: [
1662
+ # {
1663
+ # constraints: {
1664
+ # encryption_context_equals: {
1665
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1666
+ # },
1667
+ # encryption_context_subset: {
1668
+ # "KmsConstraintsKey" => "KmsConstraintsValue",
1669
+ # },
1670
+ # },
1671
+ # grantee_principal: "GranteePrincipal", # required
1672
+ # issuing_account: "IssuingAccount", # required
1673
+ # operations: ["CreateGrant"], # required, accepts CreateGrant, Decrypt, DescribeKey, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateDataKeyWithoutPlaintext, GetPublicKey, ReEncryptFrom, ReEncryptTo, RetireGrant, Sign, Verify
1674
+ # retiring_principal: "RetiringPrincipal",
1675
+ # },
1676
+ # ],
1677
+ # key_policies: {
1678
+ # "PolicyName" => "KmsKeyPolicy",
1679
+ # },
1680
+ # }
1681
+ #
1682
+ # @!attribute [rw] grants
1683
+ # A list of proposed grant configurations for the KMS key. If the
1684
+ # proposed grant configuration is for an existing key, the access
1685
+ # preview uses the proposed list of grant configurations in place of
1686
+ # the existing grants. Otherwise, the access preview uses the existing
1687
+ # grants for the key.
1688
+ # @return [Array<Types::KmsGrantConfiguration>]
1689
+ #
1690
+ # @!attribute [rw] key_policies
1691
+ # Resource policy configuration for the KMS key. The only valid value
1692
+ # for the name of the key policy is `default`. For more information,
1693
+ # see [Default key policy][1].
1694
+ #
1695
+ #
1696
+ #
1697
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1698
+ # @return [Hash<String,String>]
1699
+ #
1700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/KmsKeyConfiguration AWS API Documentation
1701
+ #
1702
+ class KmsKeyConfiguration < Struct.new(
1703
+ :grants,
1704
+ :key_policies)
1705
+ SENSITIVE = []
1706
+ include Aws::Structure
1707
+ end
1708
+
1709
+ # @note When making an API call, you may pass ListAccessPreviewFindingsRequest
1710
+ # data as a hash:
1711
+ #
1712
+ # {
1713
+ # access_preview_id: "AccessPreviewId", # required
1714
+ # analyzer_arn: "AnalyzerArn", # required
1715
+ # filter: {
1716
+ # "String" => {
1717
+ # contains: ["String"],
1718
+ # eq: ["String"],
1719
+ # exists: false,
1720
+ # neq: ["String"],
1721
+ # },
1722
+ # },
1723
+ # max_results: 1,
1724
+ # next_token: "Token",
1725
+ # }
1726
+ #
1727
+ # @!attribute [rw] access_preview_id
1728
+ # The unique ID for the access preview.
1729
+ # @return [String]
1730
+ #
1731
+ # @!attribute [rw] analyzer_arn
1732
+ # The [ARN of the analyzer][1] used to generate the access.
1733
+ #
1734
+ #
1735
+ #
1736
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1737
+ # @return [String]
1738
+ #
1739
+ # @!attribute [rw] filter
1740
+ # Criteria to filter the returned findings.
1741
+ # @return [Hash<String,Types::Criterion>]
1742
+ #
1743
+ # @!attribute [rw] max_results
1744
+ # The maximum number of results to return in the response.
1745
+ # @return [Integer]
1746
+ #
1747
+ # @!attribute [rw] next_token
1748
+ # A token used for pagination of results returned.
1749
+ # @return [String]
1750
+ #
1751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindingsRequest AWS API Documentation
1752
+ #
1753
+ class ListAccessPreviewFindingsRequest < Struct.new(
1754
+ :access_preview_id,
1755
+ :analyzer_arn,
1756
+ :filter,
1757
+ :max_results,
1758
+ :next_token)
1759
+ SENSITIVE = []
1760
+ include Aws::Structure
1761
+ end
1762
+
1763
+ # @!attribute [rw] findings
1764
+ # A list of access preview findings that match the specified filter
1765
+ # criteria.
1766
+ # @return [Array<Types::AccessPreviewFinding>]
1767
+ #
1768
+ # @!attribute [rw] next_token
1769
+ # A token used for pagination of results returned.
1770
+ # @return [String]
1771
+ #
1772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindingsResponse AWS API Documentation
1773
+ #
1774
+ class ListAccessPreviewFindingsResponse < Struct.new(
1775
+ :findings,
1776
+ :next_token)
1777
+ SENSITIVE = []
1778
+ include Aws::Structure
1779
+ end
1780
+
1781
+ # @note When making an API call, you may pass ListAccessPreviewsRequest
1782
+ # data as a hash:
1783
+ #
1784
+ # {
1785
+ # analyzer_arn: "AnalyzerArn", # required
1786
+ # max_results: 1,
1787
+ # next_token: "Token",
1788
+ # }
1789
+ #
1790
+ # @!attribute [rw] analyzer_arn
1791
+ # The [ARN of the analyzer][1] used to generate the access preview.
1792
+ #
1793
+ #
1794
+ #
1795
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1796
+ # @return [String]
1797
+ #
1798
+ # @!attribute [rw] max_results
1799
+ # The maximum number of results to return in the response.
1800
+ # @return [Integer]
1801
+ #
1802
+ # @!attribute [rw] next_token
1803
+ # A token used for pagination of results returned.
1804
+ # @return [String]
1805
+ #
1806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewsRequest AWS API Documentation
1807
+ #
1808
+ class ListAccessPreviewsRequest < Struct.new(
1809
+ :analyzer_arn,
1810
+ :max_results,
1811
+ :next_token)
1812
+ SENSITIVE = []
1813
+ include Aws::Structure
1814
+ end
1815
+
1816
+ # @!attribute [rw] access_previews
1817
+ # A list of access previews retrieved for the analyzer.
1818
+ # @return [Array<Types::AccessPreviewSummary>]
1819
+ #
1820
+ # @!attribute [rw] next_token
1821
+ # A token used for pagination of results returned.
1822
+ # @return [String]
1823
+ #
1824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewsResponse AWS API Documentation
1825
+ #
1826
+ class ListAccessPreviewsResponse < Struct.new(
1827
+ :access_previews,
1828
+ :next_token)
1829
+ SENSITIVE = []
1830
+ include Aws::Structure
1831
+ end
1832
+
933
1833
  # Retrieves a list of resources that have been analyzed.
934
1834
  #
935
1835
  # @note When making an API call, you may pass ListAnalyzedResourcesRequest
@@ -943,8 +1843,12 @@ module Aws::AccessAnalyzer
943
1843
  # }
944
1844
  #
945
1845
  # @!attribute [rw] analyzer_arn
946
- # The ARN of the analyzer to retrieve a list of analyzed resources
947
- # from.
1846
+ # The [ARN of the analyzer][1] to retrieve a list of analyzed
1847
+ # resources from.
1848
+ #
1849
+ #
1850
+ #
1851
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
948
1852
  # @return [String]
949
1853
  #
950
1854
  # @!attribute [rw] max_results
@@ -1117,7 +2021,11 @@ module Aws::AccessAnalyzer
1117
2021
  # }
1118
2022
  #
1119
2023
  # @!attribute [rw] analyzer_arn
1120
- # The ARN of the analyzer to retrieve findings from.
2024
+ # The [ARN of the analyzer][1] to retrieve findings from.
2025
+ #
2026
+ #
2027
+ #
2028
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1121
2029
  # @return [String]
1122
2030
  #
1123
2031
  # @!attribute [rw] filter
@@ -1203,6 +2111,52 @@ module Aws::AccessAnalyzer
1203
2111
  include Aws::Structure
1204
2112
  end
1205
2113
 
2114
+ # The proposed `InternetConfiguration` or `VpcConfiguration` to apply to
2115
+ # the Amazon S3 Access point. You can make the access point accessible
2116
+ # from the internet, or you can specify that all requests made through
2117
+ # that access point must originate from a specific virtual private cloud
2118
+ # (VPC). You can specify only one type of network configuration. For
2119
+ # more information, see [Creating access points][1].
2120
+ #
2121
+ #
2122
+ #
2123
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html
2124
+ #
2125
+ # @note When making an API call, you may pass NetworkOriginConfiguration
2126
+ # data as a hash:
2127
+ #
2128
+ # {
2129
+ # internet_configuration: {
2130
+ # },
2131
+ # vpc_configuration: {
2132
+ # vpc_id: "VpcId", # required
2133
+ # },
2134
+ # }
2135
+ #
2136
+ # @!attribute [rw] internet_configuration
2137
+ # The configuration for the Amazon S3 access point with an `Internet`
2138
+ # origin.
2139
+ # @return [Types::InternetConfiguration]
2140
+ #
2141
+ # @!attribute [rw] vpc_configuration
2142
+ # The proposed virtual private cloud (VPC) configuration for the
2143
+ # Amazon S3 access point. For more information, see
2144
+ # [VpcConfiguration][1].
2145
+ #
2146
+ #
2147
+ #
2148
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html
2149
+ # @return [Types::VpcConfiguration]
2150
+ #
2151
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/NetworkOriginConfiguration AWS API Documentation
2152
+ #
2153
+ class NetworkOriginConfiguration < Struct.new(
2154
+ :internet_configuration,
2155
+ :vpc_configuration)
2156
+ SENSITIVE = []
2157
+ include Aws::Structure
2158
+ end
2159
+
1206
2160
  # The specified resource could not be found.
1207
2161
  #
1208
2162
  # @!attribute [rw] message
@@ -1226,6 +2180,278 @@ module Aws::AccessAnalyzer
1226
2180
  include Aws::Structure
1227
2181
  end
1228
2182
 
2183
+ # The configuration for an Amazon S3 access point for the bucket. You
2184
+ # can propose up to 10 access points per bucket. If the proposed Amazon
2185
+ # S3 access point configuration is for an existing bucket, the access
2186
+ # preview uses the proposed access point configuration in place of the
2187
+ # existing access points. To propose an access point without a policy,
2188
+ # you can provide an empty string as the access point policy. For more
2189
+ # information, see [Creating access points][1]. For more information
2190
+ # about access point policy limits, see [Access points restrictions and
2191
+ # limitations][2].
2192
+ #
2193
+ #
2194
+ #
2195
+ # [1]: https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html
2196
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points-restrictions-limitations.html
2197
+ #
2198
+ # @note When making an API call, you may pass S3AccessPointConfiguration
2199
+ # data as a hash:
2200
+ #
2201
+ # {
2202
+ # access_point_policy: "AccessPointPolicy",
2203
+ # network_origin: {
2204
+ # internet_configuration: {
2205
+ # },
2206
+ # vpc_configuration: {
2207
+ # vpc_id: "VpcId", # required
2208
+ # },
2209
+ # },
2210
+ # public_access_block: {
2211
+ # ignore_public_acls: false, # required
2212
+ # restrict_public_buckets: false, # required
2213
+ # },
2214
+ # }
2215
+ #
2216
+ # @!attribute [rw] access_point_policy
2217
+ # The access point policy.
2218
+ # @return [String]
2219
+ #
2220
+ # @!attribute [rw] network_origin
2221
+ # The proposed `Internet` and `VpcConfiguration` to apply to this
2222
+ # Amazon S3 access point. If the access preview is for a new resource
2223
+ # and neither is specified, the access preview uses `Internet` for the
2224
+ # network origin. If the access preview is for an existing resource
2225
+ # and neither is specified, the access preview uses the exiting
2226
+ # network origin.
2227
+ # @return [Types::NetworkOriginConfiguration]
2228
+ #
2229
+ # @!attribute [rw] public_access_block
2230
+ # The proposed `S3PublicAccessBlock` configuration to apply to this
2231
+ # Amazon S3 Access Point.
2232
+ # @return [Types::S3PublicAccessBlockConfiguration]
2233
+ #
2234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/S3AccessPointConfiguration AWS API Documentation
2235
+ #
2236
+ class S3AccessPointConfiguration < Struct.new(
2237
+ :access_point_policy,
2238
+ :network_origin,
2239
+ :public_access_block)
2240
+ SENSITIVE = []
2241
+ include Aws::Structure
2242
+ end
2243
+
2244
+ # A proposed access control list grant configuration for an Amazon S3
2245
+ # bucket. For more information, see [How to Specify an ACL][1].
2246
+ #
2247
+ #
2248
+ #
2249
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#setting-acls
2250
+ #
2251
+ # @note When making an API call, you may pass S3BucketAclGrantConfiguration
2252
+ # data as a hash:
2253
+ #
2254
+ # {
2255
+ # grantee: { # required
2256
+ # id: "AclCanonicalId",
2257
+ # uri: "AclUri",
2258
+ # },
2259
+ # permission: "READ", # required, accepts READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
2260
+ # }
2261
+ #
2262
+ # @!attribute [rw] grantee
2263
+ # The grantee to whom you’re assigning access rights.
2264
+ # @return [Types::AclGrantee]
2265
+ #
2266
+ # @!attribute [rw] permission
2267
+ # The permissions being granted.
2268
+ # @return [String]
2269
+ #
2270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/S3BucketAclGrantConfiguration AWS API Documentation
2271
+ #
2272
+ class S3BucketAclGrantConfiguration < Struct.new(
2273
+ :grantee,
2274
+ :permission)
2275
+ SENSITIVE = []
2276
+ include Aws::Structure
2277
+ end
2278
+
2279
+ # Proposed access control configuration for an Amazon S3 bucket. You can
2280
+ # propose a configuration for a new Amazon S3 bucket or an existing
2281
+ # Amazon S3 bucket that you own by specifying the Amazon S3 bucket
2282
+ # policy, bucket ACLs, bucket BPA settings, and Amazon S3 access points
2283
+ # attached to the bucket. If the configuration is for an existing Amazon
2284
+ # S3 bucket and you do not specify the Amazon S3 bucket policy, the
2285
+ # access preview uses the existing policy attached to the bucket. If the
2286
+ # access preview is for a new resource and you do not specify the Amazon
2287
+ # S3 bucket policy, the access preview assumes a bucket without a
2288
+ # policy. To propose deletion of an existing bucket policy, you can
2289
+ # specify an empty string. For more information about bucket policy
2290
+ # limits, see [Bucket Policy Examples][1].
2291
+ #
2292
+ #
2293
+ #
2294
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html
2295
+ #
2296
+ # @note When making an API call, you may pass S3BucketConfiguration
2297
+ # data as a hash:
2298
+ #
2299
+ # {
2300
+ # access_points: {
2301
+ # "AccessPointArn" => {
2302
+ # access_point_policy: "AccessPointPolicy",
2303
+ # network_origin: {
2304
+ # internet_configuration: {
2305
+ # },
2306
+ # vpc_configuration: {
2307
+ # vpc_id: "VpcId", # required
2308
+ # },
2309
+ # },
2310
+ # public_access_block: {
2311
+ # ignore_public_acls: false, # required
2312
+ # restrict_public_buckets: false, # required
2313
+ # },
2314
+ # },
2315
+ # },
2316
+ # bucket_acl_grants: [
2317
+ # {
2318
+ # grantee: { # required
2319
+ # id: "AclCanonicalId",
2320
+ # uri: "AclUri",
2321
+ # },
2322
+ # permission: "READ", # required, accepts READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
2323
+ # },
2324
+ # ],
2325
+ # bucket_policy: "S3BucketPolicy",
2326
+ # bucket_public_access_block: {
2327
+ # ignore_public_acls: false, # required
2328
+ # restrict_public_buckets: false, # required
2329
+ # },
2330
+ # }
2331
+ #
2332
+ # @!attribute [rw] access_points
2333
+ # The configuration of Amazon S3 access points for the bucket.
2334
+ # @return [Hash<String,Types::S3AccessPointConfiguration>]
2335
+ #
2336
+ # @!attribute [rw] bucket_acl_grants
2337
+ # The proposed list of ACL grants for the Amazon S3 bucket. You can
2338
+ # propose up to 100 ACL grants per bucket. If the proposed grant
2339
+ # configuration is for an existing bucket, the access preview uses the
2340
+ # proposed list of grant configurations in place of the existing
2341
+ # grants. Otherwise, the access preview uses the existing grants for
2342
+ # the bucket.
2343
+ # @return [Array<Types::S3BucketAclGrantConfiguration>]
2344
+ #
2345
+ # @!attribute [rw] bucket_policy
2346
+ # The proposed bucket policy for the Amazon S3 bucket.
2347
+ # @return [String]
2348
+ #
2349
+ # @!attribute [rw] bucket_public_access_block
2350
+ # The proposed block public access configuration for the Amazon S3
2351
+ # bucket.
2352
+ # @return [Types::S3PublicAccessBlockConfiguration]
2353
+ #
2354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/S3BucketConfiguration AWS API Documentation
2355
+ #
2356
+ class S3BucketConfiguration < Struct.new(
2357
+ :access_points,
2358
+ :bucket_acl_grants,
2359
+ :bucket_policy,
2360
+ :bucket_public_access_block)
2361
+ SENSITIVE = []
2362
+ include Aws::Structure
2363
+ end
2364
+
2365
+ # The `PublicAccessBlock` configuration to apply to this Amazon S3
2366
+ # bucket. If the proposed configuration is for an existing Amazon S3
2367
+ # bucket and the configuration is not specified, the access preview uses
2368
+ # the existing setting. If the proposed configuration is for a new
2369
+ # bucket and the configuration is not specified, the access preview uses
2370
+ # `false`. If the proposed configuration is for a new access point and
2371
+ # the access point BPA configuration is not specified, the access
2372
+ # preview uses `true`. For more information, see
2373
+ # [PublicAccessBlockConfiguration][1].
2374
+ #
2375
+ #
2376
+ #
2377
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html
2378
+ #
2379
+ # @note When making an API call, you may pass S3PublicAccessBlockConfiguration
2380
+ # data as a hash:
2381
+ #
2382
+ # {
2383
+ # ignore_public_acls: false, # required
2384
+ # restrict_public_buckets: false, # required
2385
+ # }
2386
+ #
2387
+ # @!attribute [rw] ignore_public_acls
2388
+ # Specifies whether Amazon S3 should ignore public ACLs for this
2389
+ # bucket and objects in this bucket.
2390
+ # @return [Boolean]
2391
+ #
2392
+ # @!attribute [rw] restrict_public_buckets
2393
+ # Specifies whether Amazon S3 should restrict public bucket policies
2394
+ # for this bucket.
2395
+ # @return [Boolean]
2396
+ #
2397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/S3PublicAccessBlockConfiguration AWS API Documentation
2398
+ #
2399
+ class S3PublicAccessBlockConfiguration < Struct.new(
2400
+ :ignore_public_acls,
2401
+ :restrict_public_buckets)
2402
+ SENSITIVE = []
2403
+ include Aws::Structure
2404
+ end
2405
+
2406
+ # The configuration for a Secrets Manager secret. For more information,
2407
+ # see [CreateSecret][1].
2408
+ #
2409
+ # You can propose a configuration for a new secret or an existing secret
2410
+ # that you own by specifying the secret policy and optional KMS
2411
+ # encryption key. If the configuration is for an existing secret and you
2412
+ # do not specify the secret policy, the access preview uses the existing
2413
+ # policy for the secret. If the access preview is for a new resource and
2414
+ # you do not specify the policy, the access preview assumes a secret
2415
+ # without a policy. To propose deletion of an existing policy, you can
2416
+ # specify an empty string. If the proposed configuration is for a new
2417
+ # secret and you do not specify the KMS key ID, the access preview uses
2418
+ # the default CMK of the AWS account. If you specify an empty string for
2419
+ # the KMS key ID, the access preview uses the default CMK of the AWS
2420
+ # account. For more information about secret policy limits, see [Quotas
2421
+ # for AWS Secrets Manager.][2].
2422
+ #
2423
+ #
2424
+ #
2425
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html
2426
+ # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html
2427
+ #
2428
+ # @note When making an API call, you may pass SecretsManagerSecretConfiguration
2429
+ # data as a hash:
2430
+ #
2431
+ # {
2432
+ # kms_key_id: "SecretsManagerSecretKmsId",
2433
+ # secret_policy: "SecretsManagerSecretPolicy",
2434
+ # }
2435
+ #
2436
+ # @!attribute [rw] kms_key_id
2437
+ # The proposed ARN, key ID, or alias of the AWS KMS customer master
2438
+ # key (CMK).
2439
+ # @return [String]
2440
+ #
2441
+ # @!attribute [rw] secret_policy
2442
+ # The proposed resource policy defining who can access or manage the
2443
+ # secret.
2444
+ # @return [String]
2445
+ #
2446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/SecretsManagerSecretConfiguration AWS API Documentation
2447
+ #
2448
+ class SecretsManagerSecretConfiguration < Struct.new(
2449
+ :kms_key_id,
2450
+ :secret_policy)
2451
+ SENSITIVE = []
2452
+ include Aws::Structure
2453
+ end
2454
+
1229
2455
  # Service quote met error.
1230
2456
  #
1231
2457
  # @!attribute [rw] message
@@ -1276,6 +2502,40 @@ module Aws::AccessAnalyzer
1276
2502
  include Aws::Structure
1277
2503
  end
1278
2504
 
2505
+ # The proposed access control configuration for an SQS queue. You can
2506
+ # propose a configuration for a new SQS queue or an existing SQS queue
2507
+ # that you own by specifying the SQS policy. If the configuration is for
2508
+ # an existing SQS queue and you do not specify the SQS policy, the
2509
+ # access preview uses the existing SQS policy for the queue. If the
2510
+ # access preview is for a new resource and you do not specify the
2511
+ # policy, the access preview assumes an SQS queue without a policy. To
2512
+ # propose deletion of an existing SQS queue policy, you can specify an
2513
+ # empty string for the SQS policy. For more information about SQS policy
2514
+ # limits, see [Quotas related to policies][1].
2515
+ #
2516
+ #
2517
+ #
2518
+ # [1]: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-policies.html
2519
+ #
2520
+ # @note When making an API call, you may pass SqsQueueConfiguration
2521
+ # data as a hash:
2522
+ #
2523
+ # {
2524
+ # queue_policy: "SqsQueuePolicy",
2525
+ # }
2526
+ #
2527
+ # @!attribute [rw] queue_policy
2528
+ # The proposed resource policy for the SQS queue.
2529
+ # @return [String]
2530
+ #
2531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/SqsQueueConfiguration AWS API Documentation
2532
+ #
2533
+ class SqsQueueConfiguration < Struct.new(
2534
+ :queue_policy)
2535
+ SENSITIVE = []
2536
+ include Aws::Structure
2537
+ end
2538
+
1279
2539
  # Starts a scan of the policies applied to the specified resource.
1280
2540
  #
1281
2541
  # @note When making an API call, you may pass StartResourceScanRequest
@@ -1287,8 +2547,12 @@ module Aws::AccessAnalyzer
1287
2547
  # }
1288
2548
  #
1289
2549
  # @!attribute [rw] analyzer_arn
1290
- # The ARN of the analyzer to use to scan the policies applied to the
1291
- # specified resource.
2550
+ # The [ARN of the analyzer][1] to use to scan the policies applied to
2551
+ # the specified resource.
2552
+ #
2553
+ #
2554
+ #
2555
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1292
2556
  # @return [String]
1293
2557
  #
1294
2558
  # @!attribute [rw] resource_arn
@@ -1306,7 +2570,7 @@ module Aws::AccessAnalyzer
1306
2570
 
1307
2571
  # Provides more details about the current status of the analyzer. For
1308
2572
  # example, if the creation for the analyzer fails, a `Failed` status is
1309
- # displayed. For an analyzer with organization as the type, this failure
2573
+ # returned. For an analyzer with organization as the type, this failure
1310
2574
  # can be due to an issue with creating the service-linked roles required
1311
2575
  # in the member accounts of the AWS organization.
1312
2576
  #
@@ -1472,7 +2736,11 @@ module Aws::AccessAnalyzer
1472
2736
  # }
1473
2737
  #
1474
2738
  # @!attribute [rw] analyzer_arn
1475
- # The ARN of the analyzer that generated the findings to update.
2739
+ # The [ARN of the analyzer][1] that generated the findings to update.
2740
+ #
2741
+ #
2742
+ #
2743
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1476
2744
  # @return [String]
1477
2745
  #
1478
2746
  # @!attribute [rw] client_token
@@ -1551,5 +2819,32 @@ module Aws::AccessAnalyzer
1551
2819
  include Aws::Structure
1552
2820
  end
1553
2821
 
2822
+ # The proposed virtual private cloud (VPC) configuration for the Amazon
2823
+ # S3 access point. For more information, see [VpcConfiguration][1].
2824
+ #
2825
+ #
2826
+ #
2827
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_VpcConfiguration.html
2828
+ #
2829
+ # @note When making an API call, you may pass VpcConfiguration
2830
+ # data as a hash:
2831
+ #
2832
+ # {
2833
+ # vpc_id: "VpcId", # required
2834
+ # }
2835
+ #
2836
+ # @!attribute [rw] vpc_id
2837
+ # If this field is specified, this access point will only allow
2838
+ # connections from the specified VPC ID.
2839
+ # @return [String]
2840
+ #
2841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/VpcConfiguration AWS API Documentation
2842
+ #
2843
+ class VpcConfiguration < Struct.new(
2844
+ :vpc_id)
2845
+ SENSITIVE = []
2846
+ include Aws::Structure
2847
+ end
2848
+
1554
2849
  end
1555
2850
  end