aws-sdk-accessanalyzer 1.42.0 → 1.43.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,21 @@
10
10
  module Aws::AccessAnalyzer
11
11
  module Types
12
12
 
13
+ # Contains information about actions that define permissions to check
14
+ # against a policy.
15
+ #
16
+ # @!attribute [rw] actions
17
+ # A list of actions for the access permissions.
18
+ # @return [Array<String>]
19
+ #
20
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/Access AWS API Documentation
21
+ #
22
+ class Access < Struct.new(
23
+ :actions)
24
+ SENSITIVE = []
25
+ include Aws::Structure
26
+ end
27
+
13
28
  # You do not have sufficient access to perform this action.
14
29
  #
15
30
  # @!attribute [rw] message
@@ -379,6 +394,32 @@ module Aws::AccessAnalyzer
379
394
  include Aws::Structure
380
395
  end
381
396
 
397
+ # Contains information about the configuration of an unused access
398
+ # analyzer for an Amazon Web Services organization or account.
399
+ #
400
+ # @note AnalyzerConfiguration is a union - when making an API calls you must set exactly one of the members.
401
+ #
402
+ # @note AnalyzerConfiguration is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of AnalyzerConfiguration corresponding to the set member.
403
+ #
404
+ # @!attribute [rw] unused_access
405
+ # Specifies the configuration of an unused access analyzer for an
406
+ # Amazon Web Services organization or account. External access
407
+ # analyzers do not support any configuration.
408
+ # @return [Types::UnusedAccessConfiguration]
409
+ #
410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AnalyzerConfiguration AWS API Documentation
411
+ #
412
+ class AnalyzerConfiguration < Struct.new(
413
+ :unused_access,
414
+ :unknown)
415
+ SENSITIVE = []
416
+ include Aws::Structure
417
+ include Aws::Structure::Union
418
+
419
+ class UnusedAccess < AnalyzerConfiguration; end
420
+ class Unknown < AnalyzerConfiguration; end
421
+ end
422
+
382
423
  # Contains information about the analyzer.
383
424
  #
384
425
  # @!attribute [rw] arn
@@ -429,6 +470,11 @@ module Aws::AccessAnalyzer
429
470
  # Web Services organization.
430
471
  # @return [Types::StatusReason]
431
472
  #
473
+ # @!attribute [rw] configuration
474
+ # Specifies whether the analyzer is an external access or unused
475
+ # access analyzer.
476
+ # @return [Types::AnalyzerConfiguration]
477
+ #
432
478
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/AnalyzerSummary AWS API Documentation
433
479
  #
434
480
  class AnalyzerSummary < Struct.new(
@@ -440,7 +486,8 @@ module Aws::AccessAnalyzer
440
486
  :last_resource_analyzed_at,
441
487
  :tags,
442
488
  :status,
443
- :status_reason)
489
+ :status_reason,
490
+ :configuration)
444
491
  SENSITIVE = []
445
492
  include Aws::Structure
446
493
  end
@@ -520,6 +567,119 @@ module Aws::AccessAnalyzer
520
567
  #
521
568
  class CancelPolicyGenerationResponse < Aws::EmptyStructure; end
522
569
 
