aws-sdk-accessanalyzer 1.12.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
 
@@ -99,6 +99,10 @@ module Aws::AccessAnalyzer
99
99
  def retry_after_seconds
100
100
  @data[:retry_after_seconds]
101
101
  end
102
+
103
+ def retryable?
104
+ true
105
+ end
102
106
  end
103
107
 
104
108
  class ResourceNotFoundException < ServiceError
@@ -169,6 +173,14 @@ module Aws::AccessAnalyzer
169
173
  def retry_after_seconds
170
174
  @data[:retry_after_seconds]
171
175
  end
176
+
177
+ def retryable?
178
+ true
179
+ end
180
+
181
+ def throttling?
182
+ true
183
+ end
172
184
  end
173
185
 
174
186
  class ValidationException < ServiceError
@@ -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
 
@@ -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
@@ -141,16 +401,16 @@ module Aws::AccessAnalyzer
141
401
  # The status of the analyzer. An `Active` analyzer successfully
142
402
  # monitors supported resources and generates new findings. The
143
403
  # analyzer is `Disabled` when a user action, such as removing trusted
144
- # access for IAM Access Analyzer from AWS Organizations, causes the
145
- # analyzer to stop generating new findings. The status is `Creating`
146
- # when the analyzer creation is in progress and `Failed` when the
147
- # analyzer creation has failed.
404
+ # access for AWS IAM Access Analyzer from AWS Organizations, causes
405
+ # the analyzer to stop generating new findings. The status is
406
+ # `Creating` when the analyzer creation is in progress and `Failed`
407
+ # when the analyzer creation has failed.
148
408
  # @return [String]
149
409
  #
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.
@@ -181,6 +441,42 @@ module Aws::AccessAnalyzer
181
441
  include Aws::Structure
182
442
  end
183
443
 
444
+ # Retroactively applies an archive rule.
445
+ #
446
+ # @note When making an API call, you may pass ApplyArchiveRuleRequest
447
+ # data as a hash:
448
+ #
449
+ # {
450
+ # analyzer_arn: "AnalyzerArn", # required
451
+ # client_token: "String",
452
+ # rule_name: "Name", # required
453
+ # }
454
+ #
455
+ # @!attribute [rw] analyzer_arn
456
+ # The Amazon resource name (ARN) of the analyzer.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] client_token
460
+ # A client token.
461
+ #
462
+ # **A suitable default value is auto-generated.** You should normally
463
+ # not need to pass this option.
464
+ # @return [String]
465
+ #
466
+ # @!attribute [rw] rule_name
467
+ # The name of the rule to apply.
468
+ # @return [String]
469
+ #
470
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ApplyArchiveRuleRequest AWS API Documentation
471
+ #
472
+ class ApplyArchiveRuleRequest < Struct.new(
473
+ :analyzer_arn,
474
+ :client_token,
475
+ :rule_name)
476
+ SENSITIVE = []
477
+ include Aws::Structure
478
+ end
479
+
184
480
  # Contains information about an archive rule.
185
481
  #
186
482
  # @!attribute [rw] created_at
@@ -210,6 +506,111 @@ module Aws::AccessAnalyzer
210
506
  include Aws::Structure
211
507
  end
212
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
+
213
614
  # A conflict exception error.
214
615
  #
215
616
  # @!attribute [rw] message
@@ -233,6 +634,128 @@ module Aws::AccessAnalyzer
233
634
  include Aws::Structure
234
635
  end
235
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
+
236
759
  # Creates an analyzer.
237
760
  #
238
761
  # @note When making an API call, you may pass CreateAnalyzerRequest
@@ -282,8 +805,10 @@ module Aws::AccessAnalyzer
282
805
  # @return [Hash<String,String>]
283
806
  #
284
807
  # @!attribute [rw] type
285
- # The type of analyzer to create. Only ACCOUNT analyzers are
286
- # supported. You can create only one analyzer per account per Region.
808
+ # The type of analyzer to create. Only ACCOUNT and ORGANIZATION
809
+ # analyzers are supported. You can create only one analyzer per
810
+ # account per Region. You can create up to 5 analyzers per
811
+ # organization per Region.
287
812
  # @return [String]
288
813
  #
289
814
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAnalyzerRequest AWS API Documentation
@@ -518,7 +1043,7 @@ module Aws::AccessAnalyzer
518
1043
  # @return [String]
519
1044
  #
520
1045
  # @!attribute [rw] resource_type
