aws-sdk-accessanalyzer 1.14.0 → 1.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +114 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-accessanalyzer.rb +2 -2
- data/lib/aws-sdk-accessanalyzer/client.rb +649 -21
- data/lib/aws-sdk-accessanalyzer/client_api.rb +549 -1
- data/lib/aws-sdk-accessanalyzer/errors.rb +1 -1
- data/lib/aws-sdk-accessanalyzer/resource.rb +1 -1
- data/lib/aws-sdk-accessanalyzer/types.rb +2334 -253
- metadata +10 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65e73ab7a1dc9196dbd04862d778b147a7a85a133e5b55e19b239927e8c70317
|
4
|
+
data.tar.gz: cf441dbf05279c1d793815de79c8dabe2825f5fea3bcda7a6fe3e4ed5ff2ed22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bf9c8d758ae7fabcdc590f220ebf07b903e13ab5039b3d1c73c6a45e252d7024d157f4d2f9b7905a8fc3a578e5e8ea9e04873349017113f7a47a8806f8d8ab0
|
7
|
+
data.tar.gz: e9398114a1660d2750d9f1ae41ec96a30bc0ebbe0a14bb69f5700a8577777cbc90ffb49ee0bf4d4f7bf08532e11d1b21f60f6e72d676391d8fc30640bdd8915a
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
Unreleased Changes
|
2
|
+
------------------
|
3
|
+
|
4
|
+
1.19.0 (2021-04-07)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - IAM Access Analyzer now analyzes your CloudTrail events to identify actions and services that have been used by an IAM entity (user or role) and generates an IAM policy that is based on that activity.
|
8
|
+
|
9
|
+
1.18.0 (2021-03-16)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - This release adds support for the ValidatePolicy API. IAM Access Analyzer is adding over 100 policy checks and actionable recommendations that help you validate your policies during authoring.
|
13
|
+
|
14
|
+
1.17.0 (2021-03-10)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - This release adds support to preview IAM Access Analyzer findings for a resource before deploying resource permission changes.
|
18
|
+
|
19
|
+
1.16.0 (2021-02-02)
|
20
|
+
------------------
|
21
|
+
|
22
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
23
|
+
|
24
|
+
1.15.0 (2021-01-27)
|
25
|
+
------------------
|
26
|
+
|
27
|
+
* Feature - This release adds Secrets Manager secrets as a supported resource in IAM Access Analyzer to help you identify secrets that can be accessed from outside your account or AWS organization.
|
28
|
+
|
29
|
+
1.14.0 (2020-10-22)
|
30
|
+
------------------
|
31
|
+
|
32
|
+
* Feature - API Documentation updates for IAM Access Analyzer.
|
33
|
+
|
34
|
+
1.13.0 (2020-10-15)
|
35
|
+
------------------
|
36
|
+
|
37
|
+
* Feature - This release adds support for the ApplyArchiveRule api in IAM Access Analyzer. The ApplyArchiveRule api allows users to apply an archive rule retroactively to existing findings in an analyzer.
|
38
|
+
|
39
|
+
1.12.0 (2020-09-30)
|
40
|
+
------------------
|
41
|
+
|
42
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
43
|
+
|
44
|
+
1.11.0 (2020-09-15)
|
45
|
+
------------------
|
46
|
+
|
47
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
48
|
+
|
49
|
+
1.10.0 (2020-08-25)
|
50
|
+
------------------
|
51
|
+
|
52
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
53
|
+
|
54
|
+
1.9.0 (2020-06-23)
|
55
|
+
------------------
|
56
|
+
|
57
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
58
|
+
|
59
|
+
1.8.1 (2020-06-11)
|
60
|
+
------------------
|
61
|
+
|
62
|
+
* Issue - Republish previous version with correct dependency on `aws-sdk-core`.
|
63
|
+
|
64
|
+
1.8.0 (2020-06-10)
|
65
|
+
------------------
|
66
|
+
|
67
|
+
* Issue - This version has been yanked. (#2327).
|
68
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
69
|
+
|
70
|
+
1.7.0 (2020-05-28)
|
71
|
+
------------------
|
72
|
+
|
73
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
74
|
+
|
75
|
+
1.6.0 (2020-05-07)
|
76
|
+
------------------
|
77
|
+
|
78
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
79
|
+
|
80
|
+
1.5.0 (2020-04-27)
|
81
|
+
------------------
|
82
|
+
|
83
|
+
* Feature - This release adds support for inclusion of S3 Access Point policies in IAM Access Analyzer evaluation of S3 bucket access. IAM Access Analyzer now reports findings for buckets shared through access points and identifies the access point that permits access.
|
84
|
+
|
85
|
+
1.4.0 (2020-03-30)
|
86
|
+
------------------
|
87
|
+
|
88
|
+
* Feature - This release adds support for the creation and management of IAM Access Analyzer analyzers with type organization. An analyzer with type organization continuously monitors all supported resources within the AWS organization and reports findings when they allow access from outside the organization.
|
89
|
+
|
90
|
+
1.3.0 (2020-03-09)
|
91
|
+
------------------
|
92
|
+
|
93
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
94
|
+
|
95
|
+
1.2.1 (2020-03-02)
|
96
|
+
------------------
|
97
|
+
|
98
|
+
* Issue - Republish the previously yanked version.
|
99
|
+
|
100
|
+
1.2.0 (2020-02-28)
|
101
|
+
------------------
|
102
|
+
|
103
|
+
* Issue - This version has been yanked. (#2239)
|
104
|
+
* Feature - This release includes improvements and fixes bugs for the IAM Access Analyzer feature.
|
105
|
+
|
106
|
+
1.1.0 (2019-12-12)
|
107
|
+
------------------
|
108
|
+
|
109
|
+
* Feature - This release includes improvements and fixes bugs for the IAM Access Analyzer feature.
|
110
|
+
|
111
|
+
1.0.0 (2019-12-02)
|
112
|
+
------------------
|
113
|
+
|
114
|
+
* Feature - Initial release of `aws-sdk-accessanalyzer`.
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
|
2
|
+
Apache License
|
3
|
+
Version 2.0, January 2004
|
4
|
+
http://www.apache.org/licenses/
|
5
|
+
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7
|
+
|
8
|
+
1. Definitions.
|
9
|
+
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
14
|
+
the copyright owner that is granting the License.
|
15
|
+
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
17
|
+
other entities that control, are controlled by, or are under common
|
18
|
+
control with that entity. For the purposes of this definition,
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
20
|
+
direction or management of such entity, whether by contract or
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
23
|
+
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
25
|
+
exercising permissions granted by this License.
|
26
|
+
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
28
|
+
including but not limited to software source code, documentation
|
29
|
+
source, and configuration files.
|
30
|
+
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
32
|
+
transformation or translation of a Source form, including but
|
33
|
+
not limited to compiled object code, generated documentation,
|
34
|
+
and conversions to other media types.
|
35
|
+
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
37
|
+
Object form, made available under the License, as indicated by a
|
38
|
+
copyright notice that is included in or attached to the work
|
39
|
+
(an example is provided in the Appendix below).
|
40
|
+
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
47
|
+
the Work and Derivative Works thereof.
|
48
|
+
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
50
|
+
the original version of the Work and any modifications or additions
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
62
|
+
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
65
|
+
subsequently incorporated within the Work.
|
66
|
+
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
73
|
+
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
79
|
+
where such license applies only to those patent claims licensable
|
80
|
+
by such Contributor that are necessarily infringed by their
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
83
|
+
institute patent litigation against any entity (including a
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
86
|
+
or contributory patent infringement, then any patent licenses
|
87
|
+
granted to You under this License for that Work shall terminate
|
88
|
+
as of the date such litigation is filed.
|
89
|
+
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
92
|
+
modifications, and in Source or Object form, provided that You
|
93
|
+
meet the following conditions:
|
94
|
+
|
95
|
+
(a) You must give any other recipients of the Work or
|
96
|
+
Derivative Works a copy of this License; and
|
97
|
+
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
99
|
+
stating that You changed the files; and
|
100
|
+
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
103
|
+
attribution notices from the Source form of the Work,
|
104
|
+
excluding those notices that do not pertain to any part of
|
105
|
+
the Derivative Works; and
|
106
|
+
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
109
|
+
include a readable copy of the attribution notices contained
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
112
|
+
of the following places: within a NOTICE text file distributed
|
113
|
+
as part of the Derivative Works; within the Source form or
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
115
|
+
within a display generated by the Derivative Works, if and
|
116
|
+
wherever such third-party notices normally appear. The contents
|
117
|
+
of the NOTICE file are for informational purposes only and
|
118
|
+
do not modify the License. You may add Your own attribution
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
121
|
+
that such additional attribution notices cannot be construed
|
122
|
+
as modifying the License.
|
123
|
+
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
125
|
+
may provide additional or different license terms and conditions
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
129
|
+
the conditions stated in this License.
|
130
|
+
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
134
|
+
this License, without any additional terms or conditions.
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
136
|
+
the terms of any separate license agreement you may have executed
|
137
|
+
with Licensor regarding such Contributions.
|
138
|
+
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
141
|
+
except as required for reasonable and customary use in describing the
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
143
|
+
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
153
|
+
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
159
|
+
incidental, or consequential damages of any character arising as a
|
160
|
+
result of this License or out of the use or inability to use the
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
163
|
+
other commercial damages or losses), even if such Contributor
|
164
|
+
has been advised of the possibility of such damages.
|
165
|
+
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
169
|
+
or other liability obligations and/or rights consistent with this
|
170
|
+
License. However, in accepting such obligations, You may act only
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
175
|
+
of your accepting any such warranty or additional liability.
|
176
|
+
|
177
|
+
END OF TERMS AND CONDITIONS
|
178
|
+
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
180
|
+
|
181
|
+
To apply the Apache License to your work, attach the following
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
183
|
+
replaced with your own identifying information. (Don't include
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
185
|
+
comment syntax for the file format. We also recommend that a
|
186
|
+
file or class name and description of purpose be included on the
|
187
|
+
same "printed page" as the copyright notice for easier
|
188
|
+
identification within third-party archives.
|
189
|
+
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
191
|
+
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193
|
+
you may not use this file except in compliance with the License.
|
194
|
+
You may obtain a copy of the License at
|
195
|
+
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
197
|
+
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201
|
+
See the License for the specific language governing permissions and
|
202
|
+
limitations under the License.
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.19.0
|
@@ -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/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-accessanalyzer/customizations'
|
|
48
48
|
# @!group service
|
49
49
|
module Aws::AccessAnalyzer
|
50
50
|
|
51
|
-
GEM_VERSION = '1.
|
51
|
+
GEM_VERSION = '1.19.0'
|
52
52
|
|
53
53
|
end
|
@@ -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/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -361,6 +361,147 @@ module Aws::AccessAnalyzer
|
|
361
361
|
req.send_request(options)
|
362
362
|
end
|
363
363
|
|
364
|
+
# Cancels the requested policy generation.
|
365
|
+
#
|
366
|
+
# @option params [required, String] :job_id
|
367
|
+
# The `JobId` that is returned by the `StartPolicyGeneration` operation.
|
368
|
+
# The `JobId` can be used with `GetGeneratedPolicy` to retrieve the
|
369
|
+
# generated policies or used with `CancelPolicyGeneration` to cancel the
|
370
|
+
# policy generation request.
|
371
|
+
#
|
372
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
373
|
+
#
|
374
|
+
# @example Request syntax with placeholder values
|
375
|
+
#
|
376
|
+
# resp = client.cancel_policy_generation({
|
377
|
+
# job_id: "JobId", # required
|
378
|
+
# })
|
379
|
+
#
|
380
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CancelPolicyGeneration AWS API Documentation
|
381
|
+
#
|
382
|
+
# @overload cancel_policy_generation(params = {})
|
383
|
+
# @param [Hash] params ({})
|
384
|
+
def cancel_policy_generation(params = {}, options = {})
|
385
|
+
req = build_request(:cancel_policy_generation, params)
|
386
|
+
req.send_request(options)
|
387
|
+
end
|
388
|
+
|
389
|
+
# Creates an access preview that allows you to preview Access Analyzer
|
390
|
+
# findings for your resource before deploying resource permissions.
|
391
|
+
#
|
392
|
+
# @option params [required, String] :analyzer_arn
|
393
|
+
# The [ARN of the account analyzer][1] used to generate the access
|
394
|
+
# preview. You can only create an access preview for analyzers with an
|
395
|
+
# `Account` type and `Active` status.
|
396
|
+
#
|
397
|
+
#
|
398
|
+
#
|
399
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
400
|
+
#
|
401
|
+
# @option params [String] :client_token
|
402
|
+
# A client token.
|
403
|
+
#
|
404
|
+
# **A suitable default value is auto-generated.** You should normally
|
405
|
+
# not need to pass this option.**
|
406
|
+
#
|
407
|
+
# @option params [required, Hash<String,Types::Configuration>] :configurations
|
408
|
+
# Access control configuration for your resource that is used to
|
409
|
+
# generate the access preview. The access preview includes findings for
|
410
|
+
# external access allowed to the resource with the proposed access
|
411
|
+
# control configuration. The configuration must contain exactly one
|
412
|
+
# element.
|
413
|
+
#
|
414
|
+
# @return [Types::CreateAccessPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
415
|
+
#
|
416
|
+
# * {Types::CreateAccessPreviewResponse#id #id} => String
|
417
|
+
#
|
418
|
+
# @example Request syntax with placeholder values
|
419
|
+
#
|
420
|
+
# resp = client.create_access_preview({
|
421
|
+
# analyzer_arn: "AnalyzerArn", # required
|
422
|
+
# client_token: "String",
|
423
|
+
# configurations: { # required
|
424
|
+
# "ConfigurationsMapKey" => {
|
425
|
+
# iam_role: {
|
426
|
+
# trust_policy: "IamTrustPolicy",
|
427
|
+
# },
|
428
|
+
# kms_key: {
|
429
|
+
# grants: [
|
430
|
+
# {
|
431
|
+
# constraints: {
|
432
|
+
# encryption_context_equals: {
|
433
|
+
# "KmsConstraintsKey" => "KmsConstraintsValue",
|
434
|
+
# },
|
435
|
+
# encryption_context_subset: {
|
436
|
+
# "KmsConstraintsKey" => "KmsConstraintsValue",
|
437
|
+
# },
|
438
|
+
# },
|
439
|
+
# grantee_principal: "GranteePrincipal", # required
|
440
|
+
# issuing_account: "IssuingAccount", # required
|
441
|
+
# operations: ["CreateGrant"], # required, accepts CreateGrant, Decrypt, DescribeKey, Encrypt, GenerateDataKey, GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, GenerateDataKeyWithoutPlaintext, GetPublicKey, ReEncryptFrom, ReEncryptTo, RetireGrant, Sign, Verify
|
442
|
+
# retiring_principal: "RetiringPrincipal",
|
443
|
+
# },
|
444
|
+
# ],
|
445
|
+
# key_policies: {
|
446
|
+
# "PolicyName" => "KmsKeyPolicy",
|
447
|
+
# },
|
448
|
+
# },
|
449
|
+
# s3_bucket: {
|
450
|
+
# access_points: {
|
451
|
+
# "AccessPointArn" => {
|
452
|
+
# access_point_policy: "AccessPointPolicy",
|
453
|
+
# network_origin: {
|
454
|
+
# internet_configuration: {
|
455
|
+
# },
|
456
|
+
# vpc_configuration: {
|
457
|
+
# vpc_id: "VpcId", # required
|
458
|
+
# },
|
459
|
+
# },
|
460
|
+
# public_access_block: {
|
461
|
+
# ignore_public_acls: false, # required
|
462
|
+
# restrict_public_buckets: false, # required
|
463
|
+
# },
|
464
|
+
# },
|
465
|
+
# },
|
466
|
+
# bucket_acl_grants: [
|
467
|
+
# {
|
468
|
+
# grantee: { # required
|
469
|
+
# id: "AclCanonicalId",
|
470
|
+
# uri: "AclUri",
|
471
|
+
# },
|
472
|
+
# permission: "READ", # required, accepts READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL
|
473
|
+
# },
|
474
|
+
# ],
|
475
|
+
# bucket_policy: "S3BucketPolicy",
|
476
|
+
# bucket_public_access_block: {
|
477
|
+
# ignore_public_acls: false, # required
|
478
|
+
# restrict_public_buckets: false, # required
|
479
|
+
# },
|
480
|
+
# },
|
481
|
+
# secrets_manager_secret: {
|
482
|
+
# kms_key_id: "SecretsManagerSecretKmsId",
|
483
|
+
# secret_policy: "SecretsManagerSecretPolicy",
|
484
|
+
# },
|
485
|
+
# sqs_queue: {
|
486
|
+
# queue_policy: "SqsQueuePolicy",
|
487
|
+
# },
|
488
|
+
# },
|
489
|
+
# },
|
490
|
+
# })
|
491
|
+
#
|
492
|
+
# @example Response structure
|
493
|
+
#
|
494
|
+
# resp.id #=> String
|
495
|
+
#
|
496
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAccessPreview AWS API Documentation
|
497
|
+
#
|
498
|
+
# @overload create_access_preview(params = {})
|
499
|
+
# @param [Hash] params ({})
|
500
|
+
def create_access_preview(params = {}, options = {})
|
501
|
+
req = build_request(:create_access_preview, params)
|
502
|
+
req.send_request(options)
|
503
|
+
end
|
504
|
+
|
364
505
|
# Creates an analyzer for your account.
|
365
506
|
#
|
366
507
|
# @option params [required, String] :analyzer_name
|
@@ -381,8 +522,10 @@ module Aws::AccessAnalyzer
|
|
381
522
|
# The tags to apply to the analyzer.
|
382
523
|
#
|
383
524
|
# @option params [required, String] :type
|
384
|
-
# The type of analyzer to create. Only ACCOUNT
|
385
|
-
# You can create only one analyzer per account
|
525
|
+
# The type of analyzer to create. Only ACCOUNT and ORGANIZATION
|
526
|
+
# analyzers are supported. You can create only one analyzer per account
|
527
|
+
# per Region. You can create up to 5 analyzers per organization per
|
528
|
+
# Region.
|
386
529
|
#
|
387
530
|
# @return [Types::CreateAnalyzerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
388
531
|
#
|
@@ -429,6 +572,13 @@ module Aws::AccessAnalyzer
|
|
429
572
|
# automatically archive new findings that meet the criteria you define
|
430
573
|
# when you create the rule.
|
431
574
|
#
|
575
|
+
# To learn about filter keys that you can use to create an archive rule,
|
576
|
+
# see [Access Analyzer filter keys][1] in the **IAM User Guide**.
|
577
|
+
#
|
578
|
+
#
|
579
|
+
#
|
580
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html
|
581
|
+
#
|
432
582
|
# @option params [required, String] :analyzer_name
|
433
583
|
# The name of the created analyzer.
|
434
584
|
#
|
@@ -472,9 +622,9 @@ module Aws::AccessAnalyzer
|
|
472
622
|
end
|
473
623
|
|
474
624
|
# Deletes the specified analyzer. When you delete an analyzer, Access
|
475
|
-
# Analyzer is disabled for the account in the current or
|
476
|
-
# Region. All findings that were generated by the analyzer are
|
477
|
-
# You cannot undo this action.
|
625
|
+
# Analyzer is disabled for the account or organization in the current or
|
626
|
+
# specific Region. All findings that were generated by the analyzer are
|
627
|
+
# deleted. You cannot undo this action.
|
478
628
|
#
|
479
629
|
# @option params [required, String] :analyzer_name
|
480
630
|
# The name of the analyzer to delete.
|
@@ -537,10 +687,84 @@ module Aws::AccessAnalyzer
|
|
537
687
|
req.send_request(options)
|
538
688
|
end
|
539
689
|
|
690
|
+
# Retrieves information about an access preview for the specified
|
691
|
+
# analyzer.
|
692
|
+
#
|
693
|
+
# @option params [required, String] :access_preview_id
|
694
|
+
# The unique ID for the access preview.
|
695
|
+
#
|
696
|
+
# @option params [required, String] :analyzer_arn
|
697
|
+
# The [ARN of the analyzer][1] used to generate the access preview.
|
698
|
+
#
|
699
|
+
#
|
700
|
+
#
|
701
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
702
|
+
#
|
703
|
+
# @return [Types::GetAccessPreviewResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
704
|
+
#
|
705
|
+
# * {Types::GetAccessPreviewResponse#access_preview #access_preview} => Types::AccessPreview
|
706
|
+
#
|
707
|
+
# @example Request syntax with placeholder values
|
708
|
+
#
|
709
|
+
# resp = client.get_access_preview({
|
710
|
+
# access_preview_id: "AccessPreviewId", # required
|
711
|
+
# analyzer_arn: "AnalyzerArn", # required
|
712
|
+
# })
|
713
|
+
#
|
714
|
+
# @example Response structure
|
715
|
+
#
|
716
|
+
# resp.access_preview.analyzer_arn #=> String
|
717
|
+
# resp.access_preview.configurations #=> Hash
|
718
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].iam_role.trust_policy #=> String
|
719
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants #=> Array
|
720
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].constraints.encryption_context_equals #=> Hash
|
721
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].constraints.encryption_context_equals["KmsConstraintsKey"] #=> String
|
722
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].constraints.encryption_context_subset #=> Hash
|
723
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].constraints.encryption_context_subset["KmsConstraintsKey"] #=> String
|
724
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].grantee_principal #=> String
|
725
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].issuing_account #=> String
|
726
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].operations #=> Array
|
727
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].operations[0] #=> String, one of "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateDataKeyWithoutPlaintext", "GetPublicKey", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "Sign", "Verify"
|
728
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.grants[0].retiring_principal #=> String
|
729
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.key_policies #=> Hash
|
730
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].kms_key.key_policies["PolicyName"] #=> String
|
731
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.access_points #=> Hash
|
732
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.access_points["AccessPointArn"].access_point_policy #=> String
|
733
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.access_points["AccessPointArn"].network_origin.vpc_configuration.vpc_id #=> String
|
734
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.access_points["AccessPointArn"].public_access_block.ignore_public_acls #=> Boolean
|
735
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.access_points["AccessPointArn"].public_access_block.restrict_public_buckets #=> Boolean
|
736
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_acl_grants #=> Array
|
737
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_acl_grants[0].grantee.id #=> String
|
738
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_acl_grants[0].grantee.uri #=> String
|
739
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_acl_grants[0].permission #=> String, one of "READ", "WRITE", "READ_ACP", "WRITE_ACP", "FULL_CONTROL"
|
740
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_policy #=> String
|
741
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_public_access_block.ignore_public_acls #=> Boolean
|
742
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].s3_bucket.bucket_public_access_block.restrict_public_buckets #=> Boolean
|
743
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].secrets_manager_secret.kms_key_id #=> String
|
744
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].secrets_manager_secret.secret_policy #=> String
|
745
|
+
# resp.access_preview.configurations["ConfigurationsMapKey"].sqs_queue.queue_policy #=> String
|
746
|
+
# resp.access_preview.created_at #=> Time
|
747
|
+
# resp.access_preview.id #=> String
|
748
|
+
# resp.access_preview.status #=> String, one of "COMPLETED", "CREATING", "FAILED"
|
749
|
+
# resp.access_preview.status_reason.code #=> String, one of "INTERNAL_ERROR", "INVALID_CONFIGURATION"
|
750
|
+
#
|
751
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAccessPreview AWS API Documentation
|
752
|
+
#
|
753
|
+
# @overload get_access_preview(params = {})
|
754
|
+
# @param [Hash] params ({})
|
755
|
+
def get_access_preview(params = {}, options = {})
|
756
|
+
req = build_request(:get_access_preview, params)
|
757
|
+
req.send_request(options)
|
758
|
+
end
|
759
|
+
|
540
760
|
# Retrieves information about a resource that was analyzed.
|
541
761
|
#
|
542
762
|
# @option params [required, String] :analyzer_arn
|
543
|
-
# The ARN of the analyzer to retrieve information from.
|
763
|
+
# The [ARN of the analyzer][1] to retrieve information from.
|
764
|
+
#
|
765
|
+
#
|
766
|
+
#
|
767
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
544
768
|
#
|
545
769
|
# @option params [required, String] :resource_arn
|
546
770
|
# The ARN of the resource to retrieve information about.
|
@@ -566,7 +790,7 @@ module Aws::AccessAnalyzer
|
|
566
790
|
# resp.resource.is_public #=> Boolean
|
567
791
|
# resp.resource.resource_arn #=> String
|
568
792
|
# resp.resource.resource_owner_account #=> String
|
569
|
-
# resp.resource.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key"
|
793
|
+
# resp.resource.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret"
|
570
794
|
# resp.resource.shared_via #=> Array
|
571
795
|
# resp.resource.shared_via[0] #=> String
|
572
796
|
# resp.resource.status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
|
@@ -670,7 +894,11 @@ module Aws::AccessAnalyzer
|
|
670
894
|
# Retrieves information about the specified finding.
|
671
895
|
#
|
672
896
|
# @option params [required, String] :analyzer_arn
|
673
|
-
# The ARN of the analyzer that generated the finding.
|
897
|
+
# The [ARN of the analyzer][1] that generated the finding.
|
898
|
+
#
|
899
|
+
#
|
900
|
+
#
|
901
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
674
902
|
#
|
675
903
|
# @option params [required, String] :id
|
676
904
|
# The ID of the finding to retrieve.
|
@@ -701,7 +929,7 @@ module Aws::AccessAnalyzer
|
|
701
929
|
# resp.finding.principal["String"] #=> String
|
702
930
|
# resp.finding.resource #=> String
|
703
931
|
# resp.finding.resource_owner_account #=> String
|
704
|
-
# resp.finding.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key"
|
932
|
+
# resp.finding.resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret"
|
705
933
|
# resp.finding.sources #=> Array
|
706
934
|
# resp.finding.sources[0].detail.access_point_arn #=> String
|
707
935
|
# resp.finding.sources[0].type #=> String, one of "POLICY", "BUCKET_ACL", "S3_ACCESS_POINT"
|
@@ -717,11 +945,211 @@ module Aws::AccessAnalyzer
|
|
717
945
|
req.send_request(options)
|
718
946
|
end
|
719
947
|
|
948
|
+
# Retrieves the policy that was generated using `StartPolicyGeneration`.
|
949
|
+
#
|
950
|
+
# @option params [Boolean] :include_resource_placeholders
|
951
|
+
# The level of detail that you want to generate. You can specify whether
|
952
|
+
# to generate policies with placeholders for resource ARNs for actions
|
953
|
+
# that support resource level granularity in policies.
|
954
|
+
#
|
955
|
+
# For example, in the resource section of a policy, you can receive a
|
956
|
+
# placeholder such as `"Resource":"arn:aws:s3:::$\{BucketName\}"`
|
957
|
+
# instead of `"*"`.
|
958
|
+
#
|
959
|
+
# @option params [Boolean] :include_service_level_template
|
960
|
+
# The level of detail that you want to generate. You can specify whether
|
961
|
+
# to generate service-level policies.
|
962
|
+
#
|
963
|
+
# Access Analyzer uses `iam:servicelastaccessed` to identify services
|
964
|
+
# that have been used recently to create this service-level template.
|
965
|
+
#
|
966
|
+
# @option params [required, String] :job_id
|
967
|
+
# The `JobId` that is returned by the `StartPolicyGeneration` operation.
|
968
|
+
# The `JobId` can be used with `GetGeneratedPolicy` to retrieve the
|
969
|
+
# generated policies or used with `CancelPolicyGeneration` to cancel the
|
970
|
+
# policy generation request.
|
971
|
+
#
|
972
|
+
# @return [Types::GetGeneratedPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
973
|
+
#
|
974
|
+
# * {Types::GetGeneratedPolicyResponse#generated_policy_result #generated_policy_result} => Types::GeneratedPolicyResult
|
975
|
+
# * {Types::GetGeneratedPolicyResponse#job_details #job_details} => Types::JobDetails
|
976
|
+
#
|
977
|
+
# @example Request syntax with placeholder values
|
978
|
+
#
|
979
|
+
# resp = client.get_generated_policy({
|
980
|
+
# include_resource_placeholders: false,
|
981
|
+
# include_service_level_template: false,
|
982
|
+
# job_id: "JobId", # required
|
983
|
+
# })
|
984
|
+
#
|
985
|
+
# @example Response structure
|
986
|
+
#
|
987
|
+
# resp.generated_policy_result.generated_policies #=> Array
|
988
|
+
# resp.generated_policy_result.generated_policies[0].policy #=> String
|
989
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.end_time #=> Time
|
990
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.start_time #=> Time
|
991
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.trail_properties #=> Array
|
992
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.trail_properties[0].all_regions #=> Boolean
|
993
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.trail_properties[0].cloud_trail_arn #=> String
|
994
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.trail_properties[0].regions #=> Array
|
995
|
+
# resp.generated_policy_result.properties.cloud_trail_properties.trail_properties[0].regions[0] #=> String
|
996
|
+
# resp.generated_policy_result.properties.is_complete #=> Boolean
|
997
|
+
# resp.generated_policy_result.properties.principal_arn #=> String
|
998
|
+
# resp.job_details.completed_on #=> Time
|
999
|
+
# resp.job_details.job_error.code #=> String, one of "AUTHORIZATION_ERROR", "RESOURCE_NOT_FOUND_ERROR", "SERVICE_QUOTA_EXCEEDED_ERROR", "SERVICE_ERROR"
|
1000
|
+
# resp.job_details.job_error.message #=> String
|
1001
|
+
# resp.job_details.job_id #=> String
|
1002
|
+
# resp.job_details.started_on #=> Time
|
1003
|
+
# resp.job_details.status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED", "CANCELED"
|
1004
|
+
#
|
1005
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetGeneratedPolicy AWS API Documentation
|
1006
|
+
#
|
1007
|
+
# @overload get_generated_policy(params = {})
|
1008
|
+
# @param [Hash] params ({})
|
1009
|
+
def get_generated_policy(params = {}, options = {})
|
1010
|
+
req = build_request(:get_generated_policy, params)
|
1011
|
+
req.send_request(options)
|
1012
|
+
end
|
1013
|
+
|
1014
|
+
# Retrieves a list of access preview findings generated by the specified
|
1015
|
+
# access preview.
|
1016
|
+
#
|
1017
|
+
# @option params [required, String] :access_preview_id
|
1018
|
+
# The unique ID for the access preview.
|
1019
|
+
#
|
1020
|
+
# @option params [required, String] :analyzer_arn
|
1021
|
+
# The [ARN of the analyzer][1] used to generate the access.
|
1022
|
+
#
|
1023
|
+
#
|
1024
|
+
#
|
1025
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
1026
|
+
#
|
1027
|
+
# @option params [Hash<String,Types::Criterion>] :filter
|
1028
|
+
# Criteria to filter the returned findings.
|
1029
|
+
#
|
1030
|
+
# @option params [Integer] :max_results
|
1031
|
+
# The maximum number of results to return in the response.
|
1032
|
+
#
|
1033
|
+
# @option params [String] :next_token
|
1034
|
+
# A token used for pagination of results returned.
|
1035
|
+
#
|
1036
|
+
# @return [Types::ListAccessPreviewFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1037
|
+
#
|
1038
|
+
# * {Types::ListAccessPreviewFindingsResponse#findings #findings} => Array<Types::AccessPreviewFinding>
|
1039
|
+
# * {Types::ListAccessPreviewFindingsResponse#next_token #next_token} => String
|
1040
|
+
#
|
1041
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1042
|
+
#
|
1043
|
+
# @example Request syntax with placeholder values
|
1044
|
+
#
|
1045
|
+
# resp = client.list_access_preview_findings({
|
1046
|
+
# access_preview_id: "AccessPreviewId", # required
|
1047
|
+
# analyzer_arn: "AnalyzerArn", # required
|
1048
|
+
# filter: {
|
1049
|
+
# "String" => {
|
1050
|
+
# contains: ["String"],
|
1051
|
+
# eq: ["String"],
|
1052
|
+
# exists: false,
|
1053
|
+
# neq: ["String"],
|
1054
|
+
# },
|
1055
|
+
# },
|
1056
|
+
# max_results: 1,
|
1057
|
+
# next_token: "Token",
|
1058
|
+
# })
|
1059
|
+
#
|
1060
|
+
# @example Response structure
|
1061
|
+
#
|
1062
|
+
# resp.findings #=> Array
|
1063
|
+
# resp.findings[0].action #=> Array
|
1064
|
+
# resp.findings[0].action[0] #=> String
|
1065
|
+
# resp.findings[0].change_type #=> String, one of "CHANGED", "NEW", "UNCHANGED"
|
1066
|
+
# resp.findings[0].condition #=> Hash
|
1067
|
+
# resp.findings[0].condition["String"] #=> String
|
1068
|
+
# resp.findings[0].created_at #=> Time
|
1069
|
+
# resp.findings[0].error #=> String
|
1070
|
+
# resp.findings[0].existing_finding_id #=> String
|
1071
|
+
# resp.findings[0].existing_finding_status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
|
1072
|
+
# resp.findings[0].id #=> String
|
1073
|
+
# resp.findings[0].is_public #=> Boolean
|
1074
|
+
# resp.findings[0].principal #=> Hash
|
1075
|
+
# resp.findings[0].principal["String"] #=> String
|
1076
|
+
# resp.findings[0].resource #=> String
|
1077
|
+
# resp.findings[0].resource_owner_account #=> String
|
1078
|
+
# resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret"
|
1079
|
+
# resp.findings[0].sources #=> Array
|
1080
|
+
# resp.findings[0].sources[0].detail.access_point_arn #=> String
|
1081
|
+
# resp.findings[0].sources[0].type #=> String, one of "POLICY", "BUCKET_ACL", "S3_ACCESS_POINT"
|
1082
|
+
# resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
|
1083
|
+
# resp.next_token #=> String
|
1084
|
+
#
|
1085
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviewFindings AWS API Documentation
|
1086
|
+
#
|
1087
|
+
# @overload list_access_preview_findings(params = {})
|
1088
|
+
# @param [Hash] params ({})
|
1089
|
+
def list_access_preview_findings(params = {}, options = {})
|
1090
|
+
req = build_request(:list_access_preview_findings, params)
|
1091
|
+
req.send_request(options)
|
1092
|
+
end
|
1093
|
+
|
1094
|
+
# Retrieves a list of access previews for the specified analyzer.
|
1095
|
+
#
|
1096
|
+
# @option params [required, String] :analyzer_arn
|
1097
|
+
# The [ARN of the analyzer][1] used to generate the access preview.
|
1098
|
+
#
|
1099
|
+
#
|
1100
|
+
#
|
1101
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
1102
|
+
#
|
1103
|
+
# @option params [Integer] :max_results
|
1104
|
+
# The maximum number of results to return in the response.
|
1105
|
+
#
|
1106
|
+
# @option params [String] :next_token
|
1107
|
+
# A token used for pagination of results returned.
|
1108
|
+
#
|
1109
|
+
# @return [Types::ListAccessPreviewsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1110
|
+
#
|
1111
|
+
# * {Types::ListAccessPreviewsResponse#access_previews #access_previews} => Array<Types::AccessPreviewSummary>
|
1112
|
+
# * {Types::ListAccessPreviewsResponse#next_token #next_token} => String
|
1113
|
+
#
|
1114
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1115
|
+
#
|
1116
|
+
# @example Request syntax with placeholder values
|
1117
|
+
#
|
1118
|
+
# resp = client.list_access_previews({
|
1119
|
+
# analyzer_arn: "AnalyzerArn", # required
|
1120
|
+
# max_results: 1,
|
1121
|
+
# next_token: "Token",
|
1122
|
+
# })
|
1123
|
+
#
|
1124
|
+
# @example Response structure
|
1125
|
+
#
|
1126
|
+
# resp.access_previews #=> Array
|
1127
|
+
# resp.access_previews[0].analyzer_arn #=> String
|
1128
|
+
# resp.access_previews[0].created_at #=> Time
|
1129
|
+
# resp.access_previews[0].id #=> String
|
1130
|
+
# resp.access_previews[0].status #=> String, one of "COMPLETED", "CREATING", "FAILED"
|
1131
|
+
# resp.access_previews[0].status_reason.code #=> String, one of "INTERNAL_ERROR", "INVALID_CONFIGURATION"
|
1132
|
+
# resp.next_token #=> String
|
1133
|
+
#
|
1134
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAccessPreviews AWS API Documentation
|
1135
|
+
#
|
1136
|
+
# @overload list_access_previews(params = {})
|
1137
|
+
# @param [Hash] params ({})
|
1138
|
+
def list_access_previews(params = {}, options = {})
|
1139
|
+
req = build_request(:list_access_previews, params)
|
1140
|
+
req.send_request(options)
|
1141
|
+
end
|
1142
|
+
|
720
1143
|
# Retrieves a list of resources of the specified type that have been
|
721
1144
|
# analyzed by the specified analyzer..
|
722
1145
|
#
|
723
1146
|
# @option params [required, String] :analyzer_arn
|
724
|
-
# The ARN of the analyzer to retrieve a list of analyzed resources
|
1147
|
+
# The [ARN of the analyzer][1] to retrieve a list of analyzed resources
|
1148
|
+
# from.
|
1149
|
+
#
|
1150
|
+
#
|
1151
|
+
#
|
1152
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
725
1153
|
#
|
726
1154
|
# @option params [Integer] :max_results
|
727
1155
|
# The maximum number of results to return in the response.
|
@@ -745,7 +1173,7 @@ module Aws::AccessAnalyzer
|
|
745
1173
|
# analyzer_arn: "AnalyzerArn", # required
|
746
1174
|
# max_results: 1,
|
747
1175
|
# next_token: "Token",
|
748
|
-
# resource_type: "AWS::S3::Bucket", # accepts AWS::S3::Bucket, AWS::IAM::Role, AWS::SQS::Queue, AWS::Lambda::Function, AWS::Lambda::LayerVersion, AWS::KMS::Key
|
1176
|
+
# 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
|
749
1177
|
# })
|
750
1178
|
#
|
751
1179
|
# @example Response structure
|
@@ -753,7 +1181,7 @@ module Aws::AccessAnalyzer
|
|
753
1181
|
# resp.analyzed_resources #=> Array
|
754
1182
|
# resp.analyzed_resources[0].resource_arn #=> String
|
755
1183
|
# resp.analyzed_resources[0].resource_owner_account #=> String
|
756
|
-
# resp.analyzed_resources[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key"
|
1184
|
+
# resp.analyzed_resources[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret"
|
757
1185
|
# resp.next_token #=> String
|
758
1186
|
#
|
759
1187
|
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzedResources AWS API Documentation
|
@@ -868,15 +1296,20 @@ module Aws::AccessAnalyzer
|
|
868
1296
|
|
869
1297
|
# Retrieves a list of findings generated by the specified analyzer.
|
870
1298
|
#
|
871
|
-
# To learn about filter keys that you can use to
|
872
|
-
# see [Access Analyzer filter keys][1] in the **IAM User
|
1299
|
+
# To learn about filter keys that you can use to retrieve a list of
|
1300
|
+
# findings, see [Access Analyzer filter keys][1] in the **IAM User
|
1301
|
+
# Guide**.
|
873
1302
|
#
|
874
1303
|
#
|
875
1304
|
#
|
876
1305
|
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html
|
877
1306
|
#
|
878
1307
|
# @option params [required, String] :analyzer_arn
|
879
|
-
# The ARN of the analyzer to retrieve findings from.
|
1308
|
+
# The [ARN of the analyzer][1] to retrieve findings from.
|
1309
|
+
#
|
1310
|
+
#
|
1311
|
+
#
|
1312
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
880
1313
|
#
|
881
1314
|
# @option params [Hash<String,Types::Criterion>] :filter
|
882
1315
|
# A filter to match for the findings to return.
|
@@ -933,7 +1366,7 @@ module Aws::AccessAnalyzer
|
|
933
1366
|
# resp.findings[0].principal["String"] #=> String
|
934
1367
|
# resp.findings[0].resource #=> String
|
935
1368
|
# resp.findings[0].resource_owner_account #=> String
|
936
|
-
# resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key"
|
1369
|
+
# resp.findings[0].resource_type #=> String, one of "AWS::S3::Bucket", "AWS::IAM::Role", "AWS::SQS::Queue", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::KMS::Key", "AWS::SecretsManager::Secret"
|
937
1370
|
# resp.findings[0].sources #=> Array
|
938
1371
|
# resp.findings[0].sources[0].detail.access_point_arn #=> String
|
939
1372
|
# resp.findings[0].sources[0].type #=> String, one of "POLICY", "BUCKET_ACL", "S3_ACCESS_POINT"
|
@@ -950,6 +1383,53 @@ module Aws::AccessAnalyzer
|
|
950
1383
|
req.send_request(options)
|
951
1384
|
end
|
952
1385
|
|
1386
|
+
# Lists all of the policy generations requested in the last seven days.
|
1387
|
+
#
|
1388
|
+
# @option params [Integer] :max_results
|
1389
|
+
# The maximum number of results to return in the response.
|
1390
|
+
#
|
1391
|
+
# @option params [String] :next_token
|
1392
|
+
# A token used for pagination of results returned.
|
1393
|
+
#
|
1394
|
+
# @option params [String] :principal_arn
|
1395
|
+
# The ARN of the IAM entity (user or role) for which you are generating
|
1396
|
+
# a policy. Use this with `ListGeneratedPolicies` to filter the results
|
1397
|
+
# to only include results for a specific principal.
|
1398
|
+
#
|
1399
|
+
# @return [Types::ListPolicyGenerationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1400
|
+
#
|
1401
|
+
# * {Types::ListPolicyGenerationsResponse#next_token #next_token} => String
|
1402
|
+
# * {Types::ListPolicyGenerationsResponse#policy_generations #policy_generations} => Array<Types::PolicyGeneration>
|
1403
|
+
#
|
1404
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1405
|
+
#
|
1406
|
+
# @example Request syntax with placeholder values
|
1407
|
+
#
|
1408
|
+
# resp = client.list_policy_generations({
|
1409
|
+
# max_results: 1,
|
1410
|
+
# next_token: "Token",
|
1411
|
+
# principal_arn: "PrincipalArn",
|
1412
|
+
# })
|
1413
|
+
#
|
1414
|
+
# @example Response structure
|
1415
|
+
#
|
1416
|
+
# resp.next_token #=> String
|
1417
|
+
# resp.policy_generations #=> Array
|
1418
|
+
# resp.policy_generations[0].completed_on #=> Time
|
1419
|
+
# resp.policy_generations[0].job_id #=> String
|
1420
|
+
# resp.policy_generations[0].principal_arn #=> String
|
1421
|
+
# resp.policy_generations[0].started_on #=> Time
|
1422
|
+
# resp.policy_generations[0].status #=> String, one of "IN_PROGRESS", "SUCCEEDED", "FAILED", "CANCELED"
|
1423
|
+
#
|
1424
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListPolicyGenerations AWS API Documentation
|
1425
|
+
#
|
1426
|
+
# @overload list_policy_generations(params = {})
|
1427
|
+
# @param [Hash] params ({})
|
1428
|
+
def list_policy_generations(params = {}, options = {})
|
1429
|
+
req = build_request(:list_policy_generations, params)
|
1430
|
+
req.send_request(options)
|
1431
|
+
end
|
1432
|
+
|
953
1433
|
# Retrieves a list of tags applied to the specified resource.
|
954
1434
|
#
|
955
1435
|
# @option params [required, String] :resource_arn
|
@@ -979,12 +1459,78 @@ module Aws::AccessAnalyzer
|
|
979
1459
|
req.send_request(options)
|
980
1460
|
end
|
981
1461
|
|
1462
|
+
# Starts the policy generation request.
|
1463
|
+
#
|
1464
|
+
# @option params [String] :client_token
|
1465
|
+
# A unique, case-sensitive identifier that you provide to ensure the
|
1466
|
+
# idempotency of the request. Idempotency ensures that an API request
|
1467
|
+
# completes only once. With an idempotent request, if the original
|
1468
|
+
# request completes successfully, the subsequent retries with the same
|
1469
|
+
# client token return the result from the original successful request
|
1470
|
+
# and they have no additional effect.
|
1471
|
+
#
|
1472
|
+
# If you do not specify a client token, one is automatically generated
|
1473
|
+
# by the AWS SDK.
|
1474
|
+
#
|
1475
|
+
# **A suitable default value is auto-generated.** You should normally
|
1476
|
+
# not need to pass this option.**
|
1477
|
+
#
|
1478
|
+
# @option params [Types::CloudTrailDetails] :cloud_trail_details
|
1479
|
+
# A `CloudTrailDetails` object that contains details about a `Trail`
|
1480
|
+
# that you want to analyze to generate policies.
|
1481
|
+
#
|
1482
|
+
# @option params [required, Types::PolicyGenerationDetails] :policy_generation_details
|
1483
|
+
# Contains the ARN of the IAM entity (user or role) for which you are
|
1484
|
+
# generating a policy.
|
1485
|
+
#
|
1486
|
+
# @return [Types::StartPolicyGenerationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1487
|
+
#
|
1488
|
+
# * {Types::StartPolicyGenerationResponse#job_id #job_id} => String
|
1489
|
+
#
|
1490
|
+
# @example Request syntax with placeholder values
|
1491
|
+
#
|
1492
|
+
# resp = client.start_policy_generation({
|
1493
|
+
# client_token: "String",
|
1494
|
+
# cloud_trail_details: {
|
1495
|
+
# access_role: "RoleArn", # required
|
1496
|
+
# end_time: Time.now,
|
1497
|
+
# start_time: Time.now, # required
|
1498
|
+
# trails: [ # required
|
1499
|
+
# {
|
1500
|
+
# all_regions: false,
|
1501
|
+
# cloud_trail_arn: "CloudTrailArn", # required
|
1502
|
+
# regions: ["String"],
|
1503
|
+
# },
|
1504
|
+
# ],
|
1505
|
+
# },
|
1506
|
+
# policy_generation_details: { # required
|
1507
|
+
# principal_arn: "PrincipalArn", # required
|
1508
|
+
# },
|
1509
|
+
# })
|
1510
|
+
#
|
1511
|
+
# @example Response structure
|
1512
|
+
#
|
1513
|
+
# resp.job_id #=> String
|
1514
|
+
#
|
1515
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StartPolicyGeneration AWS API Documentation
|
1516
|
+
#
|
1517
|
+
# @overload start_policy_generation(params = {})
|
1518
|
+
# @param [Hash] params ({})
|
1519
|
+
def start_policy_generation(params = {}, options = {})
|
1520
|
+
req = build_request(:start_policy_generation, params)
|
1521
|
+
req.send_request(options)
|
1522
|
+
end
|
1523
|
+
|
982
1524
|
# Immediately starts a scan of the policies applied to the specified
|
983
1525
|
# resource.
|
984
1526
|
#
|
985
1527
|
# @option params [required, String] :analyzer_arn
|
986
|
-
# The ARN of the analyzer to use to scan the policies applied to
|
987
|
-
# specified resource.
|
1528
|
+
# The [ARN of the analyzer][1] to use to scan the policies applied to
|
1529
|
+
# the specified resource.
|
1530
|
+
#
|
1531
|
+
#
|
1532
|
+
#
|
1533
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
988
1534
|
#
|
989
1535
|
# @option params [required, String] :resource_arn
|
990
1536
|
# The ARN of the resource to scan.
|
@@ -1109,7 +1655,11 @@ module Aws::AccessAnalyzer
|
|
1109
1655
|
# Updates the status for the specified findings.
|
1110
1656
|
#
|
1111
1657
|
# @option params [required, String] :analyzer_arn
|
1112
|
-
# The ARN of the analyzer that generated the findings to update.
|
1658
|
+
# The [ARN of the analyzer][1] that generated the findings to update.
|
1659
|
+
#
|
1660
|
+
#
|
1661
|
+
#
|
1662
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
|
1113
1663
|
#
|
1114
1664
|
# @option params [String] :client_token
|
1115
1665
|
# A client token.
|
@@ -1149,6 +1699,84 @@ module Aws::AccessAnalyzer
|
|
1149
1699
|
req.send_request(options)
|
1150
1700
|
end
|
1151
1701
|
|
1702
|
+
# Requests the validation of a policy and returns a list of findings.
|
1703
|
+
# The findings help you identify issues and provide actionable
|
1704
|
+
# recommendations to resolve the issue and enable you to author
|
1705
|
+
# functional policies that meet security best practices.
|
1706
|
+
#
|
1707
|
+
# @option params [String] :locale
|
1708
|
+
# The locale to use for localizing the findings.
|
1709
|
+
#
|
1710
|
+
# @option params [Integer] :max_results
|
1711
|
+
# The maximum number of results to return in the response.
|
1712
|
+
#
|
1713
|
+
# @option params [String] :next_token
|
1714
|
+
# A token used for pagination of results returned.
|
1715
|
+
#
|
1716
|
+
# @option params [required, String] :policy_document
|
1717
|
+
# The JSON policy document to use as the content for the policy.
|
1718
|
+
#
|
1719
|
+
# @option params [required, String] :policy_type
|
1720
|
+
# The type of policy to validate. Identity policies grant permissions to
|
1721
|
+
# IAM principals. Identity policies include managed and inline policies
|
1722
|
+
# for IAM roles, users, and groups. They also include service-control
|
1723
|
+
# policies (SCPs) that are attached to an AWS organization,
|
1724
|
+
# organizational unit (OU), or an account.
|
1725
|
+
#
|
1726
|
+
# Resource policies grant permissions on AWS resources. Resource
|
1727
|
+
# policies include trust policies for IAM roles and bucket policies for
|
1728
|
+
# S3 buckets. You can provide a generic input such as identity policy or
|
1729
|
+
# resource policy or a specific input such as managed policy or S3
|
1730
|
+
# bucket policy.
|
1731
|
+
#
|
1732
|
+
# @return [Types::ValidatePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1733
|
+
#
|
1734
|
+
# * {Types::ValidatePolicyResponse#findings #findings} => Array<Types::ValidatePolicyFinding>
|
1735
|
+
# * {Types::ValidatePolicyResponse#next_token #next_token} => String
|
1736
|
+
#
|
1737
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1738
|
+
#
|
1739
|
+
# @example Request syntax with placeholder values
|
1740
|
+
#
|
1741
|
+
# resp = client.validate_policy({
|
1742
|
+
# locale: "DE", # accepts DE, EN, ES, FR, IT, JA, KO, PT_BR, ZH_CN, ZH_TW
|
1743
|
+
# max_results: 1,
|
1744
|
+
# next_token: "Token",
|
1745
|
+
# policy_document: "PolicyDocument", # required
|
1746
|
+
# policy_type: "IDENTITY_POLICY", # required, accepts IDENTITY_POLICY, RESOURCE_POLICY, SERVICE_CONTROL_POLICY
|
1747
|
+
# })
|
1748
|
+
#
|
1749
|
+
# @example Response structure
|
1750
|
+
#
|
1751
|
+
# resp.findings #=> Array
|
1752
|
+
# resp.findings[0].finding_details #=> String
|
1753
|
+
# resp.findings[0].finding_type #=> String, one of "ERROR", "SECURITY_WARNING", "SUGGESTION", "WARNING"
|
1754
|
+
# resp.findings[0].issue_code #=> String
|
1755
|
+
# resp.findings[0].learn_more_link #=> String
|
1756
|
+
# resp.findings[0].locations #=> Array
|
1757
|
+
# resp.findings[0].locations[0].path #=> Array
|
1758
|
+
# resp.findings[0].locations[0].path[0].index #=> Integer
|
1759
|
+
# resp.findings[0].locations[0].path[0].key #=> String
|
1760
|
+
# resp.findings[0].locations[0].path[0].substring.length #=> Integer
|
1761
|
+
# resp.findings[0].locations[0].path[0].substring.start #=> Integer
|
1762
|
+
# resp.findings[0].locations[0].path[0].value #=> String
|
1763
|
+
# resp.findings[0].locations[0].span.end.column #=> Integer
|
1764
|
+
# resp.findings[0].locations[0].span.end.line #=> Integer
|
1765
|
+
# resp.findings[0].locations[0].span.end.offset #=> Integer
|
1766
|
+
# resp.findings[0].locations[0].span.start.column #=> Integer
|
1767
|
+
# resp.findings[0].locations[0].span.start.line #=> Integer
|
1768
|
+
# resp.findings[0].locations[0].span.start.offset #=> Integer
|
1769
|
+
# resp.next_token #=> String
|
1770
|
+
#
|
1771
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ValidatePolicy AWS API Documentation
|
1772
|
+
#
|
1773
|
+
# @overload validate_policy(params = {})
|
1774
|
+
# @param [Hash] params ({})
|
1775
|
+
def validate_policy(params = {}, options = {})
|
1776
|
+
req = build_request(:validate_policy, params)
|
1777
|
+
req.send_request(options)
|
1778
|
+
end
|
1779
|
+
|
1152
1780
|
# @!endgroup
|
1153
1781
|
|
1154
1782
|
# @param params ({})
|
@@ -1162,7 +1790,7 @@ module Aws::AccessAnalyzer
|
|
1162
1790
|
params: params,
|
1163
1791
|
config: config)
|
1164
1792
|
context[:gem_name] = 'aws-sdk-accessanalyzer'
|
1165
|
-
context[:gem_version] = '1.
|
1793
|
+
context[:gem_version] = '1.19.0'
|
1166
1794
|
Seahorse::Client::Request.new(handlers, context)
|
1167
1795
|
end
|
1168
1796
|
|