570
+ # @!attribute [rw] policy_document
571
+ # The JSON policy document to use as the content for the policy.
572
+ # @return [String]
573
+ #
574
+ # @!attribute [rw] access
575
+ # An access object containing the permissions that shouldn't be
576
+ # granted by the specified policy.
577
+ # @return [Array<Types::Access>]
578
+ #
579
+ # @!attribute [rw] policy_type
580
+ # The type of policy. Identity policies grant permissions to IAM
581
+ # principals. Identity policies include managed and inline policies
582
+ # for IAM roles, users, and groups.
583
+ #
584
+ # Resource policies grant permissions on Amazon Web Services
585
+ # resources. Resource policies include trust policies for IAM roles
586
+ # and bucket policies for Amazon S3 buckets. You can provide a generic
587
+ # input such as identity policy or resource policy or a specific input
588
+ # such as managed policy or Amazon S3 bucket policy.
589
+ # @return [String]
590
+ #
591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckAccessNotGrantedRequest AWS API Documentation
592
+ #
593
+ class CheckAccessNotGrantedRequest < Struct.new(
594
+ :policy_document,
595
+ :access,
596
+ :policy_type)
597
+ SENSITIVE = [:policy_document]
598
+ include Aws::Structure
599
+ end
600
+
601
+ # @!attribute [rw] result
602
+ # The result of the check for whether the access is allowed. If the
603
+ # result is `PASS`, the specified policy doesn't allow any of the
604
+ # specified permissions in the access object. If the result is `FAIL`,
605
+ # the specified policy might allow some or all of the permissions in
606
+ # the access object.
607
+ # @return [String]
608
+ #
609
+ # @!attribute [rw] message
610
+ # The message indicating whether the specified access is allowed.
611
+ # @return [String]
612
+ #
613
+ # @!attribute [rw] reasons
614
+ # A description of the reasoning of the result.
615
+ # @return [Array<Types::ReasonSummary>]
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckAccessNotGrantedResponse AWS API Documentation
618
+ #
619
+ class CheckAccessNotGrantedResponse < Struct.new(
620
+ :result,
621
+ :message,
622
+ :reasons)
623
+ SENSITIVE = []
624
+ include Aws::Structure
625
+ end
626
+
627
+ # @!attribute [rw] new_policy_document
628
+ # The JSON policy document to use as the content for the updated
629
+ # policy.
630
+ # @return [String]
631
+ #
632
+ # @!attribute [rw] existing_policy_document
633
+ # The JSON policy document to use as the content for the existing
634
+ # policy.
635
+ # @return [String]
636
+ #
637
+ # @!attribute [rw] policy_type
638
+ # The type of policy to compare. Identity policies grant permissions
639
+ # to IAM principals. Identity policies include managed and inline
640
+ # policies for IAM roles, users, and groups.
641
+ #
642
+ # Resource policies grant permissions on Amazon Web Services
643
+ # resources. Resource policies include trust policies for IAM roles
644
+ # and bucket policies for Amazon S3 buckets. You can provide a generic
645
+ # input such as identity policy or resource policy or a specific input
646
+ # such as managed policy or Amazon S3 bucket policy.
647
+ # @return [String]
648
+ #
649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckNoNewAccessRequest AWS API Documentation
650
+ #
651
+ class CheckNoNewAccessRequest < Struct.new(
652
+ :new_policy_document,
653
+ :existing_policy_document,
654
+ :policy_type)
655
+ SENSITIVE = [:new_policy_document, :existing_policy_document]
656
+ include Aws::Structure
657
+ end
658
+
659
+ # @!attribute [rw] result
660
+ # The result of the check for new access. If the result is `PASS`, no
661
+ # new access is allowed by the updated policy. If the result is
662
+ # `FAIL`, the updated policy might allow new access.
663
+ # @return [String]
664
+ #
665
+ # @!attribute [rw] message
666
+ # The message indicating whether the updated policy allows new access.
667
+ # @return [String]
668
+ #
669
+ # @!attribute [rw] reasons
670
+ # A description of the reasoning of the result.
671
+ # @return [Array<Types::ReasonSummary>]
672
+ #
673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CheckNoNewAccessResponse AWS API Documentation
674
+ #
675
+ class CheckNoNewAccessResponse < Struct.new(
676
+ :result,
677
+ :message,
678
+ :reasons)
679
+ SENSITIVE = []
680
+ include Aws::Structure
681
+ end
682
+
523
683
  # Contains information about CloudTrail access.
524
684
  #
525
685
  # @!attribute [rw] trails
@@ -749,10 +909,11 @@ module Aws::AccessAnalyzer
749
909
  # @return [String]
750
910
  #
751
911
  # @!attribute [rw] type
752
- # The type of analyzer to create. Only ACCOUNT and ORGANIZATION
753
- # analyzers are supported. You can create only one analyzer per
754
- # account per Region. You can create up to 5 analyzers per
755
- # organization per Region.
912
+ # The type of analyzer to create. Only `ACCOUNT`, `ORGANIZATION`,
913
+ # `ACCOUNT_UNUSED_ACCESS`, and `ORGANIZTAION_UNUSED_ACCESS` analyzers
914
+ # are supported. You can create only one analyzer per account per
915
+ # Region. You can create up to 5 analyzers per organization per
916
+ # Region.
756
917
  # @return [String]
