aws-sdk-accessanalyzer 1.16.0 → 1.17.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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