aws-sdk-accessanalyzer 1.12.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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