757
918
  #
758
919
  # @!attribute [rw] archive_rules
@@ -762,7 +923,7 @@ module Aws::AccessAnalyzer
762
923
  # @return [Array<Types::InlineArchiveRule>]
763
924
  #
764
925
  # @!attribute [rw] tags
765
- # The tags to apply to the analyzer.
926
+ # An array of key-value pairs to apply to the analyzer.
766
927
  # @return [Hash<String,String>]
767
928
  #
768
929
  # @!attribute [rw] client_token
@@ -772,6 +933,13 @@ module Aws::AccessAnalyzer
772
933
  # not need to pass this option.
773
934
  # @return [String]
774
935
  #
936
+ # @!attribute [rw] configuration
937
+ # Specifies the configuration of the analyzer. If the analyzer is an
938
+ # unused access analyzer, the specified scope of unused access is used
939
+ # for the configuration. If the analyzer is an external access
940
+ # analyzer, this field is not used.
941
+ # @return [Types::AnalyzerConfiguration]
942
+ #
775
943
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/CreateAnalyzerRequest AWS API Documentation
776
944
  #
777
945
  class CreateAnalyzerRequest < Struct.new(
@@ -779,7 +947,8 @@ module Aws::AccessAnalyzer
779
947
  :type,
780
948
  :archive_rules,
781
949
  :tags,
782
- :client_token)
950
+ :client_token,
951
+ :configuration)
783
952
  SENSITIVE = []
784
953
  include Aws::Structure
785
954
  end
@@ -1065,6 +1234,45 @@ module Aws::AccessAnalyzer
1065
1234
  include Aws::Structure
1066
1235
  end
1067
1236
 
1237
+ # Contains information about an external access finding.
1238
+ #
1239
+ # @!attribute [rw] action
1240
+ # The action in the analyzed policy statement that an external
1241
+ # principal has permission to use.
1242
+ # @return [Array<String>]
1243
+ #
1244
+ # @!attribute [rw] condition
1245
+ # The condition in the analyzed policy statement that resulted in an
1246
+ # external access finding.
1247
+ # @return [Hash<String,String>]
1248
+ #
1249
+ # @!attribute [rw] is_public
1250
+ # Specifies whether the external access finding is public.
1251
+ # @return [Boolean]
1252
+ #
1253
+ # @!attribute [rw] principal
1254
+ # The external principal that has access to a resource within the zone
1255
+ # of trust.
1256
+ # @return [Hash<String,String>]
1257
+ #
1258
+ # @!attribute [rw] sources
1259
+ # The sources of the external access finding. This indicates how the
1260
+ # access that generated the finding is granted. It is populated for
1261
+ # Amazon S3 bucket findings.
1262
+ # @return [Array<Types::FindingSource>]
1263
+ #
1264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ExternalAccessDetails AWS API Documentation
1265
+ #
1266
+ class ExternalAccessDetails < Struct.new(
1267
+ :action,
1268
+ :condition,
1269
+ :is_public,
1270
+ :principal,
1271
+ :sources)
1272
+ SENSITIVE = []
1273
+ include Aws::Structure
1274
+ end
1275
+
1068
1276
  # Contains information about a finding.
1069
1277
  #
1070
1278
  # @!attribute [rw] id
@@ -1072,8 +1280,8 @@ module Aws::AccessAnalyzer
1072
1280
  # @return [String]
1073
1281
  #
1074
1282
  # @!attribute [rw] principal
1075
- # The external principal that access to a resource within the zone of
1076
- # trust.
1283
+ # The external principal that has access to a resource within the zone
1284
+ # of trust.
1077
1285
  # @return [Hash<String,String>]
1078
1286
  #
1079
1287
  # @!attribute [rw] action
@@ -1150,6 +1358,56 @@ module Aws::AccessAnalyzer
1150
1358
  include Aws::Structure
1151
1359
  end
1152
1360
 
