aws-sdk-accessanalyzer 1.41.0 → 1.43.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.
@@ -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