521
- # The type of the resource reported in the finding.
1046
+ # The type of the resource identified in the finding.
522
1047
  # @return [String]
523
1048
  #
524
1049
  # @!attribute [rw] sources
@@ -679,6 +1204,47 @@ module Aws::AccessAnalyzer
679
1204
  include Aws::Structure
680
1205
  end
681
1206
 
1207
+ # @note When making an API call, you may pass GetAccessPreviewRequest
1208
+ # data as a hash:
1209
+ #
1210
+ # {
1211
+ # access_preview_id: "AccessPreviewId", # required
1212
+ # analyzer_arn: "AnalyzerArn", # required
1213
+ # }
1214
+ #
1215
+ # @!attribute [rw] access_preview_id
1216
+ # The unique ID for the access preview.
1217
+ # @return [String]
1218
+ #
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
1225
+ # @return [String]
1226
+ #
1227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreviewRequest AWS API Documentation
1228
+ #
1229
+ class GetAccessPreviewRequest < Struct.new(
1230
+ :access_preview_id,
1231
+ :analyzer_arn)
1232
+ SENSITIVE = []
1233
+ include Aws::Structure
1234
+ end
1235
+
1236
+ # @!attribute [rw] access_preview
1237
+ # An object that contains information about the access preview.
1238
+ # @return [Types::AccessPreview]
1239
+ #
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
+
682
1248
  # Retrieves an analyzed resource.
683
1249
  #
684
1250
  # @note When making an API call, you may pass GetAnalyzedResourceRequest
@@ -690,7 +1256,11 @@ module Aws::AccessAnalyzer
690
1256
  # }
691
1257
  #
692
1258
  # @!attribute [rw] analyzer_arn
693
- # The ARN of the analyzer to retrieve information from.
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
694
1264
  # @return [String]
695
1265
  #
696
1266
  # @!attribute [rw] resource_arn
@@ -709,7 +1279,7 @@ module Aws::AccessAnalyzer
709
1279
  # The response to the request.
710
1280
  #
711
1281
  # @!attribute [rw] resource
712
- # An `AnalyedResource` object that contains information that Access
1282
+ # An `AnalyzedResource` object that contains information that Access
713
1283
  # Analyzer found when it analyzed the resource.
714
1284
  # @return [Types::AnalyzedResource]
715
1285
  #
@@ -808,86 +1378,454 @@ module Aws::AccessAnalyzer
808
1378
  # id: "FindingId", # required
809
1379
  # }
810
1380
  #
811
- # @!attribute [rw] analyzer_arn
812
- # The ARN of the analyzer that generated the finding.
1381
+ # @!attribute [rw] analyzer_arn
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
1387
+ # @return [String]
1388
+ #
1389
+ # @!attribute [rw] id
1390
+ # The ID of the finding to retrieve.
1391
+ # @return [String]
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingRequest AWS API Documentation
1394
+ #
1395
+ class GetFindingRequest < Struct.new(
1396
+ :analyzer_arn,
1397
+ :id)
1398
+ SENSITIVE = []
1399
+ include Aws::Structure
1400
+ end
1401
+
1402
+ # The response to the request.
1403
+ #
1404
+ # @!attribute [rw] finding
1405
+ # A `finding` object that contains finding details.
1406
+ # @return [Types::Finding]
1407
+ #
1408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingResponse AWS API Documentation
1409
+ #
1410
+ class GetFindingResponse < Struct.new(
1411
+ :finding)
1412
+ SENSITIVE = []
1413
+ include Aws::Structure
1414
+ end
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
+
1449
+ # An criterion statement in an archive rule. Each archive rule may have
1450
+ # multiple criteria.
1451
+ #
1452
+ # @note When making an API call, you may pass InlineArchiveRule
1453
+ # data as a hash:
1454
+ #
1455
+ # {
1456
+ # filter: { # required
1457
+ # "String" => {
1458
+ # contains: ["String"],
1459
+ # eq: ["String"],
1460
+ # exists: false,
1461
+ # neq: ["String"],
1462
+ # },
1463
+ # },
1464
+ # rule_name: "Name", # required
1465
+ # }
1466
+ #
1467
+ # @!attribute [rw] filter
1468
+ # The condition and values for a criterion.
1469
+ # @return [Hash<String,Types::Criterion>]
1470
+ #
1471
+ # @!attribute [rw] rule_name
1472
+ # The name of the rule.
1473
+ # @return [String]
1474
+ #
1475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InlineArchiveRule AWS API Documentation
1476
+ #
1477
+ class InlineArchiveRule < Struct.new(
1478
+ :filter,
1479
+ :rule_name)
1480
+ SENSITIVE = []
1481
+ include Aws::Structure
1482
+ end
1483
+
1484
+ # Internal server error.
1485
+ #
1486
+ # @!attribute [rw] message
1487
+ # @return [String]
1488
+ #
1489
+ # @!attribute [rw] retry_after_seconds
1490
+ # The seconds to wait to retry.
1491
+ # @return [Integer]
1492
+ #
1493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InternalServerException AWS API Documentation
1494
+ #
1495
+ class InternalServerException < Struct.new(
1496
+ :message,
1497
+ :retry_after_seconds)
1498
+ SENSITIVE = []
1499
+ include Aws::Structure
1500
+ end
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
813
1737
  # @return [String]