1361
+ # Contains information about an external access or unused access
1362
+ # finding. Only one parameter can be used in a `FindingDetails` object.
1363
+ #
1364
+ # @note FindingDetails is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of FindingDetails corresponding to the set member.
1365
+ #
1366
+ # @!attribute [rw] external_access_details
1367
+ # The details for an external access analyzer finding.
1368
+ # @return [Types::ExternalAccessDetails]
1369
+ #
1370
+ # @!attribute [rw] unused_permission_details
1371
+ # The details for an unused access analyzer finding with an unused
1372
+ # permission finding type.
1373
+ # @return [Types::UnusedPermissionDetails]
1374
+ #
1375
+ # @!attribute [rw] unused_iam_user_access_key_details
1376
+ # The details for an unused access analyzer finding with an unused IAM
1377
+ # user access key finding type.
1378
+ # @return [Types::UnusedIamUserAccessKeyDetails]
1379
+ #
1380
+ # @!attribute [rw] unused_iam_role_details
1381
+ # The details for an unused access analyzer finding with an unused IAM
1382
+ # role finding type.
1383
+ # @return [Types::UnusedIamRoleDetails]
1384
+ #
1385
+ # @!attribute [rw] unused_iam_user_password_details
1386
+ # The details for an unused access analyzer finding with an unused IAM
1387
+ # user password finding type.
1388
+ # @return [Types::UnusedIamUserPasswordDetails]
1389
+ #
1390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingDetails AWS API Documentation
1391
+ #
1392
+ class FindingDetails < Struct.new(
1393
+ :external_access_details,
1394
+ :unused_permission_details,
1395
+ :unused_iam_user_access_key_details,
1396
+ :unused_iam_role_details,
1397
+ :unused_iam_user_password_details,
1398
+ :unknown)
1399
+ SENSITIVE = []
1400
+ include Aws::Structure
1401
+ include Aws::Structure::Union
1402
+
1403
+ class ExternalAccessDetails < FindingDetails; end
1404
+ class UnusedPermissionDetails < FindingDetails; end
1405
+ class UnusedIamUserAccessKeyDetails < FindingDetails; end
1406
+ class UnusedIamRoleDetails < FindingDetails; end
1407
+ class UnusedIamUserPasswordDetails < FindingDetails; end
1408
+ class Unknown < FindingDetails; end
1409
+ end
1410
+
1153
1411
  # The source of the finding. This indicates how the access that
1154
1412
  # generated the finding is granted. It is populated for Amazon S3 bucket
1155
1413
  # findings.
@@ -1281,6 +1539,66 @@ module Aws::AccessAnalyzer
1281
1539
  include Aws::Structure
1282
1540
  end
1283
1541
 
1542
+ # Contains information about a finding.
1543
+ #
1544
+ # @!attribute [rw] analyzed_at
1545
+ # The time at which the resource-based policy or IAM entity that
1546
+ # generated the finding was analyzed.
1547
+ # @return [Time]
1548
+ #
1549
+ # @!attribute [rw] created_at
1550
+ # The time at which the finding was created.
1551
+ # @return [Time]
1552
+ #
1553
+ # @!attribute [rw] error
1554
+ # The error that resulted in an Error finding.
1555
+ # @return [String]
1556
+ #
1557
+ # @!attribute [rw] id
1558
+ # The ID of the finding.
1559
+ # @return [String]
1560
+ #
1561
+ # @!attribute [rw] resource
1562
+ # The resource that the external principal has access to.
1563
+ # @return [String]
1564
+ #
1565
+ # @!attribute [rw] resource_type
1566
+ # The type of the resource that the external principal has access to.
1567
+ # @return [String]
1568
+ #
1569
+ # @!attribute [rw] resource_owner_account
1570
+ # The Amazon Web Services account ID that owns the resource.
1571
+ # @return [String]
1572
+ #
1573
+ # @!attribute [rw] status
1574
+ # The status of the finding.
1575
+ # @return [String]
1576
+ #
1577
+ # @!attribute [rw] updated_at
1578
+ # The time at which the finding was most recently updated.
1579
+ # @return [Time]
1580
+ #
1581
+ # @!attribute [rw] finding_type
1582
+ # The type of the external access or unused access finding.
1583
+ # @return [String]
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingSummaryV2 AWS API Documentation
1586
+ #
1587
+ class FindingSummaryV2 < Struct.new(
1588
+ :analyzed_at,
1589
+ :created_at,
1590
+ :error,
1591
+ :id,
1592
+ :resource,
1593
+ :resource_type,
1594
+ :resource_owner_account,
1595
+ :status,
1596
+ :updated_at,
1597
+ :finding_type)
1598
+ SENSITIVE = []
1599
+ include Aws::Structure
1600
+ end
1601
+
1284
1602
  # Contains the text for the generated policy.
