@aws-sdk/client-accessanalyzer 3.451.0 → 3.458.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.
- package/README.md +84 -37
- package/dist-cjs/AccessAnalyzer.js +8 -0
- package/dist-cjs/commands/CheckAccessNotGrantedCommand.js +52 -0
- package/dist-cjs/commands/CheckNoNewAccessCommand.js +52 -0
- package/dist-cjs/commands/GetFindingV2Command.js +51 -0
- package/dist-cjs/commands/ListFindingsV2Command.js +51 -0
- package/dist-cjs/commands/index.js +4 -0
- package/dist-cjs/models/models_0.js +83 -1
- package/dist-cjs/pagination/GetFindingV2Paginator.js +29 -0
- package/dist-cjs/pagination/ListFindingsV2Paginator.js +29 -0
- package/dist-cjs/pagination/index.js +2 -0
- package/dist-cjs/protocols/Aws_restJson1.js +426 -2
- package/dist-es/AccessAnalyzer.js +8 -0
- package/dist-es/commands/CheckAccessNotGrantedCommand.js +48 -0
- package/dist-es/commands/CheckNoNewAccessCommand.js +48 -0
- package/dist-es/commands/GetFindingV2Command.js +47 -0
- package/dist-es/commands/ListFindingsV2Command.js +47 -0
- package/dist-es/commands/index.js +4 -0
- package/dist-es/models/models_0.js +78 -0
- package/dist-es/pagination/GetFindingV2Paginator.js +25 -0
- package/dist-es/pagination/ListFindingsV2Paginator.js +25 -0
- package/dist-es/pagination/index.js +2 -0
- package/dist-es/protocols/Aws_restJson1.js +417 -1
- package/dist-types/AccessAnalyzer.d.ts +52 -9
- package/dist-types/AccessAnalyzerClient.d.ts +30 -11
- package/dist-types/commands/CheckAccessNotGrantedCommand.d.ts +107 -0
- package/dist-types/commands/CheckNoNewAccessCommand.d.ts +106 -0
- package/dist-types/commands/CreateAnalyzerCommand.d.ts +5 -0
- package/dist-types/commands/GetAnalyzerCommand.d.ts +5 -0
- package/dist-types/commands/GetFindingV2Command.d.ts +146 -0
- package/dist-types/commands/ListAnalyzersCommand.d.ts +5 -0
- package/dist-types/commands/ListFindingsV2Command.d.ts +123 -0
- package/dist-types/commands/index.d.ts +4 -0
- package/dist-types/index.d.ts +24 -9
- package/dist-types/models/models_0.d.ts +705 -11
- package/dist-types/pagination/GetFindingV2Paginator.d.ts +7 -0
- package/dist-types/pagination/ListFindingsV2Paginator.d.ts +7 -0
- package/dist-types/pagination/index.d.ts +2 -0
- package/dist-types/protocols/Aws_restJson1.d.ts +36 -0
- package/dist-types/ts3.4/AccessAnalyzer.d.ts +68 -0
- package/dist-types/ts3.4/AccessAnalyzerClient.d.ts +24 -0
- package/dist-types/ts3.4/commands/CheckAccessNotGrantedCommand.d.ts +42 -0
- package/dist-types/ts3.4/commands/CheckNoNewAccessCommand.d.ts +38 -0
- package/dist-types/ts3.4/commands/GetFindingV2Command.d.ts +35 -0
- package/dist-types/ts3.4/commands/ListFindingsV2Command.d.ts +38 -0
- package/dist-types/ts3.4/commands/index.d.ts +4 -0
- package/dist-types/ts3.4/models/models_0.d.ts +238 -1
- package/dist-types/ts3.4/pagination/GetFindingV2Paginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/ListFindingsV2Paginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/index.d.ts +2 -0
- package/dist-types/ts3.4/protocols/Aws_restJson1.d.ts +48 -0
- package/package.json +3 -3
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
|
|
2
2
|
import { AccessAnalyzerServiceException as __BaseException } from "./AccessAnalyzerServiceException";
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
* <p>Contains information about actions that define permissions to check against a
|
|
6
|
+
* policy.</p>
|
|
7
|
+
*/
|
|
8
|
+
export interface Access {
|
|
9
|
+
/**
|
|
10
|
+
* @public
|
|
11
|
+
* <p>A list of actions for the access permissions.</p>
|
|
12
|
+
*/
|
|
13
|
+
actions: string[] | undefined;
|
|
14
|
+
}
|
|
3
15
|
/**
|
|
4
16
|
* @public
|
|
5
17
|
* <p>You do not have sufficient access to perform this action.</p>
|
|
@@ -37,8 +49,8 @@ export declare class ConflictException extends __BaseException {
|
|
|
37
49
|
/**
|
|
38
50
|
* @public
|
|
39
51
|
* <p>The criteria to use in the filter that defines the archive rule. For more information on
|
|
40
|
-
* available filter keys, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html">IAM Access Analyzer
|
|
41
|
-
*
|
|
52
|
+
* available filter keys, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html">IAM Access Analyzer filter
|
|
53
|
+
* keys</a>.</p>
|
|
42
54
|
*/
|
|
43
55
|
export interface Criterion {
|
|
44
56
|
/**
|
|
@@ -379,8 +391,55 @@ export interface InlineArchiveRule {
|
|
|
379
391
|
}
|
|
380
392
|
/**
|
|
381
393
|
* @public
|
|
394
|
+
* <p>Contains information about an unused access analyzer.</p>
|
|
382
395
|
*/
|
|
383
|
-
export
|
|
396
|
+
export interface UnusedAccessConfiguration {
|
|
397
|
+
/**
|
|
398
|
+
* @public
|
|
399
|
+
* <p>The specified access age in days for which to generate findings for unused access. For
|
|
400
|
+
* example, if you specify 90 days, the analyzer will generate findings for IAM entities
|
|
401
|
+
* within the accounts of the selected organization for any access that hasn't been used in 90
|
|
402
|
+
* or more days since the analyzer's last scan. You can choose a value between 1 and 180
|
|
403
|
+
* days.</p>
|
|
404
|
+
*/
|
|
405
|
+
unusedAccessAge?: number;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* @public
|
|
409
|
+
* <p>Contains information about the configuration of an unused access analyzer for an Amazon Web Services
|
|
410
|
+
* organization or account.</p>
|
|
411
|
+
*/
|
|
412
|
+
export type AnalyzerConfiguration = AnalyzerConfiguration.UnusedAccessMember | AnalyzerConfiguration.$UnknownMember;
|
|
413
|
+
/**
|
|
414
|
+
* @public
|
|
415
|
+
*/
|
|
416
|
+
export declare namespace AnalyzerConfiguration {
|
|
417
|
+
/**
|
|
418
|
+
* @public
|
|
419
|
+
* <p>Specifies the configuration of an unused access analyzer for an Amazon Web Services organization or
|
|
420
|
+
* account. External access analyzers do not support any configuration.</p>
|
|
421
|
+
*/
|
|
422
|
+
interface UnusedAccessMember {
|
|
423
|
+
unusedAccess: UnusedAccessConfiguration;
|
|
424
|
+
$unknown?: never;
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* @public
|
|
428
|
+
*/
|
|
429
|
+
interface $UnknownMember {
|
|
430
|
+
unusedAccess?: never;
|
|
431
|
+
$unknown: [string, any];
|
|
432
|
+
}
|
|
433
|
+
interface Visitor<T> {
|
|
434
|
+
unusedAccess: (value: UnusedAccessConfiguration) => T;
|
|
435
|
+
_: (name: string, value: any) => T;
|
|
436
|
+
}
|
|
437
|
+
const visit: <T>(value: AnalyzerConfiguration, visitor: Visitor<T>) => T;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* @public
|
|
441
|
+
*/
|
|
442
|
+
export type Type = "ACCOUNT" | "ACCOUNT_UNUSED_ACCESS" | "ORGANIZATION" | "ORGANIZATION_UNUSED_ACCESS";
|
|
384
443
|
/**
|
|
385
444
|
* @public
|
|
386
445
|
* <p>Creates an analyzer.</p>
|
|
@@ -393,9 +452,10 @@ export interface CreateAnalyzerRequest {
|
|
|
393
452
|
analyzerName: string | undefined;
|
|
394
453
|
/**
|
|
395
454
|
* @public
|
|
396
|
-
* <p>The type of analyzer to create. Only ACCOUNT
|
|
397
|
-
*
|
|
398
|
-
* per
|
|
455
|
+
* <p>The type of analyzer to create. Only <code>ACCOUNT</code>, <code>ORGANIZATION</code>,
|
|
456
|
+
* <code>ACCOUNT_UNUSED_ACCESS</code>, and <code>ORGANIZTAION_UNUSED_ACCESS</code>
|
|
457
|
+
* analyzers are supported. You can create only one analyzer per account per Region. You can
|
|
458
|
+
* create up to 5 analyzers per organization per Region.</p>
|
|
399
459
|
*/
|
|
400
460
|
type: Type | undefined;
|
|
401
461
|
/**
|
|
@@ -406,7 +466,7 @@ export interface CreateAnalyzerRequest {
|
|
|
406
466
|
archiveRules?: InlineArchiveRule[];
|
|
407
467
|
/**
|
|
408
468
|
* @public
|
|
409
|
-
* <p>
|
|
469
|
+
* <p>An array of key-value pairs to apply to the analyzer.</p>
|
|
410
470
|
*/
|
|
411
471
|
tags?: Record<string, string>;
|
|
412
472
|
/**
|
|
@@ -414,6 +474,13 @@ export interface CreateAnalyzerRequest {
|
|
|
414
474
|
* <p>A client token.</p>
|
|
415
475
|
*/
|
|
416
476
|
clientToken?: string;
|
|
477
|
+
/**
|
|
478
|
+
* @public
|
|
479
|
+
* <p>Specifies the configuration of the analyzer. If the analyzer is an unused access
|
|
480
|
+
* analyzer, the specified scope of unused access is used for the configuration. If the
|
|
481
|
+
* analyzer is an external access analyzer, this field is not used.</p>
|
|
482
|
+
*/
|
|
483
|
+
configuration?: AnalyzerConfiguration;
|
|
417
484
|
}
|
|
418
485
|
/**
|
|
419
486
|
* @public
|
|
@@ -535,6 +602,11 @@ export interface AnalyzerSummary {
|
|
|
535
602
|
* organization.</p>
|
|
536
603
|
*/
|
|
537
604
|
statusReason?: StatusReason;
|
|
605
|
+
/**
|
|
606
|
+
* @public
|
|
607
|
+
* <p>Specifies whether the analyzer is an external access or unused access analyzer.</p>
|
|
608
|
+
*/
|
|
609
|
+
configuration?: AnalyzerConfiguration;
|
|
538
610
|
}
|
|
539
611
|
/**
|
|
540
612
|
* @public
|
|
@@ -624,6 +696,185 @@ export interface CancelPolicyGenerationRequest {
|
|
|
624
696
|
*/
|
|
625
697
|
export interface CancelPolicyGenerationResponse {
|
|
626
698
|
}
|
|
699
|
+
/**
|
|
700
|
+
* @public
|
|
701
|
+
* @enum
|
|
702
|
+
*/
|
|
703
|
+
export declare const AccessCheckPolicyType: {
|
|
704
|
+
readonly IDENTITY_POLICY: "IDENTITY_POLICY";
|
|
705
|
+
readonly RESOURCE_POLICY: "RESOURCE_POLICY";
|
|
706
|
+
};
|
|
707
|
+
/**
|
|
708
|
+
* @public
|
|
709
|
+
*/
|
|
710
|
+
export type AccessCheckPolicyType = (typeof AccessCheckPolicyType)[keyof typeof AccessCheckPolicyType];
|
|
711
|
+
/**
|
|
712
|
+
* @public
|
|
713
|
+
*/
|
|
714
|
+
export interface CheckAccessNotGrantedRequest {
|
|
715
|
+
/**
|
|
716
|
+
* @public
|
|
717
|
+
* <p>The JSON policy document to use as the content for the policy.</p>
|
|
718
|
+
*/
|
|
719
|
+
policyDocument: string | undefined;
|
|
720
|
+
/**
|
|
721
|
+
* @public
|
|
722
|
+
* <p>An access object containing the permissions that shouldn't be granted by the specified
|
|
723
|
+
* policy.</p>
|
|
724
|
+
*/
|
|
725
|
+
access: Access[] | undefined;
|
|
726
|
+
/**
|
|
727
|
+
* @public
|
|
728
|
+
* <p>The type of policy. Identity policies grant permissions to IAM principals. Identity
|
|
729
|
+
* policies include managed and inline policies for IAM roles, users, and groups.</p>
|
|
730
|
+
* <p>Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust
|
|
731
|
+
* policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic
|
|
732
|
+
* input such as identity policy or resource policy or a specific input such as managed policy
|
|
733
|
+
* or Amazon S3 bucket policy.</p>
|
|
734
|
+
*/
|
|
735
|
+
policyType: AccessCheckPolicyType | undefined;
|
|
736
|
+
}
|
|
737
|
+
/**
|
|
738
|
+
* @public
|
|
739
|
+
* <p>Contains information about the reasoning why a check for access passed or failed.</p>
|
|
740
|
+
*/
|
|
741
|
+
export interface ReasonSummary {
|
|
742
|
+
/**
|
|
743
|
+
* @public
|
|
744
|
+
* <p>A description of the reasoning of a result of checking for access.</p>
|
|
745
|
+
*/
|
|
746
|
+
description?: string;
|
|
747
|
+
/**
|
|
748
|
+
* @public
|
|
749
|
+
* <p>The index number of the reason statement.</p>
|
|
750
|
+
*/
|
|
751
|
+
statementIndex?: number;
|
|
752
|
+
/**
|
|
753
|
+
* @public
|
|
754
|
+
* <p>The identifier for the reason statement.</p>
|
|
755
|
+
*/
|
|
756
|
+
statementId?: string;
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* @public
|
|
760
|
+
* @enum
|
|
761
|
+
*/
|
|
762
|
+
export declare const CheckAccessNotGrantedResult: {
|
|
763
|
+
readonly FAIL: "FAIL";
|
|
764
|
+
readonly PASS: "PASS";
|
|
765
|
+
};
|
|
766
|
+
/**
|
|
767
|
+
* @public
|
|
768
|
+
*/
|
|
769
|
+
export type CheckAccessNotGrantedResult = (typeof CheckAccessNotGrantedResult)[keyof typeof CheckAccessNotGrantedResult];
|
|
770
|
+
/**
|
|
771
|
+
* @public
|
|
772
|
+
*/
|
|
773
|
+
export interface CheckAccessNotGrantedResponse {
|
|
774
|
+
/**
|
|
775
|
+
* @public
|
|
776
|
+
* <p>The result of the check for whether the access is allowed. If the result is
|
|
777
|
+
* <code>PASS</code>, the specified policy doesn't allow any of the specified permissions
|
|
778
|
+
* in the access object. If the result is <code>FAIL</code>, the specified policy might allow
|
|
779
|
+
* some or all of the permissions in the access object.</p>
|
|
780
|
+
*/
|
|
781
|
+
result?: CheckAccessNotGrantedResult;
|
|
782
|
+
/**
|
|
783
|
+
* @public
|
|
784
|
+
* <p>The message indicating whether the specified access is allowed.</p>
|
|
785
|
+
*/
|
|
786
|
+
message?: string;
|
|
787
|
+
/**
|
|
788
|
+
* @public
|
|
789
|
+
* <p>A description of the reasoning of the result.</p>
|
|
790
|
+
*/
|
|
791
|
+
reasons?: ReasonSummary[];
|
|
792
|
+
}
|
|
793
|
+
/**
|
|
794
|
+
* @public
|
|
795
|
+
* <p>The specified parameter is invalid.</p>
|
|
796
|
+
*/
|
|
797
|
+
export declare class InvalidParameterException extends __BaseException {
|
|
798
|
+
readonly name: "InvalidParameterException";
|
|
799
|
+
readonly $fault: "client";
|
|
800
|
+
/**
|
|
801
|
+
* @internal
|
|
802
|
+
*/
|
|
803
|
+
constructor(opts: __ExceptionOptionType<InvalidParameterException, __BaseException>);
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* @public
|
|
807
|
+
* <p>The specified entity could not be processed.</p>
|
|
808
|
+
*/
|
|
809
|
+
export declare class UnprocessableEntityException extends __BaseException {
|
|
810
|
+
readonly name: "UnprocessableEntityException";
|
|
811
|
+
readonly $fault: "client";
|
|
812
|
+
$retryable: {};
|
|
813
|
+
/**
|
|
814
|
+
* @internal
|
|
815
|
+
*/
|
|
816
|
+
constructor(opts: __ExceptionOptionType<UnprocessableEntityException, __BaseException>);
|
|
817
|
+
}
|
|
818
|
+
/**
|
|
819
|
+
* @public
|
|
820
|
+
*/
|
|
821
|
+
export interface CheckNoNewAccessRequest {
|
|
822
|
+
/**
|
|
823
|
+
* @public
|
|
824
|
+
* <p>The JSON policy document to use as the content for the updated policy.</p>
|
|
825
|
+
*/
|
|
826
|
+
newPolicyDocument: string | undefined;
|
|
827
|
+
/**
|
|
828
|
+
* @public
|
|
829
|
+
* <p>The JSON policy document to use as the content for the existing policy.</p>
|
|
830
|
+
*/
|
|
831
|
+
existingPolicyDocument: string | undefined;
|
|
832
|
+
/**
|
|
833
|
+
* @public
|
|
834
|
+
* <p>The type of policy to compare. Identity policies grant permissions to IAM principals.
|
|
835
|
+
* Identity policies include managed and inline policies for IAM roles, users, and
|
|
836
|
+
* groups.</p>
|
|
837
|
+
* <p>Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust
|
|
838
|
+
* policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic
|
|
839
|
+
* input such as identity policy or resource policy or a specific input such as managed policy
|
|
840
|
+
* or Amazon S3 bucket policy.</p>
|
|
841
|
+
*/
|
|
842
|
+
policyType: AccessCheckPolicyType | undefined;
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* @public
|
|
846
|
+
* @enum
|
|
847
|
+
*/
|
|
848
|
+
export declare const CheckNoNewAccessResult: {
|
|
849
|
+
readonly FAIL: "FAIL";
|
|
850
|
+
readonly PASS: "PASS";
|
|
851
|
+
};
|
|
852
|
+
/**
|
|
853
|
+
* @public
|
|
854
|
+
*/
|
|
855
|
+
export type CheckNoNewAccessResult = (typeof CheckNoNewAccessResult)[keyof typeof CheckNoNewAccessResult];
|
|
856
|
+
/**
|
|
857
|
+
* @public
|
|
858
|
+
*/
|
|
859
|
+
export interface CheckNoNewAccessResponse {
|
|
860
|
+
/**
|
|
861
|
+
* @public
|
|
862
|
+
* <p>The result of the check for new access. If the result is <code>PASS</code>, no new
|
|
863
|
+
* access is allowed by the updated policy. If the result is <code>FAIL</code>, the updated
|
|
864
|
+
* policy might allow new access.</p>
|
|
865
|
+
*/
|
|
866
|
+
result?: CheckNoNewAccessResult;
|
|
867
|
+
/**
|
|
868
|
+
* @public
|
|
869
|
+
* <p>The message indicating whether the updated policy allows new access.</p>
|
|
870
|
+
*/
|
|
871
|
+
message?: string;
|
|
872
|
+
/**
|
|
873
|
+
* @public
|
|
874
|
+
* <p>A description of the reasoning of the result.</p>
|
|
875
|
+
*/
|
|
876
|
+
reasons?: ReasonSummary[];
|
|
877
|
+
}
|
|
627
878
|
/**
|
|
628
879
|
* @public
|
|
629
880
|
* <p>The proposed access control configuration for an Amazon EBS volume snapshot. You can propose
|
|
@@ -1935,7 +2186,7 @@ export interface Finding {
|
|
|
1935
2186
|
id: string | undefined;
|
|
1936
2187
|
/**
|
|
1937
2188
|
* @public
|
|
1938
|
-
* <p>The external principal that access to a resource within the zone of trust.</p>
|
|
2189
|
+
* <p>The external principal that has access to a resource within the zone of trust.</p>
|
|
1939
2190
|
*/
|
|
1940
2191
|
principal?: Record<string, string>;
|
|
1941
2192
|
/**
|
|
@@ -2013,6 +2264,336 @@ export interface GetFindingResponse {
|
|
|
2013
2264
|
*/
|
|
2014
2265
|
finding?: Finding;
|
|
2015
2266
|
}
|
|
2267
|
+
/**
|
|
2268
|
+
* @public
|
|
2269
|
+
*/
|
|
2270
|
+
export interface GetFindingV2Request {
|
|
2271
|
+
/**
|
|
2272
|
+
* @public
|
|
2273
|
+
* <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
|
|
2274
|
+
* the analyzer</a> that generated the finding.</p>
|
|
2275
|
+
*/
|
|
2276
|
+
analyzerArn: string | undefined;
|
|
2277
|
+
/**
|
|
2278
|
+
* @public
|
|
2279
|
+
* <p>The ID of the finding to retrieve.</p>
|
|
2280
|
+
*/
|
|
2281
|
+
id: string | undefined;
|
|
2282
|
+
/**
|
|
2283
|
+
* @public
|
|
2284
|
+
* <p>The maximum number of results to return in the response.</p>
|
|
2285
|
+
*/
|
|
2286
|
+
maxResults?: number;
|
|
2287
|
+
/**
|
|
2288
|
+
* @public
|
|
2289
|
+
* <p>A token used for pagination of results returned.</p>
|
|
2290
|
+
*/
|
|
2291
|
+
nextToken?: string;
|
|
2292
|
+
}
|
|
2293
|
+
/**
|
|
2294
|
+
* @public
|
|
2295
|
+
* <p>Contains information about an external access finding.</p>
|
|
2296
|
+
*/
|
|
2297
|
+
export interface ExternalAccessDetails {
|
|
2298
|
+
/**
|
|
2299
|
+
* @public
|
|
2300
|
+
* <p>The action in the analyzed policy statement that an external principal has permission to
|
|
2301
|
+
* use.</p>
|
|
2302
|
+
*/
|
|
2303
|
+
action?: string[];
|
|
2304
|
+
/**
|
|
2305
|
+
* @public
|
|
2306
|
+
* <p>The condition in the analyzed policy statement that resulted in an external access
|
|
2307
|
+
* finding.</p>
|
|
2308
|
+
*/
|
|
2309
|
+
condition: Record<string, string> | undefined;
|
|
2310
|
+
/**
|
|
2311
|
+
* @public
|
|
2312
|
+
* <p>Specifies whether the external access finding is public.</p>
|
|
2313
|
+
*/
|
|
2314
|
+
isPublic?: boolean;
|
|
2315
|
+
/**
|
|
2316
|
+
* @public
|
|
2317
|
+
* <p>The external principal that has access to a resource within the zone of trust.</p>
|
|
2318
|
+
*/
|
|
2319
|
+
principal?: Record<string, string>;
|
|
2320
|
+
/**
|
|
2321
|
+
* @public
|
|
2322
|
+
* <p>The sources of the external access finding. This indicates how the access that generated
|
|
2323
|
+
* the finding is granted. It is populated for Amazon S3 bucket findings.</p>
|
|
2324
|
+
*/
|
|
2325
|
+
sources?: FindingSource[];
|
|
2326
|
+
}
|
|
2327
|
+
/**
|
|
2328
|
+
* @public
|
|
2329
|
+
* <p>Contains information about an unused access finding for an IAM role. IAM Access Analyzer
|
|
2330
|
+
* charges for unused access analysis based on the number of IAM roles and users analyzed
|
|
2331
|
+
* per month. For more details on pricing, see <a href="https://aws.amazon.com/iam/access-analyzer/pricing">IAM Access Analyzer
|
|
2332
|
+
* pricing</a>.</p>
|
|
2333
|
+
*/
|
|
2334
|
+
export interface UnusedIamRoleDetails {
|
|
2335
|
+
/**
|
|
2336
|
+
* @public
|
|
2337
|
+
* <p>The time at which the role was last accessed.</p>
|
|
2338
|
+
*/
|
|
2339
|
+
lastAccessed?: Date;
|
|
2340
|
+
}
|
|
2341
|
+
/**
|
|
2342
|
+
* @public
|
|
2343
|
+
* <p>Contains information about an unused access finding for an IAM user access key.
|
|
2344
|
+
* IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and
|
|
2345
|
+
* users analyzed per month. For more details on pricing, see <a href="https://aws.amazon.com/iam/access-analyzer/pricing">IAM Access Analyzer
|
|
2346
|
+
* pricing</a>.</p>
|
|
2347
|
+
*/
|
|
2348
|
+
export interface UnusedIamUserAccessKeyDetails {
|
|
2349
|
+
/**
|
|
2350
|
+
* @public
|
|
2351
|
+
* <p>The ID of the access key for which the unused access finding was generated.</p>
|
|
2352
|
+
*/
|
|
2353
|
+
accessKeyId: string | undefined;
|
|
2354
|
+
/**
|
|
2355
|
+
* @public
|
|
2356
|
+
* <p>The time at which the access key was last accessed.</p>
|
|
2357
|
+
*/
|
|
2358
|
+
lastAccessed?: Date;
|
|
2359
|
+
}
|
|
2360
|
+
/**
|
|
2361
|
+
* @public
|
|
2362
|
+
* <p>Contains information about an unused access finding for an IAM user password.
|
|
2363
|
+
* IAM Access Analyzer charges for unused access analysis based on the number of IAM roles and
|
|
2364
|
+
* users analyzed per month. For more details on pricing, see <a href="https://aws.amazon.com/iam/access-analyzer/pricing">IAM Access Analyzer
|
|
2365
|
+
* pricing</a>.</p>
|
|
2366
|
+
*/
|
|
2367
|
+
export interface UnusedIamUserPasswordDetails {
|
|
2368
|
+
/**
|
|
2369
|
+
* @public
|
|
2370
|
+
* <p>The time at which the password was last accessed.</p>
|
|
2371
|
+
*/
|
|
2372
|
+
lastAccessed?: Date;
|
|
2373
|
+
}
|
|
2374
|
+
/**
|
|
2375
|
+
* @public
|
|
2376
|
+
* <p>Contains information about an unused access finding for an action. IAM Access Analyzer charges
|
|
2377
|
+
* for unused access analysis based on the number of IAM roles and users analyzed per month.
|
|
2378
|
+
* For more details on pricing, see <a href="https://aws.amazon.com/iam/access-analyzer/pricing">IAM Access Analyzer
|
|
2379
|
+
* pricing</a>.</p>
|
|
2380
|
+
*/
|
|
2381
|
+
export interface UnusedAction {
|
|
2382
|
+
/**
|
|
2383
|
+
* @public
|
|
2384
|
+
* <p>The action for which the unused access finding was generated.</p>
|
|
2385
|
+
*/
|
|
2386
|
+
action: string | undefined;
|
|
2387
|
+
/**
|
|
2388
|
+
* @public
|
|
2389
|
+
* <p>The time at which the action was last accessed.</p>
|
|
2390
|
+
*/
|
|
2391
|
+
lastAccessed?: Date;
|
|
2392
|
+
}
|
|
2393
|
+
/**
|
|
2394
|
+
* @public
|
|
2395
|
+
* <p>Contains information about an unused access finding for a permission. IAM Access Analyzer
|
|
2396
|
+
* charges for unused access analysis based on the number of IAM roles and users analyzed
|
|
2397
|
+
* per month. For more details on pricing, see <a href="https://aws.amazon.com/iam/access-analyzer/pricing">IAM Access Analyzer
|
|
2398
|
+
* pricing</a>.</p>
|
|
2399
|
+
*/
|
|
2400
|
+
export interface UnusedPermissionDetails {
|
|
2401
|
+
/**
|
|
2402
|
+
* @public
|
|
2403
|
+
* <p>A list of unused actions for which the unused access finding was generated.</p>
|
|
2404
|
+
*/
|
|
2405
|
+
actions?: UnusedAction[];
|
|
2406
|
+
/**
|
|
2407
|
+
* @public
|
|
2408
|
+
* <p>The namespace of the Amazon Web Services service that contains the unused actions.</p>
|
|
2409
|
+
*/
|
|
2410
|
+
serviceNamespace: string | undefined;
|
|
2411
|
+
/**
|
|
2412
|
+
* @public
|
|
2413
|
+
* <p>The time at which the permission last accessed.</p>
|
|
2414
|
+
*/
|
|
2415
|
+
lastAccessed?: Date;
|
|
2416
|
+
}
|
|
2417
|
+
/**
|
|
2418
|
+
* @public
|
|
2419
|
+
* <p>Contains information about an external access or unused access finding. Only one
|
|
2420
|
+
* parameter can be used in a <code>FindingDetails</code> object.</p>
|
|
2421
|
+
*/
|
|
2422
|
+
export type FindingDetails = FindingDetails.ExternalAccessDetailsMember | FindingDetails.UnusedIamRoleDetailsMember | FindingDetails.UnusedIamUserAccessKeyDetailsMember | FindingDetails.UnusedIamUserPasswordDetailsMember | FindingDetails.UnusedPermissionDetailsMember | FindingDetails.$UnknownMember;
|
|
2423
|
+
/**
|
|
2424
|
+
* @public
|
|
2425
|
+
*/
|
|
2426
|
+
export declare namespace FindingDetails {
|
|
2427
|
+
/**
|
|
2428
|
+
* @public
|
|
2429
|
+
* <p>The details for an external access analyzer finding.</p>
|
|
2430
|
+
*/
|
|
2431
|
+
interface ExternalAccessDetailsMember {
|
|
2432
|
+
externalAccessDetails: ExternalAccessDetails;
|
|
2433
|
+
unusedPermissionDetails?: never;
|
|
2434
|
+
unusedIamUserAccessKeyDetails?: never;
|
|
2435
|
+
unusedIamRoleDetails?: never;
|
|
2436
|
+
unusedIamUserPasswordDetails?: never;
|
|
2437
|
+
$unknown?: never;
|
|
2438
|
+
}
|
|
2439
|
+
/**
|
|
2440
|
+
* @public
|
|
2441
|
+
* <p>The details for an unused access analyzer finding with an unused permission finding
|
|
2442
|
+
* type.</p>
|
|
2443
|
+
*/
|
|
2444
|
+
interface UnusedPermissionDetailsMember {
|
|
2445
|
+
externalAccessDetails?: never;
|
|
2446
|
+
unusedPermissionDetails: UnusedPermissionDetails;
|
|
2447
|
+
unusedIamUserAccessKeyDetails?: never;
|
|
2448
|
+
unusedIamRoleDetails?: never;
|
|
2449
|
+
unusedIamUserPasswordDetails?: never;
|
|
2450
|
+
$unknown?: never;
|
|
2451
|
+
}
|
|
2452
|
+
/**
|
|
2453
|
+
* @public
|
|
2454
|
+
* <p>The details for an unused access analyzer finding with an unused IAM user access key
|
|
2455
|
+
* finding type.</p>
|
|
2456
|
+
*/
|
|
2457
|
+
interface UnusedIamUserAccessKeyDetailsMember {
|
|
2458
|
+
externalAccessDetails?: never;
|
|
2459
|
+
unusedPermissionDetails?: never;
|
|
2460
|
+
unusedIamUserAccessKeyDetails: UnusedIamUserAccessKeyDetails;
|
|
2461
|
+
unusedIamRoleDetails?: never;
|
|
2462
|
+
unusedIamUserPasswordDetails?: never;
|
|
2463
|
+
$unknown?: never;
|
|
2464
|
+
}
|
|
2465
|
+
/**
|
|
2466
|
+
* @public
|
|
2467
|
+
* <p>The details for an unused access analyzer finding with an unused IAM role finding
|
|
2468
|
+
* type.</p>
|
|
2469
|
+
*/
|
|
2470
|
+
interface UnusedIamRoleDetailsMember {
|
|
2471
|
+
externalAccessDetails?: never;
|
|
2472
|
+
unusedPermissionDetails?: never;
|
|
2473
|
+
unusedIamUserAccessKeyDetails?: never;
|
|
2474
|
+
unusedIamRoleDetails: UnusedIamRoleDetails;
|
|
2475
|
+
unusedIamUserPasswordDetails?: never;
|
|
2476
|
+
$unknown?: never;
|
|
2477
|
+
}
|
|
2478
|
+
/**
|
|
2479
|
+
* @public
|
|
2480
|
+
* <p>The details for an unused access analyzer finding with an unused IAM user password
|
|
2481
|
+
* finding type.</p>
|
|
2482
|
+
*/
|
|
2483
|
+
interface UnusedIamUserPasswordDetailsMember {
|
|
2484
|
+
externalAccessDetails?: never;
|
|
2485
|
+
unusedPermissionDetails?: never;
|
|
2486
|
+
unusedIamUserAccessKeyDetails?: never;
|
|
2487
|
+
unusedIamRoleDetails?: never;
|
|
2488
|
+
unusedIamUserPasswordDetails: UnusedIamUserPasswordDetails;
|
|
2489
|
+
$unknown?: never;
|
|
2490
|
+
}
|
|
2491
|
+
/**
|
|
2492
|
+
* @public
|
|
2493
|
+
*/
|
|
2494
|
+
interface $UnknownMember {
|
|
2495
|
+
externalAccessDetails?: never;
|
|
2496
|
+
unusedPermissionDetails?: never;
|
|
2497
|
+
unusedIamUserAccessKeyDetails?: never;
|
|
2498
|
+
unusedIamRoleDetails?: never;
|
|
2499
|
+
unusedIamUserPasswordDetails?: never;
|
|
2500
|
+
$unknown: [string, any];
|
|
2501
|
+
}
|
|
2502
|
+
interface Visitor<T> {
|
|
2503
|
+
externalAccessDetails: (value: ExternalAccessDetails) => T;
|
|
2504
|
+
unusedPermissionDetails: (value: UnusedPermissionDetails) => T;
|
|
2505
|
+
unusedIamUserAccessKeyDetails: (value: UnusedIamUserAccessKeyDetails) => T;
|
|
2506
|
+
unusedIamRoleDetails: (value: UnusedIamRoleDetails) => T;
|
|
2507
|
+
unusedIamUserPasswordDetails: (value: UnusedIamUserPasswordDetails) => T;
|
|
2508
|
+
_: (name: string, value: any) => T;
|
|
2509
|
+
}
|
|
2510
|
+
const visit: <T>(value: FindingDetails, visitor: Visitor<T>) => T;
|
|
2511
|
+
}
|
|
2512
|
+
/**
|
|
2513
|
+
* @public
|
|
2514
|
+
* @enum
|
|
2515
|
+
*/
|
|
2516
|
+
export declare const FindingType: {
|
|
2517
|
+
readonly EXTERNAL_ACCESS: "ExternalAccess";
|
|
2518
|
+
readonly UNUSED_IAM_ROLE: "UnusedIAMRole";
|
|
2519
|
+
readonly UNUSED_IAM_USER_ACCESS_KEY: "UnusedIAMUserAccessKey";
|
|
2520
|
+
readonly UNUSED_IAM_USER_PASSWORD: "UnusedIAMUserPassword";
|
|
2521
|
+
readonly UNUSED_PERMISSION: "UnusedPermission";
|
|
2522
|
+
};
|
|
2523
|
+
/**
|
|
2524
|
+
* @public
|
|
2525
|
+
*/
|
|
2526
|
+
export type FindingType = (typeof FindingType)[keyof typeof FindingType];
|
|
2527
|
+
/**
|
|
2528
|
+
* @public
|
|
2529
|
+
*/
|
|
2530
|
+
export interface GetFindingV2Response {
|
|
2531
|
+
/**
|
|
2532
|
+
* @public
|
|
2533
|
+
* <p>The time at which the resource-based policy or IAM entity that generated the finding
|
|
2534
|
+
* was analyzed.</p>
|
|
2535
|
+
*/
|
|
2536
|
+
analyzedAt: Date | undefined;
|
|
2537
|
+
/**
|
|
2538
|
+
* @public
|
|
2539
|
+
* <p>The time at which the finding was created.</p>
|
|
2540
|
+
*/
|
|
2541
|
+
createdAt: Date | undefined;
|
|
2542
|
+
/**
|
|
2543
|
+
* @public
|
|
2544
|
+
* <p>An error.</p>
|
|
2545
|
+
*/
|
|
2546
|
+
error?: string;
|
|
2547
|
+
/**
|
|
2548
|
+
* @public
|
|
2549
|
+
* <p>The ID of the finding to retrieve.</p>
|
|
2550
|
+
*/
|
|
2551
|
+
id: string | undefined;
|
|
2552
|
+
/**
|
|
2553
|
+
* @public
|
|
2554
|
+
* <p>A token used for pagination of results returned.</p>
|
|
2555
|
+
*/
|
|
2556
|
+
nextToken?: string;
|
|
2557
|
+
/**
|
|
2558
|
+
* @public
|
|
2559
|
+
* <p>The resource that generated the finding.</p>
|
|
2560
|
+
*/
|
|
2561
|
+
resource?: string;
|
|
2562
|
+
/**
|
|
2563
|
+
* @public
|
|
2564
|
+
* <p>The type of the resource identified in the finding.</p>
|
|
2565
|
+
*/
|
|
2566
|
+
resourceType: ResourceType | undefined;
|
|
2567
|
+
/**
|
|
2568
|
+
* @public
|
|
2569
|
+
* <p>Tye Amazon Web Services account ID that owns the resource.</p>
|
|
2570
|
+
*/
|
|
2571
|
+
resourceOwnerAccount: string | undefined;
|
|
2572
|
+
/**
|
|
2573
|
+
* @public
|
|
2574
|
+
* <p>The status of the finding.</p>
|
|
2575
|
+
*/
|
|
2576
|
+
status: FindingStatus | undefined;
|
|
2577
|
+
/**
|
|
2578
|
+
* @public
|
|
2579
|
+
* <p>The time at which the finding was updated.</p>
|
|
2580
|
+
*/
|
|
2581
|
+
updatedAt: Date | undefined;
|
|
2582
|
+
/**
|
|
2583
|
+
* @public
|
|
2584
|
+
* <p>A localized message that explains the finding and provides guidance on how to address
|
|
2585
|
+
* it.</p>
|
|
2586
|
+
*/
|
|
2587
|
+
findingDetails: FindingDetails[] | undefined;
|
|
2588
|
+
/**
|
|
2589
|
+
* @public
|
|
2590
|
+
* <p>The type of the finding. For external access analyzers, the type is
|
|
2591
|
+
* <code>ExternalAccess</code>. For unused access analyzers, the type can be
|
|
2592
|
+
* <code>UnusedIAMRole</code>, <code>UnusedIAMUserAccessKey</code>,
|
|
2593
|
+
* <code>UnusedIAMUserPassword</code>, or <code>UnusedPermission</code>.</p>
|
|
2594
|
+
*/
|
|
2595
|
+
findingType?: FindingType;
|
|
2596
|
+
}
|
|
2016
2597
|
/**
|
|
2017
2598
|
* @public
|
|
2018
2599
|
*/
|
|
@@ -2711,6 +3292,110 @@ export interface ListFindingsResponse {
|
|
|
2711
3292
|
*/
|
|
2712
3293
|
nextToken?: string;
|
|
2713
3294
|
}
|
|
3295
|
+
/**
|
|
3296
|
+
* @public
|
|
3297
|
+
*/
|
|
3298
|
+
export interface ListFindingsV2Request {
|
|
3299
|
+
/**
|
|
3300
|
+
* @public
|
|
3301
|
+
* <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources">ARN of
|
|
3302
|
+
* the analyzer</a> to retrieve findings from.</p>
|
|
3303
|
+
*/
|
|
3304
|
+
analyzerArn: string | undefined;
|
|
3305
|
+
/**
|
|
3306
|
+
* @public
|
|
3307
|
+
* <p>A filter to match for the findings to return.</p>
|
|
3308
|
+
*/
|
|
3309
|
+
filter?: Record<string, Criterion>;
|
|
3310
|
+
/**
|
|
3311
|
+
* @public
|
|
3312
|
+
* <p>The maximum number of results to return in the response.</p>
|
|
3313
|
+
*/
|
|
3314
|
+
maxResults?: number;
|
|
3315
|
+
/**
|
|
3316
|
+
* @public
|
|
3317
|
+
* <p>A token used for pagination of results returned.</p>
|
|
3318
|
+
*/
|
|
3319
|
+
nextToken?: string;
|
|
3320
|
+
/**
|
|
3321
|
+
* @public
|
|
3322
|
+
* <p>The criteria used to sort.</p>
|
|
3323
|
+
*/
|
|
3324
|
+
sort?: SortCriteria;
|
|
3325
|
+
}
|
|
3326
|
+
/**
|
|
3327
|
+
* @public
|
|
3328
|
+
* <p>Contains information about a finding.</p>
|
|
3329
|
+
*/
|
|
3330
|
+
export interface FindingSummaryV2 {
|
|
3331
|
+
/**
|
|
3332
|
+
* @public
|
|
3333
|
+
* <p>The time at which the resource-based policy or IAM entity that generated the finding
|
|
3334
|
+
* was analyzed.</p>
|
|
3335
|
+
*/
|
|
3336
|
+
analyzedAt: Date | undefined;
|
|
3337
|
+
/**
|
|
3338
|
+
* @public
|
|
3339
|
+
* <p>The time at which the finding was created.</p>
|
|
3340
|
+
*/
|
|
3341
|
+
createdAt: Date | undefined;
|
|
3342
|
+
/**
|
|
3343
|
+
* @public
|
|
3344
|
+
* <p>The error that resulted in an Error finding.</p>
|
|
3345
|
+
*/
|
|
3346
|
+
error?: string;
|
|
3347
|
+
/**
|
|
3348
|
+
* @public
|
|
3349
|
+
* <p>The ID of the finding.</p>
|
|
3350
|
+
*/
|
|
3351
|
+
id: string | undefined;
|
|
3352
|
+
/**
|
|
3353
|
+
* @public
|
|
3354
|
+
* <p>The resource that the external principal has access to.</p>
|
|
3355
|
+
*/
|
|
3356
|
+
resource?: string;
|
|
3357
|
+
/**
|
|
3358
|
+
* @public
|
|
3359
|
+
* <p>The type of the resource that the external principal has access to.</p>
|
|
3360
|
+
*/
|
|
3361
|
+
resourceType: ResourceType | undefined;
|
|
3362
|
+
/**
|
|
3363
|
+
* @public
|
|
3364
|
+
* <p>The Amazon Web Services account ID that owns the resource.</p>
|
|
3365
|
+
*/
|
|
3366
|
+
resourceOwnerAccount: string | undefined;
|
|
3367
|
+
/**
|
|
3368
|
+
* @public
|
|
3369
|
+
* <p>The status of the finding.</p>
|
|
3370
|
+
*/
|
|
3371
|
+
status: FindingStatus | undefined;
|
|
3372
|
+
/**
|
|
3373
|
+
* @public
|
|
3374
|
+
* <p>The time at which the finding was most recently updated.</p>
|
|
3375
|
+
*/
|
|
3376
|
+
updatedAt: Date | undefined;
|
|
3377
|
+
/**
|
|
3378
|
+
* @public
|
|
3379
|
+
* <p>The type of the external access or unused access finding.</p>
|
|
3380
|
+
*/
|
|
3381
|
+
findingType?: FindingType;
|
|
3382
|
+
}
|
|
3383
|
+
/**
|
|
3384
|
+
* @public
|
|
3385
|
+
*/
|
|
3386
|
+
export interface ListFindingsV2Response {
|
|
3387
|
+
/**
|
|
3388
|
+
* @public
|
|
3389
|
+
* <p>A list of findings retrieved from the analyzer that match the filter criteria specified,
|
|
3390
|
+
* if any.</p>
|
|
3391
|
+
*/
|
|
3392
|
+
findings: FindingSummaryV2[] | undefined;
|
|
3393
|
+
/**
|
|
3394
|
+
* @public
|
|
3395
|
+
* <p>A token used for pagination of results returned.</p>
|
|
3396
|
+
*/
|
|
3397
|
+
nextToken?: string;
|
|
3398
|
+
}
|
|
2714
3399
|
/**
|
|
2715
3400
|
* @public
|
|
2716
3401
|
*/
|
|
@@ -3093,13 +3778,14 @@ export interface ValidatePolicyRequest {
|
|
|
3093
3778
|
/**
|
|
3094
3779
|
* @public
|
|
3095
3780
|
* <p>The type of policy to validate. Identity policies grant permissions to IAM principals.
|
|
3096
|
-
* Identity policies include managed and inline policies for IAM roles, users, and
|
|
3097
|
-
*
|
|
3098
|
-
* organization, organizational unit (OU), or an account.</p>
|
|
3781
|
+
* Identity policies include managed and inline policies for IAM roles, users, and
|
|
3782
|
+
* groups.</p>
|
|
3099
3783
|
* <p>Resource policies grant permissions on Amazon Web Services resources. Resource policies include trust
|
|
3100
3784
|
* policies for IAM roles and bucket policies for Amazon S3 buckets. You can provide a generic
|
|
3101
3785
|
* input such as identity policy or resource policy or a specific input such as managed policy
|
|
3102
3786
|
* or Amazon S3 bucket policy. </p>
|
|
3787
|
+
* <p>Service control policies (SCPs) are a type of organization policy attached to an Amazon Web Services
|
|
3788
|
+
* organization, organizational unit (OU), or an account.</p>
|
|
3103
3789
|
*/
|
|
3104
3790
|
policyType: PolicyType | undefined;
|
|
3105
3791
|
/**
|
|
@@ -3329,3 +4015,11 @@ export interface ValidatePolicyResponse {
|
|
|
3329
4015
|
*/
|
|
3330
4016
|
nextToken?: string;
|
|
3331
4017
|
}
|
|
4018
|
+
/**
|
|
4019
|
+
* @internal
|
|
4020
|
+
*/
|
|
4021
|
+
export declare const CheckAccessNotGrantedRequestFilterSensitiveLog: (obj: CheckAccessNotGrantedRequest) => any;
|
|
4022
|
+
/**
|
|
4023
|
+
* @internal
|
|
4024
|
+
*/
|
|
4025
|
+
export declare const CheckNoNewAccessRequestFilterSensitiveLog: (obj: CheckNoNewAccessRequest) => any;
|