814
1738
  #
815
- # @!attribute [rw] id
816
- # The ID of the finding to retrieve.
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.
817
1749
  # @return [String]
818
1750
  #
819
- # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingRequest AWS API Documentation
1751
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindingsRequest AWS API Documentation
820
1752
  #
821
- class GetFindingRequest < Struct.new(
1753
+ class ListAccessPreviewFindingsRequest < Struct.new(
1754
+ :access_preview_id,
822
1755
  :analyzer_arn,
823
- :id)
1756
+ :filter,
1757
+ :max_results,
1758
+ :next_token)
824
1759
  SENSITIVE = []
825
1760
  include Aws::Structure
826
1761
  end
827
1762
 
828
- # The response to the request.
1763
+ # @!attribute [rw] findings
1764
+ # A list of access preview findings that match the specified filter
1765
+ # criteria.
1766
+ # @return [Array<Types::AccessPreviewFinding>]
829
1767
  #
830
- # @!attribute [rw] finding
831
- # A `finding` object that contains finding details.
832
- # @return [Types::Finding]
1768
+ # @!attribute [rw] next_token
1769
+ # A token used for pagination of results returned.
1770
+ # @return [String]
833
1771
  #
834
- # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingResponse AWS API Documentation
1772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindingsResponse AWS API Documentation
835
1773
  #
836
- class GetFindingResponse < Struct.new(
837
- :finding)
1774
+ class ListAccessPreviewFindingsResponse < Struct.new(
1775
+ :findings,
1776
+ :next_token)
838
1777
  SENSITIVE = []
839
1778
  include Aws::Structure
840
1779
  end
841
1780
 
842
- # An criterion statement in an archive rule. Each archive rule may have
843
- # multiple criteria.
844
- #
845
- # @note When making an API call, you may pass InlineArchiveRule
1781
+ # @note When making an API call, you may pass ListAccessPreviewsRequest
846
1782
  # data as a hash:
847
1783
  #
848
1784
  # {
849
- # filter: { # required
850
- # "String" => {
851
- # contains: ["String"],
852
- # eq: ["String"],
853
- # exists: false,
854
- # neq: ["String"],
855
- # },
856
- # },
857
- # rule_name: "Name", # required
1785
+ # analyzer_arn: "AnalyzerArn", # required
1786
+ # max_results: 1,
1787
+ # next_token: "Token",
858
1788
  # }
859
1789
  #
860
- # @!attribute [rw] filter
861
- # The condition and values for a criterion.
862
- # @return [Hash<String,Types::Criterion>]
1790
+ # @!attribute [rw] analyzer_arn
1791
+ # The [ARN of the analyzer][1] used to generate the access preview.
863
1792
  #
864
- # @!attribute [rw] rule_name
865
- # The name of the rule.
1793
+ #
1794
+ #
1795
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
866
1796
  # @return [String]
867
1797
  #
868
- # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InlineArchiveRule AWS API Documentation
1798
+ # @!attribute [rw] max_results
1799
+ # The maximum number of results to return in the response.
1800
+ # @return [Integer]
869
1801
  #
870
- class InlineArchiveRule < Struct.new(
871
- :filter,
872
- :rule_name)
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)
873
1812
  SENSITIVE = []
874
1813
  include Aws::Structure
875
1814
  end
876
1815
 
877
- # Internal server error.
1816
+ # @!attribute [rw] access_previews
1817
+ # A list of access previews retrieved for the analyzer.
1818
+ # @return [Array<Types::AccessPreviewSummary>]
878
1819
  #