1285
1603
  #
1286
1604
  # @!attribute [rw] policy
@@ -1522,6 +1840,109 @@ module Aws::AccessAnalyzer
1522
1840
  include Aws::Structure
1523
1841
  end
1524
1842
 
1843
+ # @!attribute [rw] analyzer_arn
1844
+ # The [ARN of the analyzer][1] that generated the finding.
1845
+ #
1846
+ #
1847
+ #
1848
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
1849
+ # @return [String]
1850
+ #
1851
+ # @!attribute [rw] id
1852
+ # The ID of the finding to retrieve.
1853
+ # @return [String]
1854
+ #
1855
+ # @!attribute [rw] max_results
1856
+ # The maximum number of results to return in the response.
1857
+ # @return [Integer]
1858
+ #
1859
+ # @!attribute [rw] next_token
1860
+ # A token used for pagination of results returned.
1861
+ # @return [String]
1862
+ #
1863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingV2Request AWS API Documentation
1864
+ #
1865
+ class GetFindingV2Request < Struct.new(
1866
+ :analyzer_arn,
1867
+ :id,
1868
+ :max_results,
1869
+ :next_token)
1870
+ SENSITIVE = []
1871
+ include Aws::Structure
1872
+ end
1873
+
1874
+ # @!attribute [rw] analyzed_at
1875
+ # The time at which the resource-based policy or IAM entity that
1876
+ # generated the finding was analyzed.
1877
+ # @return [Time]
1878
+ #
1879
+ # @!attribute [rw] created_at
1880
+ # The time at which the finding was created.
1881
+ # @return [Time]
1882
+ #
1883
+ # @!attribute [rw] error
1884
+ # An error.
1885
+ # @return [String]
1886
+ #
1887
+ # @!attribute [rw] id
1888
+ # The ID of the finding to retrieve.
1889
+ # @return [String]
1890
+ #
1891
+ # @!attribute [rw] next_token
1892
+ # A token used for pagination of results returned.
1893
+ # @return [String]
1894
+ #
1895
+ # @!attribute [rw] resource
1896
+ # The resource that generated the finding.
1897
+ # @return [String]
1898
+ #
1899
+ # @!attribute [rw] resource_type
1900
+ # The type of the resource identified in the finding.
1901
+ # @return [String]
1902
+ #
1903
+ # @!attribute [rw] resource_owner_account
1904
+ # Tye Amazon Web Services account ID that owns the resource.
1905
+ # @return [String]
1906
+ #
1907
+ # @!attribute [rw] status
1908
+ # The status of the finding.
1909
+ # @return [String]
1910
+ #
1911
+ # @!attribute [rw] updated_at
1912
+ # The time at which the finding was updated.
1913
+ # @return [Time]
1914
+ #
1915
+ # @!attribute [rw] finding_details
1916
+ # A localized message that explains the finding and provides guidance
1917
+ # on how to address it.
1918
+ # @return [Array<Types::FindingDetails>]
1919
+ #
1920
+ # @!attribute [rw] finding_type
1921
+ # The type of the finding. For external access analyzers, the type is
1922
+ # `ExternalAccess`. For unused access analyzers, the type can be
1923
+ # `UnusedIAMRole`, `UnusedIAMUserAccessKey`, `UnusedIAMUserPassword`,
1924
+ # or `UnusedPermission`.
1925
+ # @return [String]
1926
+ #
1927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetFindingV2Response AWS API Documentation
1928
+ #
1929
+ class GetFindingV2Response < Struct.new(
1930
+ :analyzed_at,
1931
+ :created_at,
1932
+ :error,
1933
+ :id,
1934
+ :next_token,
1935
+ :resource,
1936
+ :resource_type,
1937
+ :resource_owner_account,
1938
+ :status,
1939
+ :updated_at,
1940
+ :finding_details,
1941
+ :finding_type)
1942
+ SENSITIVE = []
1943
+ include Aws::Structure
1944
+ end
1945
+
1525
1946
  # @!attribute [rw] job_id
1526
1947
  # The `JobId` that is returned by the `StartPolicyGeneration`
1527
1948
  # operation. The `JobId` can be used with `GetGeneratedPolicy` to
@@ -1650,6 +2071,19 @@ module Aws::AccessAnalyzer
1650
2071
  #
1651
2072
  class InternetConfiguration < Aws::EmptyStructure; end
1652
2073
 
2074
+ # The specified parameter is invalid.
2075
+ #
2076
+ # @!attribute [rw] message
2077
+ # @return [String]
2078
+ #
2079
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/InvalidParameterException AWS API Documentation
2080
+ #
2081
+ class InvalidParameterException < Struct.new(
2082
+ :message)
2083
+ SENSITIVE = []
2084
+ include Aws::Structure
2085
+ end
2086
+
1653
2087
  # Contains details about the policy generation request.
1654
2088
  #
1655
2089
  # @!attribute [rw] job_id
@@ -2144,6 +2578,60 @@ module Aws::AccessAnalyzer
2144
2578
  include Aws::Structure
2145
2579
  end
2146
2580
 
2581
+ # @!attribute [rw] analyzer_arn
2582
+ # The [ARN of the analyzer][1] to retrieve findings from.
2583
+ #
2584
+ #
2585
+ #
2586
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html#permission-resources
2587
+ # @return [String]
2588
+ #
2589
+ # @!attribute [rw] filter
2590
+ # A filter to match for the findings to return.
2591
+ # @return [Hash<String,Types::Criterion>]
2592
+ #
2593
+ # @!attribute [rw] max_results
2594
+ # The maximum number of results to return in the response.
2595
+ # @return [Integer]
2596
+ #
2597
+ # @!attribute [rw] next_token
2598
+ # A token used for pagination of results returned.
2599
+ # @return [String]
2600
+ #
2601
+ # @!attribute [rw] sort
2602
+ # The criteria used to sort.
2603
+ # @return [Types::SortCriteria]
2604
+ #
2605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListFindingsV2Request AWS API Documentation
2606
+ #
2607
+ class ListFindingsV2Request < Struct.new(
2608
+ :analyzer_arn,
2609
+ :filter,
2610
+ :max_results,
2611
+ :next_token,
2612
+ :sort)
2613
+ SENSITIVE = []
2614
+ include Aws::Structure
2615
+ end
2616
+
2617
+ # @!attribute [rw] findings
2618
+ # A list of findings retrieved from the analyzer that match the filter
2619
+ # criteria specified, if any.
2620
+ # @return [Array<Types::FindingSummaryV2>]
2621
+ #
2622
+ # @!attribute [rw] next_token
2623
+ # A token used for pagination of results returned.
2624
+ # @return [String]
2625
+ #
2626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListFindingsV2Response AWS API Documentation
2627
+ #
2628
+ class ListFindingsV2Response < Struct.new(
2629
+ :findings,
2630
+ :next_token)
2631
+ SENSITIVE = []
2632
+ include Aws::Structure
2633
+ end
2634
+
2147
2635
  # @!attribute [rw] principal_arn
2148
2636
  # The ARN of the IAM entity (user or role) for which you are
2149
2637
  # generating a policy. Use this with `ListGeneratedPolicies` to filter
@@ -2566,6 +3054,31 @@ module Aws::AccessAnalyzer
2566
3054
  include Aws::Structure
2567
3055
  end
2568
3056
 
3057
+ # Contains information about the reasoning why a check for access passed
3058
+ # or failed.
3059
+ #
3060
+ # @!attribute [rw] description
3061
+ # A description of the reasoning of a result of checking for access.
3062
+ # @return [String]
3063
+ #
3064
+ # @!attribute [rw] statement_index
3065
+ # The index number of the reason statement.
3066
+ # @return [Integer]
3067
+ #
3068
+ # @!attribute [rw] statement_id
3069
+ # The identifier for the reason statement.
3070
+ # @return [String]
3071
+ #
3072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ReasonSummary AWS API Documentation
3073
+ #
3074
+ class ReasonSummary < Struct.new(
3075
+ :description,
3076
+ :statement_index,
3077
+ :statement_id)
3078
+ SENSITIVE = []
3079
+ include Aws::Structure
3080
+ end
3081
+
2569
3082
  # The specified resource could not be found.