879
- # @!attribute [rw] message
1820
+ # @!attribute [rw] next_token
1821
+ # A token used for pagination of results returned.
880
1822
  # @return [String]
881
1823
  #
882
- # @!attribute [rw] retry_after_seconds
883
- # The seconds to wait to retry.
884
- # @return [Integer]
885
- #
886
- # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InternalServerException AWS API Documentation
1824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewsResponse AWS API Documentation
887
1825
  #
888
- class InternalServerException < Struct.new(
889
- :message,
890
- :retry_after_seconds)
1826
+ class ListAccessPreviewsResponse < Struct.new(
1827
+ :access_previews,
1828
+ :next_token)
891
1829
  SENSITIVE = []
892
1830
  include Aws::Structure
893
1831
  end
@@ -901,12 +1839,16 @@ module Aws::AccessAnalyzer
901
1839
  # analyzer_arn: "AnalyzerArn", # required
902
1840
  # max_results: 1,
903
1841
  # next_token: "Token",
904
- # resource_type: "AWS::IAM::Role", # accepts AWS::IAM::Role, AWS::KMS::Key, AWS::Lambda::Function, AWS::Lambda::LayerVersion, AWS::S3::Bucket, AWS::SQS::Queue
1842
+ # resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::IAM::Role, AWS::SQS::Queue, AWS::Lambda::Function, AWS::Lambda::LayerVersion, AWS::KMS::Key, AWS::SecretsManager::Secret
905
1843
  # }
906
1844
  #
907
1845
  # @!attribute [rw] analyzer_arn
908
- # The ARN of the analyzer to retrieve a list of analyzed resources
909
- # 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
910
1852
  # @return [String]
911
1853
  #
912
1854
  # @!attribute [rw] max_results
@@ -1079,7 +2021,11 @@ module Aws::AccessAnalyzer
1079
2021
  # }
1080
2022
  #
1081
2023
  # @!attribute [rw] analyzer_arn
1082
- # 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
1083
2029
  # @return [String]
1084
2030
  #
1085
2031
  # @!attribute [rw] filter
@@ -1165,6 +2111,52 @@ module Aws::AccessAnalyzer
1165
2111
  include Aws::Structure
1166
2112
  end
1167
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
+
1168
2160
  # The specified resource could not be found.
1169
2161
  #
1170
2162
  # @!attribute [rw] message
@@ -1188,6 +2180,278 @@ module Aws::AccessAnalyzer
1188
2180
  include Aws::Structure
1189
2181
  end
1190
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
+
1191
2455
  # Service quote met error.
1192
2456
  #
1193
2457
  # @!attribute [rw] message
@@ -1238,6 +2502,40 @@ module Aws::AccessAnalyzer
1238
2502
  include Aws::Structure
1239
2503
  end
1240
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
+
1241
2539
  # Starts a scan of the policies applied to the specified resource.
1242
2540
  #
1243
2541
  # @note When making an API call, you may pass StartResourceScanRequest
@@ -1249,8 +2547,12 @@ module Aws::AccessAnalyzer
1249
2547
  # }
1250
2548
  #
1251
2549
  # @!attribute [rw] analyzer_arn
1252
- # The ARN of the analyzer to use to scan the policies applied to the
1253
- # 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
1254
2556
  # @return [String]
1255
2557
  #
1256
2558
  # @!attribute [rw] resource_arn
@@ -1268,7 +2570,7 @@ module Aws::AccessAnalyzer
1268
2570
 
1269
2571
  # Provides more details about the current status of the analyzer. For
1270
2572
  # example, if the creation for the analyzer fails, a `Failed` status is
1271
- # displayed. For an analyzer with organization as the type, this failure
2573
+ # returned. For an analyzer with organization as the type, this failure
1272
2574
  # can be due to an issue with creating the service-linked roles required
1273
2575
  # in the member accounts of the AWS organization.
1274
2576
  #
@@ -1434,7 +2736,11 @@ module Aws::AccessAnalyzer
1434
2736
  # }
1435
2737
  #
1436
2738
  # @!attribute [rw] analyzer_arn
1437
- # 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
1438
2744
  # @return [String]
1439
2745
  #
1440
2746
  # @!attribute [rw] client_token
@@ -1513,5 +2819,32 @@ module Aws::AccessAnalyzer
1513
2819
  include Aws::Structure
1514
2820
  end
1515
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
+
1516
2849
  end
1517
2850
  end