2570
3083
  #
2571
3084
  # @!attribute [rw] message
@@ -3128,6 +3641,19 @@ module Aws::AccessAnalyzer
3128
3641
  include Aws::Structure
3129
3642
  end
3130
3643
 
3644
+ # The specified entity could not be processed.
3645
+ #
3646
+ # @!attribute [rw] message
3647
+ # @return [String]
3648
+ #
3649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnprocessableEntityException AWS API Documentation
3650
+ #
3651
+ class UnprocessableEntityException < Struct.new(
3652
+ :message)
3653
+ SENSITIVE = []
3654
+ include Aws::Structure
3655
+ end
3656
+
3131
3657
  # Removes a tag from the specified resource.
3132
3658
  #
3133
3659
  # @!attribute [rw] resource_arn
@@ -3153,6 +3679,153 @@ module Aws::AccessAnalyzer
3153
3679
  #
3154
3680
  class UntagResourceResponse < Aws::EmptyStructure; end
3155
3681
 
3682
+ # Contains information about an unused access analyzer.
3683
+ #
3684
+ # @!attribute [rw] unused_access_age
3685
+ # The specified access age in days for which to generate findings for
3686
+ # unused access. For example, if you specify 90 days, the analyzer
3687
+ # will generate findings for IAM entities within the accounts of the
3688
+ # selected organization for any access that hasn't been used in 90 or
3689
+ # more days since the analyzer's last scan. You can choose a value
3690
+ # between 1 and 180 days.
3691
+ # @return [Integer]
3692
+ #
3693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedAccessConfiguration AWS API Documentation
3694
+ #
3695
+ class UnusedAccessConfiguration < Struct.new(
3696
+ :unused_access_age)
3697
+ SENSITIVE = []
3698
+ include Aws::Structure
3699
+ end
3700
+
3701
+ # Contains information about an unused access finding for an action. IAM
3702
+ # Access Analyzer charges for unused access analysis based on the number
3703
+ # of IAM roles and users analyzed per month. For more details on
3704
+ # pricing, see [IAM Access Analyzer pricing][1].
3705
+ #
3706
+ #
3707
+ #
3708
+ # [1]: https://aws.amazon.com/iam/access-analyzer/pricing
3709
+ #
3710
+ # @!attribute [rw] action
3711
+ # The action for which the unused access finding was generated.
3712
+ # @return [String]
3713
+ #
3714
+ # @!attribute [rw] last_accessed
3715
+ # The time at which the action was last accessed.
3716
+ # @return [Time]
3717
+ #
3718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedAction AWS API Documentation
3719
+ #
3720
+ class UnusedAction < Struct.new(
3721
+ :action,
3722
+ :last_accessed)
3723
+ SENSITIVE = []
3724
+ include Aws::Structure
3725
+ end
3726
+
3727
+ # Contains information about an unused access finding for an IAM role.
3728
+ # IAM Access Analyzer charges for unused access analysis based on the
3729
+ # number of IAM roles and users analyzed per month. For more details on
3730
+ # pricing, see [IAM Access Analyzer pricing][1].
3731
+ #
3732
+ #
3733
+ #
3734
+ # [1]: https://aws.amazon.com/iam/access-analyzer/pricing
3735
+ #
3736
+ # @!attribute [rw] last_accessed
3737
+ # The time at which the role was last accessed.
3738
+ # @return [Time]
3739
+ #
3740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedIamRoleDetails AWS API Documentation
3741
+ #
3742
+ class UnusedIamRoleDetails < Struct.new(
3743
+ :last_accessed)
3744
+ SENSITIVE = []
3745
+ include Aws::Structure
3746
+ end
3747
+
3748
+ # Contains information about an unused access finding for an IAM user
3749
+ # access key. IAM Access Analyzer charges for unused access analysis
3750
+ # based on the number of IAM roles and users analyzed per month. For
3751
+ # more details on pricing, see [IAM Access Analyzer pricing][1].
3752
+ #
3753
+ #
3754
+ #
3755
+ # [1]: https://aws.amazon.com/iam/access-analyzer/pricing
3756
+ #
3757
+ # @!attribute [rw] access_key_id
3758
+ # The ID of the access key for which the unused access finding was
3759
+ # generated.
3760
+ # @return [String]
3761
+ #
3762
+ # @!attribute [rw] last_accessed
3763
+ # The time at which the access key was last accessed.
3764
+ # @return [Time]
3765
+ #
3766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedIamUserAccessKeyDetails AWS API Documentation
3767
+ #
3768
+ class UnusedIamUserAccessKeyDetails < Struct.new(
3769
+ :access_key_id,
3770
+ :last_accessed)
3771
+ SENSITIVE = []
3772
+ include Aws::Structure
3773
+ end
3774
+
3775
+ # Contains information about an unused access finding for an IAM user
3776
+ # password. IAM Access Analyzer charges for unused access analysis based
3777
+ # on the number of IAM roles and users analyzed per month. For more
3778
+ # details on pricing, see [IAM Access Analyzer pricing][1].
3779
+ #
3780
+ #
3781
+ #
3782
+ # [1]: https://aws.amazon.com/iam/access-analyzer/pricing
3783
+ #
3784
+ # @!attribute [rw] last_accessed
3785
+ # The time at which the password was last accessed.
3786
+ # @return [Time]
3787
+ #
3788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedIamUserPasswordDetails AWS API Documentation
3789
+ #
3790
+ class UnusedIamUserPasswordDetails < Struct.new(
3791
+ :last_accessed)
3792
+ SENSITIVE = []
3793
+ include Aws::Structure
3794
+ end
3795
+
3796
+ # Contains information about an unused access finding for a permission.
3797
+ # IAM Access Analyzer charges for unused access analysis based on the
3798
+ # number of IAM roles and users analyzed per month. For more details on
3799
+ # pricing, see [IAM Access Analyzer pricing][1].
3800
+ #
3801
+ #
3802
+ #
3803
+ # [1]: https://aws.amazon.com/iam/access-analyzer/pricing
3804
+ #
3805
+ # @!attribute [rw] actions
3806
+ # A list of unused actions for which the unused access finding was
3807
+ # generated.
3808
+ # @return [Array<Types::UnusedAction>]
3809
+ #
3810
+ # @!attribute [rw] service_namespace
3811
+ # The namespace of the Amazon Web Services service that contains the
3812
+ # unused actions.
3813
+ # @return [String]
3814
+ #
3815
+ # @!attribute [rw] last_accessed
3816
+ # The time at which the permission last accessed.
3817
+ # @return [Time]
3818
+ #
3819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/UnusedPermissionDetails AWS API Documentation
3820
+ #
3821
+ class UnusedPermissionDetails < Struct.new(
3822
+ :actions,
3823
+ :service_namespace,
3824
+ :last_accessed)
3825
+ SENSITIVE = []
3826
+ include Aws::Structure
3827
+ end
3828
+
3156
3829
  # Updates the specified archive rule.
3157
3830
  #
3158
3831
  # @!attribute [rw] analyzer_name
@@ -3299,15 +3972,17 @@ module Aws::AccessAnalyzer
3299
3972
  # @!attribute [rw] policy_type
3300
3973
  # The type of policy to validate. Identity policies grant permissions
3301
3974
  # to IAM principals. Identity policies include managed and inline
3302
- # policies for IAM roles, users, and groups. They also include
3303
- # service-control policies (SCPs) that are attached to an Amazon Web
3304
- # Services organization, organizational unit (OU), or an account.
3975
+ # policies for IAM roles, users, and groups.
3305
3976
  #
3306
3977
  # Resource policies grant permissions on Amazon Web Services
3307
3978
  # resources. Resource policies include trust policies for IAM roles
3308
3979
  # and bucket policies for Amazon S3 buckets. You can provide a generic
3309
3980
  # input such as identity policy or resource policy or a specific input
3310
3981
  # such as managed policy or Amazon S3 bucket policy.
3982
+ #
3983
+ # Service control policies (SCPs) are a type of organization policy
3984
+ # attached to an Amazon Web Services organization, organizational unit
3985
+ # (OU), or an account.
3311
3986
  # @return [String]
3312
3987
  #
3313
3988
  # @!attribute [rw] validate_policy_resource_type