aws-sdk-iam 1.25.0 → 1.26.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.
- checksums.yaml +4 -4
- data/lib/aws-sdk-iam.rb +1 -1
- data/lib/aws-sdk-iam/client.rb +355 -15
- data/lib/aws-sdk-iam/client_api.rb +66 -0
- data/lib/aws-sdk-iam/current_user.rb +1 -1
- data/lib/aws-sdk-iam/errors.rb +16 -0
- data/lib/aws-sdk-iam/resource.rb +1 -1
- data/lib/aws-sdk-iam/types.rb +315 -26
- data/lib/aws-sdk-iam/user.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8310c2972d0dc5577134b2412743dc2b8e9d6511
|
4
|
+
data.tar.gz: 9de6bd9f1c90991b36d6b9bc2d5216f1f214c50b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4fbc019daa8451fc99a629ca45649cd476f8e39cd1dcc9eefcce6742bc09c155f5413787a41715dd4cba910b159a6d204f09d1339bda4fb3a4be9de50d129d5
|
7
|
+
data.tar.gz: 2ece8e323ed461c95ad46b1fd8474ecc7905ea0afa68e7c9394ae65a955bec2cb0d8fb9536b794bedf35d95760c0b2c4b5a99415716b13ee98ec979a61a95050
|
data/lib/aws-sdk-iam.rb
CHANGED
data/lib/aws-sdk-iam/client.rb
CHANGED
@@ -1474,7 +1474,7 @@ module Aws::IAM
|
|
1474
1474
|
# The trust relationship policy document that grants an entity
|
1475
1475
|
# permission to assume the role.
|
1476
1476
|
#
|
1477
|
-
#
|
1477
|
+
# In IAM, you must provide a JSON policy that has been converted to a
|
1478
1478
|
# string. However, for AWS CloudFormation templates formatted in YAML,
|
1479
1479
|
# you can provide the policy in JSON or YAML format. AWS CloudFormation
|
1480
1480
|
# always converts a YAML policy to JSON format before submitting it to
|
@@ -3492,12 +3492,198 @@ module Aws::IAM
|
|
3492
3492
|
req.send_request(options)
|
3493
3493
|
end
|
3494
3494
|
|
3495
|
-
# Generates a
|
3496
|
-
#
|
3497
|
-
#
|
3498
|
-
#
|
3499
|
-
#
|
3500
|
-
#
|
3495
|
+
# Generates a report for service last accessed data for AWS
|
3496
|
+
# Organizations. You can generate a report for any entities
|
3497
|
+
# (organization root, organizational unit, or account) or policies in
|
3498
|
+
# your organization.
|
3499
|
+
#
|
3500
|
+
# To call this operation, you must be signed in using your AWS
|
3501
|
+
# Organizations master account credentials. You can use your long-term
|
3502
|
+
# IAM user or root user credentials, or temporary credentials from
|
3503
|
+
# assuming an IAM role. SCPs must be enabled for your organization root.
|
3504
|
+
# You must have the required IAM and AWS Organizations permissions. For
|
3505
|
+
# more information, see [Refining Permissions Using Service Last
|
3506
|
+
# Accessed Data][1] in the *IAM User Guide*.
|
3507
|
+
#
|
3508
|
+
# You can generate a service last accessed data report for entities by
|
3509
|
+
# specifying only the entity's path. This data includes a list of
|
3510
|
+
# services that are allowed by any service control policies (SCPs) that
|
3511
|
+
# apply to the entity.
|
3512
|
+
#
|
3513
|
+
# You can generate a service last accessed data report for a policy by
|
3514
|
+
# specifying an entity's path and an optional AWS Organizations policy
|
3515
|
+
# ID. This data includes a list of services that are allowed by the
|
3516
|
+
# specified SCP.
|
3517
|
+
#
|
3518
|
+
# For each service in both report types, the data includes the most
|
3519
|
+
# recent account activity that the policy allows to account principals
|
3520
|
+
# in the entity or the entity's children. For important information
|
3521
|
+
# about the data, reporting period, permissions required,
|
3522
|
+
# troubleshooting, and supported Regions see [Reducing Permissions Using
|
3523
|
+
# Service Last Accessed Data][1] in the *IAM User Guide*.
|
3524
|
+
#
|
3525
|
+
# The data includes all attempts to access AWS, not just the successful
|
3526
|
+
# ones. This includes all attempts that were made using the AWS
|
3527
|
+
# Management Console, the AWS API through any of the SDKs, or any of the
|
3528
|
+
# command line tools. An unexpected entry in the service last accessed
|
3529
|
+
# data does not mean that an account has been compromised, because the
|
3530
|
+
# request might have been denied. Refer to your CloudTrail logs as the
|
3531
|
+
# authoritative source for information about all API calls and whether
|
3532
|
+
# they were successful or denied access. For more information,
|
3533
|
+
# see [Logging IAM Events with CloudTrail][2] in the *IAM User Guide*.
|
3534
|
+
#
|
3535
|
+
# This operation returns a `JobId`. Use this parameter in the `
|
3536
|
+
# GetOrganizationsAccessReport ` operation to check the status of the
|
3537
|
+
# report generation. To check the status of this request, use the
|
3538
|
+
# `JobId` parameter in the ` GetOrganizationsAccessReport ` operation
|
3539
|
+
# and test the `JobStatus` response parameter. When the job is complete,
|
3540
|
+
# you can retrieve the report.
|
3541
|
+
#
|
3542
|
+
# To generate a service last accessed data report for entities, specify
|
3543
|
+
# an entity path without specifying the optional AWS Organizations
|
3544
|
+
# policy ID. The type of entity that you specify determines the data
|
3545
|
+
# returned in the report.
|
3546
|
+
#
|
3547
|
+
# * **Root** – When you specify the organizations root as the entity,
|
3548
|
+
# the resulting report lists all of the services allowed by SCPs that
|
3549
|
+
# are attached to your root. For each service, the report includes
|
3550
|
+
# data for all accounts in your organization except the master
|
3551
|
+
# account, because the master account is not limited by SCPs.
|
3552
|
+
#
|
3553
|
+
# * **OU** – When you specify an organizational unit (OU) as the entity,
|
3554
|
+
# the resulting report lists all of the services allowed by SCPs that
|
3555
|
+
# are attached to the OU and its parents. For each service, the report
|
3556
|
+
# includes data for all accounts in the OU or its children. This data
|
3557
|
+
# excludes the master account, because the master account is not
|
3558
|
+
# limited by SCPs.
|
3559
|
+
#
|
3560
|
+
# * **Master account** – When you specify the master account, the
|
3561
|
+
# resulting report lists all AWS services, because the master account
|
3562
|
+
# is not limited by SCPs. For each service, the report includes data
|
3563
|
+
# for only the master account.
|
3564
|
+
#
|
3565
|
+
# * **Account** – When you specify another account as the entity, the
|
3566
|
+
# resulting report lists all of the services allowed by SCPs that are
|
3567
|
+
# attached to the account and its parents. For each service, the
|
3568
|
+
# report includes data for only the specified account.
|
3569
|
+
#
|
3570
|
+
# To generate a service last accessed data report for policies, specify
|
3571
|
+
# an entity path and the optional AWS Organizations policy ID. The type
|
3572
|
+
# of entity that you specify determines the data returned for each
|
3573
|
+
# service.
|
3574
|
+
#
|
3575
|
+
# * **Root** – When you specify the root entity and a policy ID, the
|
3576
|
+
# resulting report lists all of the services that are allowed by the
|
3577
|
+
# specified SCP. For each service, the report includes data for all
|
3578
|
+
# accounts in your organization to which the SCP applies. This data
|
3579
|
+
# excludes the master account, because the master account is not
|
3580
|
+
# limited by SCPs. If the SCP is not attached to any entities in the
|
3581
|
+
# organization, then the report will return a list of services with no
|
3582
|
+
# data.
|
3583
|
+
#
|
3584
|
+
# * **OU** – When you specify an OU entity and a policy ID, the
|
3585
|
+
# resulting report lists all of the services that are allowed by the
|
3586
|
+
# specified SCP. For each service, the report includes data for all
|
3587
|
+
# accounts in the OU or its children to which the SCP applies. This
|
3588
|
+
# means that other accounts outside the OU that are affected by the
|
3589
|
+
# SCP might not be included in the data. This data excludes the master
|
3590
|
+
# account, because the master account is not limited by SCPs. If the
|
3591
|
+
# SCP is not attached to the OU or one of its children, the report
|
3592
|
+
# will return a list of services with no data.
|
3593
|
+
#
|
3594
|
+
# * **Master account** – When you specify the master account, the
|
3595
|
+
# resulting report lists all AWS services, because the master account
|
3596
|
+
# is not limited by SCPs. If you specify a policy ID in the CLI or
|
3597
|
+
# API, the policy is ignored. For each service, the report includes
|
3598
|
+
# data for only the master account.
|
3599
|
+
#
|
3600
|
+
# * **Account** – When you specify another account entity and a policy
|
3601
|
+
# ID, the resulting report lists all of the services that are allowed
|
3602
|
+
# by the specified SCP. For each service, the report includes data for
|
3603
|
+
# only the specified account. This means that other accounts in the
|
3604
|
+
# organization that are affected by the SCP might not be included in
|
3605
|
+
# the data. If the SCP is not attached to the account, the report will
|
3606
|
+
# return a list of services with no data.
|
3607
|
+
#
|
3608
|
+
# <note markdown="1"> Service last accessed data does not use other policy types when
|
3609
|
+
# determining whether a principal could access a service. These other
|
3610
|
+
# policy types include identity-based policies, resource-based policies,
|
3611
|
+
# access control lists, IAM permissions boundaries, and STS assume role
|
3612
|
+
# policies. It only applies SCP logic. For more about the evaluation of
|
3613
|
+
# policy types, see [Evaluating Policies][3] in the *IAM User Guide*.
|
3614
|
+
#
|
3615
|
+
# </note>
|
3616
|
+
#
|
3617
|
+
# For more information about service last accessed data, see [Reducing
|
3618
|
+
# Policy Scope by Viewing User Activity][1] in the *IAM User Guide*.
|
3619
|
+
#
|
3620
|
+
#
|
3621
|
+
#
|
3622
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html
|
3623
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html
|
3624
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics
|
3625
|
+
#
|
3626
|
+
# @option params [required, String] :entity_path
|
3627
|
+
# The path of the AWS Organizations entity (root, OU, or account). You
|
3628
|
+
# can build an entity path using the known structure of your
|
3629
|
+
# organization. For example, assume that your account ID is
|
3630
|
+
# `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The
|
3631
|
+
# organization root ID is `r-f6g7h8i9j0example` and your organization ID
|
3632
|
+
# is `o-a1b2c3d4e5`. Your entity path is
|
3633
|
+
# `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
|
3634
|
+
#
|
3635
|
+
# @option params [String] :organizations_policy_id
|
3636
|
+
# The identifier of the AWS Organizations service control policy (SCP).
|
3637
|
+
# This parameter is optional.
|
3638
|
+
#
|
3639
|
+
# This ID is used to generate information about when an account
|
3640
|
+
# principal that is limited by the SCP attempted to access an AWS
|
3641
|
+
# service.
|
3642
|
+
#
|
3643
|
+
# @return [Types::GenerateOrganizationsAccessReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
3644
|
+
#
|
3645
|
+
# * {Types::GenerateOrganizationsAccessReportResponse#job_id #job_id} => String
|
3646
|
+
#
|
3647
|
+
#
|
3648
|
+
# @example Example: To generate a service last accessed data report for an organizational unit
|
3649
|
+
#
|
3650
|
+
# # The following operation generates a report for the organizational unit ou-rge0-awexample
|
3651
|
+
#
|
3652
|
+
# resp = client.generate_organizations_access_report({
|
3653
|
+
# entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example",
|
3654
|
+
# })
|
3655
|
+
#
|
3656
|
+
# resp.to_h outputs the following:
|
3657
|
+
# {
|
3658
|
+
# job_id: "examplea-1234-b567-cde8-90fg123abcd4",
|
3659
|
+
# }
|
3660
|
+
#
|
3661
|
+
# @example Request syntax with placeholder values
|
3662
|
+
#
|
3663
|
+
# resp = client.generate_organizations_access_report({
|
3664
|
+
# entity_path: "organizationsEntityPathType", # required
|
3665
|
+
# organizations_policy_id: "organizationsPolicyIdType",
|
3666
|
+
# })
|
3667
|
+
#
|
3668
|
+
# @example Response structure
|
3669
|
+
#
|
3670
|
+
# resp.job_id #=> String
|
3671
|
+
#
|
3672
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReport AWS API Documentation
|
3673
|
+
#
|
3674
|
+
# @overload generate_organizations_access_report(params = {})
|
3675
|
+
# @param [Hash] params ({})
|
3676
|
+
def generate_organizations_access_report(params = {}, options = {})
|
3677
|
+
req = build_request(:generate_organizations_access_report, params)
|
3678
|
+
req.send_request(options)
|
3679
|
+
end
|
3680
|
+
|
3681
|
+
# Generates a report that includes details about when an IAM resource
|
3682
|
+
# (user, group, role, or policy) was last used in an attempt to access
|
3683
|
+
# AWS services. Recent activity usually appears within four hours. IAM
|
3684
|
+
# reports activity for the last 365 days, or less if your Region began
|
3685
|
+
# supporting this feature within the last year. For more information,
|
3686
|
+
# see [Regions Where Data Is Tracked][1].
|
3501
3687
|
#
|
3502
3688
|
# The service last accessed data includes all attempts to access an AWS
|
3503
3689
|
# API, not just the successful ones. This includes all attempts that
|
@@ -4449,6 +4635,151 @@ module Aws::IAM
|
|
4449
4635
|
req.send_request(options)
|
4450
4636
|
end
|
4451
4637
|
|
4638
|
+
# Retrieves the service last accessed data report for AWS Organizations
|
4639
|
+
# that was previously generated using the `
|
4640
|
+
# GenerateOrganizationsAccessReport ` operation. This operation
|
4641
|
+
# retrieves the status of your report job and the report contents.
|
4642
|
+
#
|
4643
|
+
# Depending on the parameters that you passed when you generated the
|
4644
|
+
# report, the data returned could include different information. For
|
4645
|
+
# details, see GenerateOrganizationsAccessReport.
|
4646
|
+
#
|
4647
|
+
# To call this operation, you must be signed in to the master account in
|
4648
|
+
# your organization. SCPs must be enabled for your organization root.
|
4649
|
+
# You must have permissions to perform this operation. For more
|
4650
|
+
# information, see [Refining Permissions Using Service Last Accessed
|
4651
|
+
# Data][1] in the *IAM User Guide*.
|
4652
|
+
#
|
4653
|
+
# For each service that principals in an account (root users, IAM users,
|
4654
|
+
# or IAM roles) could access using SCPs, the operation returns details
|
4655
|
+
# about the most recent access attempt. If there was no attempt, the
|
4656
|
+
# service is listed without details about the most recent attempt to
|
4657
|
+
# access the service. If the operation fails, it returns the reason that
|
4658
|
+
# it failed.
|
4659
|
+
#
|
4660
|
+
# By default, the list is sorted by service namespace.
|
4661
|
+
#
|
4662
|
+
#
|
4663
|
+
#
|
4664
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html
|
4665
|
+
#
|
4666
|
+
# @option params [required, String] :job_id
|
4667
|
+
# The identifier of the request generated by the
|
4668
|
+
# GenerateOrganizationsAccessReport operation.
|
4669
|
+
#
|
4670
|
+
# @option params [Integer] :max_items
|
4671
|
+
# Use this only when paginating results to indicate the maximum number
|
4672
|
+
# of items you want in the response. If additional items exist beyond
|
4673
|
+
# the maximum you specify, the `IsTruncated` response element is `true`.
|
4674
|
+
#
|
4675
|
+
# If you do not include this parameter, the number of items defaults to
|
4676
|
+
# 100. Note that IAM might return fewer results, even when there are
|
4677
|
+
# more results available. In that case, the `IsTruncated` response
|
4678
|
+
# element returns `true`, and `Marker` contains a value to include in
|
4679
|
+
# the subsequent call that tells the service where to continue from.
|
4680
|
+
#
|
4681
|
+
# @option params [String] :marker
|
4682
|
+
# Use this parameter only when paginating results and only after you
|
4683
|
+
# receive a response indicating that the results are truncated. Set it
|
4684
|
+
# to the value of the `Marker` element in the response that you received
|
4685
|
+
# to indicate where the next call should start.
|
4686
|
+
#
|
4687
|
+
# @option params [String] :sort_key
|
4688
|
+
# The key that is used to sort the results. If you choose the namespace
|
4689
|
+
# key, the results are returned in alphabetical order. If you choose the
|
4690
|
+
# time key, the results are sorted numerically by the date and time.
|
4691
|
+
#
|
4692
|
+
# @return [Types::GetOrganizationsAccessReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4693
|
+
#
|
4694
|
+
# * {Types::GetOrganizationsAccessReportResponse#job_status #job_status} => String
|
4695
|
+
# * {Types::GetOrganizationsAccessReportResponse#job_creation_date #job_creation_date} => Time
|
4696
|
+
# * {Types::GetOrganizationsAccessReportResponse#job_completion_date #job_completion_date} => Time
|
4697
|
+
# * {Types::GetOrganizationsAccessReportResponse#number_of_services_accessible #number_of_services_accessible} => Integer
|
4698
|
+
# * {Types::GetOrganizationsAccessReportResponse#number_of_services_not_accessed #number_of_services_not_accessed} => Integer
|
4699
|
+
# * {Types::GetOrganizationsAccessReportResponse#access_details #access_details} => Array<Types::AccessDetail>
|
4700
|
+
# * {Types::GetOrganizationsAccessReportResponse#is_truncated #is_truncated} => Boolean
|
4701
|
+
# * {Types::GetOrganizationsAccessReportResponse#marker #marker} => String
|
4702
|
+
# * {Types::GetOrganizationsAccessReportResponse#error_details #error_details} => Types::ErrorDetails
|
4703
|
+
#
|
4704
|
+
#
|
4705
|
+
# @example Example: To get details from a previously generated organizational unit report
|
4706
|
+
#
|
4707
|
+
# # The following operation gets details about the report with the job ID: examplea-1234-b567-cde8-90fg123abcd4
|
4708
|
+
#
|
4709
|
+
# resp = client.get_organizations_access_report({
|
4710
|
+
# job_id: "examplea-1234-b567-cde8-90fg123abcd4",
|
4711
|
+
# })
|
4712
|
+
#
|
4713
|
+
# resp.to_h outputs the following:
|
4714
|
+
# {
|
4715
|
+
# access_details: [
|
4716
|
+
# {
|
4717
|
+
# entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example/111122223333",
|
4718
|
+
# last_authenticated_time: Time.parse("2019-05-25T16:29:52Z"),
|
4719
|
+
# region: "us-east-1",
|
4720
|
+
# service_name: "Amazon DynamoDB",
|
4721
|
+
# service_namespace: "dynamodb",
|
4722
|
+
# total_authenticated_entities: 2,
|
4723
|
+
# },
|
4724
|
+
# {
|
4725
|
+
# entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example/123456789012",
|
4726
|
+
# last_authenticated_time: Time.parse("2019-06-15T13:12:06Z"),
|
4727
|
+
# region: "us-east-1",
|
4728
|
+
# service_name: "AWS Identity and Access Management",
|
4729
|
+
# service_namespace: "iam",
|
4730
|
+
# total_authenticated_entities: 4,
|
4731
|
+
# },
|
4732
|
+
# {
|
4733
|
+
# service_name: "Amazon Simple Storage Service",
|
4734
|
+
# service_namespace: "s3",
|
4735
|
+
# total_authenticated_entities: 0,
|
4736
|
+
# },
|
4737
|
+
# ],
|
4738
|
+
# is_truncated: false,
|
4739
|
+
# job_completion_date: Time.parse("2019-06-18T19:47:35.241Z"),
|
4740
|
+
# job_creation_date: Time.parse("2019-06-18T19:47:31.466Z"),
|
4741
|
+
# job_status: "COMPLETED",
|
4742
|
+
# number_of_services_accessible: 3,
|
4743
|
+
# number_of_services_not_accessed: 1,
|
4744
|
+
# }
|
4745
|
+
#
|
4746
|
+
# @example Request syntax with placeholder values
|
4747
|
+
#
|
4748
|
+
# resp = client.get_organizations_access_report({
|
4749
|
+
# job_id: "jobIDType", # required
|
4750
|
+
# max_items: 1,
|
4751
|
+
# marker: "markerType",
|
4752
|
+
# sort_key: "SERVICE_NAMESPACE_ASCENDING", # accepts SERVICE_NAMESPACE_ASCENDING, SERVICE_NAMESPACE_DESCENDING, LAST_AUTHENTICATED_TIME_ASCENDING, LAST_AUTHENTICATED_TIME_DESCENDING
|
4753
|
+
# })
|
4754
|
+
#
|
4755
|
+
# @example Response structure
|
4756
|
+
#
|
4757
|
+
# resp.job_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
|
4758
|
+
# resp.job_creation_date #=> Time
|
4759
|
+
# resp.job_completion_date #=> Time
|
4760
|
+
# resp.number_of_services_accessible #=> Integer
|
4761
|
+
# resp.number_of_services_not_accessed #=> Integer
|
4762
|
+
# resp.access_details #=> Array
|
4763
|
+
# resp.access_details[0].service_name #=> String
|
4764
|
+
# resp.access_details[0].service_namespace #=> String
|
4765
|
+
# resp.access_details[0].region #=> String
|
4766
|
+
# resp.access_details[0].entity_path #=> String
|
4767
|
+
# resp.access_details[0].last_authenticated_time #=> Time
|
4768
|
+
# resp.access_details[0].total_authenticated_entities #=> Integer
|
4769
|
+
# resp.is_truncated #=> Boolean
|
4770
|
+
# resp.marker #=> String
|
4771
|
+
# resp.error_details.message #=> String
|
4772
|
+
# resp.error_details.code #=> String
|
4773
|
+
#
|
4774
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReport AWS API Documentation
|
4775
|
+
#
|
4776
|
+
# @overload get_organizations_access_report(params = {})
|
4777
|
+
# @param [Hash] params ({})
|
4778
|
+
def get_organizations_access_report(params = {}, options = {})
|
4779
|
+
req = build_request(:get_organizations_access_report, params)
|
4780
|
+
req.send_request(options)
|
4781
|
+
end
|
4782
|
+
|
4452
4783
|
# Retrieves information about the specified managed policy, including
|
4453
4784
|
# the policy's default version and the total number of IAM users,
|
4454
4785
|
# groups, and roles to which the policy is attached. To retrieve the
|
@@ -4933,11 +5264,13 @@ module Aws::IAM
|
|
4933
5264
|
req.send_request(options)
|
4934
5265
|
end
|
4935
5266
|
|
4936
|
-
#
|
4937
|
-
# `GenerateServiceLastAccessedDetails` operation
|
4938
|
-
# `JobId` parameter in `GetServiceLastAccessedDetails
|
4939
|
-
#
|
4940
|
-
#
|
5267
|
+
# Retrieves a service last accessed report that was created using the
|
5268
|
+
# `GenerateServiceLastAccessedDetails` operation. You can use the
|
5269
|
+
# `JobId` parameter in `GetServiceLastAccessedDetails` to retrieve the
|
5270
|
+
# status of your report job. When the report is complete, you can
|
5271
|
+
# retrieve the generated report. The report includes a list of AWS
|
5272
|
+
# services that the resource (user, group, role, or managed policy) can
|
5273
|
+
# access.
|
4941
5274
|
#
|
4942
5275
|
# <note markdown="1"> Service last accessed data does not use other policy types when
|
4943
5276
|
# determining whether a resource could access a service. These other
|
@@ -7926,7 +8259,14 @@ module Aws::IAM
|
|
7926
8259
|
# @option params [required, String] :group_name
|
7927
8260
|
# The name of the group to associate the policy with.
|
7928
8261
|
#
|
7929
|
-
#
|
8262
|
+
# This parameter allows (through its [regex pattern][1]) a string of
|
8263
|
+
# characters consisting of upper and lowercase alphanumeric characters
|
8264
|
+
# with no spaces. You can also include any of the following characters:
|
8265
|
+
# \_+=,.@-.
|
8266
|
+
#
|
8267
|
+
#
|
8268
|
+
#
|
8269
|
+
# [1]: http://wikipedia.org/wiki/regex
|
7930
8270
|
#
|
7931
8271
|
# @option params [required, String] :policy_name
|
7932
8272
|
# The name of the policy document.
|
@@ -9131,7 +9471,7 @@ module Aws::IAM
|
|
9131
9471
|
# @option params [Array<Types::ContextEntry>] :context_entries
|
9132
9472
|
# A list of context keys and corresponding values for the simulation to
|
9133
9473
|
# use. Whenever a context key is evaluated in one of the simulated IAM
|
9134
|
-
#
|
9474
|
+
# permissions policies, the corresponding value is supplied.
|
9135
9475
|
#
|
9136
9476
|
# @option params [String] :resource_handling_option
|
9137
9477
|
# Specifies the type of simulation to run. Different API operations that
|
@@ -10970,7 +11310,7 @@ module Aws::IAM
|
|
10970
11310
|
params: params,
|
10971
11311
|
config: config)
|
10972
11312
|
context[:gem_name] = 'aws-sdk-iam'
|
10973
|
-
context[:gem_version] = '1.
|
11313
|
+
context[:gem_version] = '1.26.0'
|
10974
11314
|
Seahorse::Client::Request.new(handlers, context)
|
10975
11315
|
end
|
10976
11316
|
|
@@ -11,6 +11,8 @@ module Aws::IAM
|
|
11
11
|
|
12
12
|
include Seahorse::Model
|
13
13
|
|
14
|
+
AccessDetail = Shapes::StructureShape.new(name: 'AccessDetail')
|
15
|
+
AccessDetails = Shapes::ListShape.new(name: 'AccessDetails')
|
14
16
|
AccessKey = Shapes::StructureShape.new(name: 'AccessKey')
|
15
17
|
AccessKeyLastUsed = Shapes::StructureShape.new(name: 'AccessKeyLastUsed')
|
16
18
|
AccessKeyMetadata = Shapes::StructureShape.new(name: 'AccessKeyMetadata')
|
@@ -112,6 +114,8 @@ module Aws::IAM
|
|
112
114
|
EvaluationResult = Shapes::StructureShape.new(name: 'EvaluationResult')
|
113
115
|
EvaluationResultsListType = Shapes::ListShape.new(name: 'EvaluationResultsListType')
|
114
116
|
GenerateCredentialReportResponse = Shapes::StructureShape.new(name: 'GenerateCredentialReportResponse')
|
117
|
+
GenerateOrganizationsAccessReportRequest = Shapes::StructureShape.new(name: 'GenerateOrganizationsAccessReportRequest')
|
118
|
+
GenerateOrganizationsAccessReportResponse = Shapes::StructureShape.new(name: 'GenerateOrganizationsAccessReportResponse')
|
115
119
|
GenerateServiceLastAccessedDetailsRequest = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsRequest')
|
116
120
|
GenerateServiceLastAccessedDetailsResponse = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsResponse')
|
117
121
|
GetAccessKeyLastUsedRequest = Shapes::StructureShape.new(name: 'GetAccessKeyLastUsedRequest')
|
@@ -134,6 +138,8 @@ module Aws::IAM
|
|
134
138
|
GetLoginProfileResponse = Shapes::StructureShape.new(name: 'GetLoginProfileResponse')
|
135
139
|
GetOpenIDConnectProviderRequest = Shapes::StructureShape.new(name: 'GetOpenIDConnectProviderRequest')
|
136
140
|
GetOpenIDConnectProviderResponse = Shapes::StructureShape.new(name: 'GetOpenIDConnectProviderResponse')
|
141
|
+
GetOrganizationsAccessReportRequest = Shapes::StructureShape.new(name: 'GetOrganizationsAccessReportRequest')
|
142
|
+
GetOrganizationsAccessReportResponse = Shapes::StructureShape.new(name: 'GetOrganizationsAccessReportResponse')
|
137
143
|
GetPolicyRequest = Shapes::StructureShape.new(name: 'GetPolicyRequest')
|
138
144
|
GetPolicyResponse = Shapes::StructureShape.new(name: 'GetPolicyResponse')
|
139
145
|
GetPolicyVersionRequest = Shapes::StructureShape.new(name: 'GetPolicyVersionRequest')
|
@@ -269,6 +275,7 @@ module Aws::IAM
|
|
269
275
|
RemoveUserFromGroupRequest = Shapes::StructureShape.new(name: 'RemoveUserFromGroupRequest')
|
270
276
|
ReportContentType = Shapes::BlobShape.new(name: 'ReportContentType')
|
271
277
|
ReportFormatType = Shapes::StringShape.new(name: 'ReportFormatType')
|
278
|
+
ReportGenerationLimitExceededException = Shapes::StructureShape.new(name: 'ReportGenerationLimitExceededException')
|
272
279
|
ReportStateDescriptionType = Shapes::StringShape.new(name: 'ReportStateDescriptionType')
|
273
280
|
ReportStateType = Shapes::StringShape.new(name: 'ReportStateType')
|
274
281
|
ResetServiceSpecificCredentialRequest = Shapes::StructureShape.new(name: 'ResetServiceSpecificCredentialRequest')
|
@@ -401,6 +408,8 @@ module Aws::IAM
|
|
401
408
|
mfaDeviceListType = Shapes::ListShape.new(name: 'mfaDeviceListType')
|
402
409
|
minimumPasswordLengthType = Shapes::IntegerShape.new(name: 'minimumPasswordLengthType')
|
403
410
|
noSuchEntityMessage = Shapes::StringShape.new(name: 'noSuchEntityMessage')
|
411
|
+
organizationsEntityPathType = Shapes::StringShape.new(name: 'organizationsEntityPathType')
|
412
|
+
organizationsPolicyIdType = Shapes::StringShape.new(name: 'organizationsPolicyIdType')
|
404
413
|
passwordPolicyViolationMessage = Shapes::StringShape.new(name: 'passwordPolicyViolationMessage')
|
405
414
|
passwordReusePreventionType = Shapes::IntegerShape.new(name: 'passwordReusePreventionType')
|
406
415
|
passwordType = Shapes::StringShape.new(name: 'passwordType')
|
@@ -425,6 +434,7 @@ module Aws::IAM
|
|
425
434
|
publicKeyFingerprintType = Shapes::StringShape.new(name: 'publicKeyFingerprintType')
|
426
435
|
publicKeyIdType = Shapes::StringShape.new(name: 'publicKeyIdType')
|
427
436
|
publicKeyMaterialType = Shapes::StringShape.new(name: 'publicKeyMaterialType')
|
437
|
+
reportGenerationLimitExceededMessage = Shapes::StringShape.new(name: 'reportGenerationLimitExceededMessage')
|
428
438
|
responseMarkerType = Shapes::StringShape.new(name: 'responseMarkerType')
|
429
439
|
roleDescriptionType = Shapes::StringShape.new(name: 'roleDescriptionType')
|
430
440
|
roleDetailListType = Shapes::ListShape.new(name: 'roleDetailListType')
|
@@ -443,6 +453,7 @@ module Aws::IAM
|
|
443
453
|
servicePassword = Shapes::StringShape.new(name: 'servicePassword')
|
444
454
|
serviceSpecificCredentialId = Shapes::StringShape.new(name: 'serviceSpecificCredentialId')
|
445
455
|
serviceUserName = Shapes::StringShape.new(name: 'serviceUserName')
|
456
|
+
sortKeyType = Shapes::StringShape.new(name: 'sortKeyType')
|
446
457
|
statusType = Shapes::StringShape.new(name: 'statusType')
|
447
458
|
stringType = Shapes::StringShape.new(name: 'stringType')
|
448
459
|
summaryKeyType = Shapes::StringShape.new(name: 'summaryKeyType')
|
@@ -462,6 +473,16 @@ module Aws::IAM
|
|
462
473
|
virtualMFADeviceListType = Shapes::ListShape.new(name: 'virtualMFADeviceListType')
|
463
474
|
virtualMFADeviceName = Shapes::StringShape.new(name: 'virtualMFADeviceName')
|
464
475
|
|
476
|
+
AccessDetail.add_member(:service_name, Shapes::ShapeRef.new(shape: serviceNameType, required: true, location_name: "ServiceName"))
|
477
|
+
AccessDetail.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, required: true, location_name: "ServiceNamespace"))
|
478
|
+
AccessDetail.add_member(:region, Shapes::ShapeRef.new(shape: stringType, location_name: "Region"))
|
479
|
+
AccessDetail.add_member(:entity_path, Shapes::ShapeRef.new(shape: organizationsEntityPathType, location_name: "EntityPath"))
|
480
|
+
AccessDetail.add_member(:last_authenticated_time, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAuthenticatedTime"))
|
481
|
+
AccessDetail.add_member(:total_authenticated_entities, Shapes::ShapeRef.new(shape: integerType, location_name: "TotalAuthenticatedEntities"))
|
482
|
+
AccessDetail.struct_class = Types::AccessDetail
|
483
|
+
|
484
|
+
AccessDetails.member = Shapes::ShapeRef.new(shape: AccessDetail)
|
485
|
+
|
465
486
|
AccessKey.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
|
466
487
|
AccessKey.add_member(:access_key_id, Shapes::ShapeRef.new(shape: accessKeyIdType, required: true, location_name: "AccessKeyId"))
|
467
488
|
AccessKey.add_member(:status, Shapes::ShapeRef.new(shape: statusType, required: true, location_name: "Status"))
|
@@ -801,6 +822,13 @@ module Aws::IAM
|
|
801
822
|
GenerateCredentialReportResponse.add_member(:description, Shapes::ShapeRef.new(shape: ReportStateDescriptionType, location_name: "Description"))
|
802
823
|
GenerateCredentialReportResponse.struct_class = Types::GenerateCredentialReportResponse
|
803
824
|
|
825
|
+
GenerateOrganizationsAccessReportRequest.add_member(:entity_path, Shapes::ShapeRef.new(shape: organizationsEntityPathType, required: true, location_name: "EntityPath"))
|
826
|
+
GenerateOrganizationsAccessReportRequest.add_member(:organizations_policy_id, Shapes::ShapeRef.new(shape: organizationsPolicyIdType, location_name: "OrganizationsPolicyId"))
|
827
|
+
GenerateOrganizationsAccessReportRequest.struct_class = Types::GenerateOrganizationsAccessReportRequest
|
828
|
+
|
829
|
+
GenerateOrganizationsAccessReportResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, location_name: "JobId"))
|
830
|
+
GenerateOrganizationsAccessReportResponse.struct_class = Types::GenerateOrganizationsAccessReportResponse
|
831
|
+
|
804
832
|
GenerateServiceLastAccessedDetailsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
|
805
833
|
GenerateServiceLastAccessedDetailsRequest.struct_class = Types::GenerateServiceLastAccessedDetailsRequest
|
806
834
|
|
@@ -889,6 +917,23 @@ module Aws::IAM
|
|
889
917
|
GetOpenIDConnectProviderResponse.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, location_name: "CreateDate"))
|
890
918
|
GetOpenIDConnectProviderResponse.struct_class = Types::GetOpenIDConnectProviderResponse
|
891
919
|
|
920
|
+
GetOrganizationsAccessReportRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, required: true, location_name: "JobId"))
|
921
|
+
GetOrganizationsAccessReportRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
|
922
|
+
GetOrganizationsAccessReportRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
|
923
|
+
GetOrganizationsAccessReportRequest.add_member(:sort_key, Shapes::ShapeRef.new(shape: sortKeyType, location_name: "SortKey"))
|
924
|
+
GetOrganizationsAccessReportRequest.struct_class = Types::GetOrganizationsAccessReportRequest
|
925
|
+
|
926
|
+
GetOrganizationsAccessReportResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: jobStatusType, required: true, location_name: "JobStatus"))
|
927
|
+
GetOrganizationsAccessReportResponse.add_member(:job_creation_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCreationDate"))
|
928
|
+
GetOrganizationsAccessReportResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, location_name: "JobCompletionDate"))
|
929
|
+
GetOrganizationsAccessReportResponse.add_member(:number_of_services_accessible, Shapes::ShapeRef.new(shape: integerType, location_name: "NumberOfServicesAccessible"))
|
930
|
+
GetOrganizationsAccessReportResponse.add_member(:number_of_services_not_accessed, Shapes::ShapeRef.new(shape: integerType, location_name: "NumberOfServicesNotAccessed"))
|
931
|
+
GetOrganizationsAccessReportResponse.add_member(:access_details, Shapes::ShapeRef.new(shape: AccessDetails, location_name: "AccessDetails"))
|
932
|
+
GetOrganizationsAccessReportResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
|
933
|
+
GetOrganizationsAccessReportResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
|
934
|
+
GetOrganizationsAccessReportResponse.add_member(:error_details, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "ErrorDetails"))
|
935
|
+
GetOrganizationsAccessReportResponse.struct_class = Types::GetOrganizationsAccessReportResponse
|
936
|
+
|
892
937
|
GetPolicyRequest.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicyArn"))
|
893
938
|
GetPolicyRequest.struct_class = Types::GetPolicyRequest
|
894
939
|
|
@@ -1467,6 +1512,9 @@ module Aws::IAM
|
|
1467
1512
|
RemoveUserFromGroupRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
|
1468
1513
|
RemoveUserFromGroupRequest.struct_class = Types::RemoveUserFromGroupRequest
|
1469
1514
|
|
1515
|
+
ReportGenerationLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: reportGenerationLimitExceededMessage, location_name: "message"))
|
1516
|
+
ReportGenerationLimitExceededException.struct_class = Types::ReportGenerationLimitExceededException
|
1517
|
+
|
1470
1518
|
ResetServiceSpecificCredentialRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, location_name: "UserName"))
|
1471
1519
|
ResetServiceSpecificCredentialRequest.add_member(:service_specific_credential_id, Shapes::ShapeRef.new(shape: serviceSpecificCredentialId, required: true, location_name: "ServiceSpecificCredentialId"))
|
1472
1520
|
ResetServiceSpecificCredentialRequest.struct_class = Types::ResetServiceSpecificCredentialRequest
|
@@ -2480,6 +2528,15 @@ module Aws::IAM
|
|
2480
2528
|
o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
|
2481
2529
|
end)
|
2482
2530
|
|
2531
|
+
api.add_operation(:generate_organizations_access_report, Seahorse::Model::Operation.new.tap do |o|
|
2532
|
+
o.name = "GenerateOrganizationsAccessReport"
|
2533
|
+
o.http_method = "POST"
|
2534
|
+
o.http_request_uri = "/"
|
2535
|
+
o.input = Shapes::ShapeRef.new(shape: GenerateOrganizationsAccessReportRequest)
|
2536
|
+
o.output = Shapes::ShapeRef.new(shape: GenerateOrganizationsAccessReportResponse)
|
2537
|
+
o.errors << Shapes::ShapeRef.new(shape: ReportGenerationLimitExceededException)
|
2538
|
+
end)
|
2539
|
+
|
2483
2540
|
api.add_operation(:generate_service_last_accessed_details, Seahorse::Model::Operation.new.tap do |o|
|
2484
2541
|
o.name = "GenerateServiceLastAccessedDetails"
|
2485
2542
|
o.http_method = "POST"
|
@@ -2623,6 +2680,15 @@ module Aws::IAM
|
|
2623
2680
|
o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
|
2624
2681
|
end)
|
2625
2682
|
|
2683
|
+
api.add_operation(:get_organizations_access_report, Seahorse::Model::Operation.new.tap do |o|
|
2684
|
+
o.name = "GetOrganizationsAccessReport"
|
2685
|
+
o.http_method = "POST"
|
2686
|
+
o.http_request_uri = "/"
|
2687
|
+
o.input = Shapes::ShapeRef.new(shape: GetOrganizationsAccessReportRequest)
|
2688
|
+
o.output = Shapes::ShapeRef.new(shape: GetOrganizationsAccessReportResponse)
|
2689
|
+
o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
|
2690
|
+
end)
|
2691
|
+
|
2626
2692
|
api.add_operation(:get_policy, Seahorse::Model::Operation.new.tap do |o|
|
2627
2693
|
o.name = "GetPolicy"
|
2628
2694
|
o.http_method = "POST"
|
@@ -85,7 +85,7 @@ module Aws::IAM
|
|
85
85
|
# * A password exists but has not been used since IAM started tracking
|
86
86
|
# this information on October 20, 2014.
|
87
87
|
#
|
88
|
-
# A null
|
88
|
+
# A null value does not mean that the user *never* had a password. Also,
|
89
89
|
# if the user does not currently have a password, but had one in the
|
90
90
|
# past, then this field contains the date and time the most recent
|
91
91
|
# password was used.
|
data/lib/aws-sdk-iam/errors.rb
CHANGED
@@ -362,6 +362,22 @@ module Aws::IAM
|
|
362
362
|
|
363
363
|
end
|
364
364
|
|
365
|
+
class ReportGenerationLimitExceededException < ServiceError
|
366
|
+
|
367
|
+
# @param [Seahorse::Client::RequestContext] context
|
368
|
+
# @param [String] message
|
369
|
+
# @param [Aws::IAM::Types::ReportGenerationLimitExceededException] data
|
370
|
+
def initialize(context, message, data = Aws::EmptyStructure.new)
|
371
|
+
super(context, message, data)
|
372
|
+
end
|
373
|
+
|
374
|
+
# @return [String]
|
375
|
+
def message
|
376
|
+
@message || @data[:message]
|
377
|
+
end
|
378
|
+
|
379
|
+
end
|
380
|
+
|
365
381
|
class ServiceFailureException < ServiceError
|
366
382
|
|
367
383
|
# @param [Seahorse::Client::RequestContext] context
|
data/lib/aws-sdk-iam/resource.rb
CHANGED
@@ -375,7 +375,7 @@ module Aws::IAM
|
|
375
375
|
# The trust relationship policy document that grants an entity
|
376
376
|
# permission to assume the role.
|
377
377
|
#
|
378
|
-
#
|
378
|
+
# In IAM, you must provide a JSON policy that has been converted to a
|
379
379
|
# string. However, for AWS CloudFormation templates formatted in YAML,
|
380
380
|
# you can provide the policy in JSON or YAML format. AWS CloudFormation
|
381
381
|
# always converts a YAML policy to JSON format before submitting it to
|
data/lib/aws-sdk-iam/types.rb
CHANGED
@@ -8,6 +8,94 @@
|
|
8
8
|
module Aws::IAM
|
9
9
|
module Types
|
10
10
|
|
11
|
+
# An object that contains details about when a principal in the reported
|
12
|
+
# AWS Organizations entity last attempted to access an AWS service. A
|
13
|
+
# principal can be an IAM user, an IAM role, or the AWS account root
|
14
|
+
# user within the reported Organizations entity.
|
15
|
+
#
|
16
|
+
# This data type is a response element in the
|
17
|
+
# GetOrganizationsAccessReport operation.
|
18
|
+
#
|
19
|
+
# @!attribute [rw] service_name
|
20
|
+
# The name of the service in which access was attempted.
|
21
|
+
# @return [String]
|
22
|
+
#
|
23
|
+
# @!attribute [rw] service_namespace
|
24
|
+
# The namespace of the service in which access was attempted.
|
25
|
+
#
|
26
|
+
# To learn the service namespace of a service, go to [Actions,
|
27
|
+
# Resources, and Condition Keys for AWS Services][1] in the *IAM User
|
28
|
+
# Guide*. Choose the name of the service to view details for that
|
29
|
+
# service. In the first paragraph, find the service prefix. For
|
30
|
+
# example, `(service prefix: a4b)`. For more information about service
|
31
|
+
# namespaces, see [AWS Service Namespaces][2] in the *AWS General
|
32
|
+
# Reference*.
|
33
|
+
#
|
34
|
+
#
|
35
|
+
#
|
36
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html
|
37
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
|
38
|
+
# @return [String]
|
39
|
+
#
|
40
|
+
# @!attribute [rw] region
|
41
|
+
# The Region where the last service access attempt occurred.
|
42
|
+
#
|
43
|
+
# This field is null if no principals in the reported Organizations
|
44
|
+
# entity attempted to access the service within the [reporting
|
45
|
+
# period][1].
|
46
|
+
#
|
47
|
+
#
|
48
|
+
#
|
49
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
|
50
|
+
# @return [String]
|
51
|
+
#
|
52
|
+
# @!attribute [rw] entity_path
|
53
|
+
# The path of the Organizations entity (root, organizational unit, or
|
54
|
+
# account) from which an authenticated principal last attempted to
|
55
|
+
# access the service. AWS does not report unauthenticated requests.
|
56
|
+
#
|
57
|
+
# This field is null if no principals (IAM users, IAM roles, or root
|
58
|
+
# users) in the reported Organizations entity attempted to access the
|
59
|
+
# service within the [reporting period][1].
|
60
|
+
#
|
61
|
+
#
|
62
|
+
#
|
63
|
+
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
|
64
|
+
# @return [String]
|
65
|
+
#
|
66
|
+
# @!attribute [rw] last_authenticated_time
|
67
|
+
# The date and time, in [ISO 8601 date-time format][1], when an
|
68
|
+
# authenticated principal most recently attempted to access the
|
69
|
+
# service. AWS does not report unauthenticated requests.
|
70
|
+
#
|
71
|
+
# This field is null if no principals in the reported Organizations
|
72
|
+
# entity attempted to access the service within the [reporting
|
73
|
+
# period][2].
|
74
|
+
#
|
75
|
+
#
|
76
|
+
#
|
77
|
+
# [1]: http://www.iso.org/iso/iso8601
|
78
|
+
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
|
79
|
+
# @return [Time]
|
80
|
+
#
|
81
|
+
# @!attribute [rw] total_authenticated_entities
|
82
|
+
# The number of accounts with authenticated principals (root users,
|
83
|
+
# IAM users, and IAM roles) that attempted to access the service in
|
84
|
+
# the reporting period.
|
85
|
+
# @return [Integer]
|
86
|
+
#
|
87
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AccessDetail AWS API Documentation
|
88
|
+
#
|
89
|
+
class AccessDetail < Struct.new(
|
90
|
+
:service_name,
|
91
|
+
:service_namespace,
|
92
|
+
:region,
|
93
|
+
:entity_path,
|
94
|
+
:last_authenticated_time,
|
95
|
+
:total_authenticated_entities)
|
96
|
+
include Aws::Structure
|
97
|
+
end
|
98
|
+
|
11
99
|
# Contains information about an AWS access key.
|
12
100
|
#
|
13
101
|
# This data type is used as a response element in the CreateAccessKey
|
@@ -68,7 +156,7 @@ module Aws::IAM
|
|
68
156
|
# * An access key exists but has not been used since IAM began
|
69
157
|
# tracking this information.
|
70
158
|
#
|
71
|
-
# * There is no sign-in data associated with the user
|
159
|
+
# * There is no sign-in data associated with the user.
|
72
160
|
#
|
73
161
|
#
|
74
162
|
#
|
@@ -85,11 +173,11 @@ module Aws::IAM
|
|
85
173
|
# * An access key exists but has not been used since IAM started
|
86
174
|
# tracking this information.
|
87
175
|
#
|
88
|
-
# * There is no sign-in data associated with the user
|
176
|
+
# * There is no sign-in data associated with the user.
|
89
177
|
# @return [String]
|
90
178
|
#
|
91
179
|
# @!attribute [rw] region
|
92
|
-
# The AWS
|
180
|
+
# The AWS Region where this access key was most recently used. The
|
93
181
|
# value for this field is "N/A" in the following situations:
|
94
182
|
#
|
95
183
|
# * The user does not have an access key.
|
@@ -97,9 +185,9 @@ module Aws::IAM
|
|
97
185
|
# * An access key exists but has not been used since IAM began
|
98
186
|
# tracking this information.
|
99
187
|
#
|
100
|
-
# * There is no sign-in data associated with the user
|
188
|
+
# * There is no sign-in data associated with the user.
|
101
189
|
#
|
102
|
-
# For more information about AWS
|
190
|
+
# For more information about AWS Regions, see [Regions and
|
103
191
|
# Endpoints][1] in the Amazon Web Services General Reference.
|
104
192
|
#
|
105
193
|
#
|
@@ -1134,7 +1222,7 @@ module Aws::IAM
|
|
1134
1222
|
# The trust relationship policy document that grants an entity
|
1135
1223
|
# permission to assume the role.
|
1136
1224
|
#
|
1137
|
-
#
|
1225
|
+
# In IAM, you must provide a JSON policy that has been converted to a
|
1138
1226
|
# string. However, for AWS CloudFormation templates formatted in YAML,
|
1139
1227
|
# you can provide the policy in JSON or YAML format. AWS
|
1140
1228
|
# CloudFormation always converts a YAML policy to JSON format before
|
@@ -2375,7 +2463,7 @@ module Aws::IAM
|
|
2375
2463
|
# resources that were used by the role have not been deleted from the
|
2376
2464
|
# linked service, the role can't be deleted. This parameter includes
|
2377
2465
|
# a list of the resources that are associated with the role and the
|
2378
|
-
#
|
2466
|
+
# Region in which the resources are being used.
|
2379
2467
|
# @return [Array<Types::RoleUsageType>]
|
2380
2468
|
#
|
2381
2469
|
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletionTaskFailureReasonType AWS API Documentation
|
@@ -2730,8 +2818,8 @@ module Aws::IAM
|
|
2730
2818
|
# Contains information about the reason that the operation failed.
|
2731
2819
|
#
|
2732
2820
|
# This data type is used as a response element in the
|
2733
|
-
# GetServiceLastAccessedDetails
|
2734
|
-
# GetServiceLastAccessedDetailsWithEntities
|
2821
|
+
# GetOrganizationsAccessReport, GetServiceLastAccessedDetails, and
|
2822
|
+
# GetServiceLastAccessedDetailsWithEntities operations.
|
2735
2823
|
#
|
2736
2824
|
# @!attribute [rw] message
|
2737
2825
|
# Detailed information about the reason that the operation failed.
|
@@ -2771,8 +2859,8 @@ module Aws::IAM
|
|
2771
2859
|
# A list of the statements in the input policies that determine the
|
2772
2860
|
# result for this scenario. Remember that even if multiple statements
|
2773
2861
|
# allow the operation on the resource, if only one statement denies
|
2774
|
-
# that operation, then the explicit deny overrides any allow.
|
2775
|
-
#
|
2862
|
+
# that operation, then the explicit deny overrides any allow. In
|
2863
|
+
# addition, the deny statement is the only entry included in the
|
2776
2864
|
# result.
|
2777
2865
|
# @return [Array<Types::Statement>]
|
2778
2866
|
#
|
@@ -2788,9 +2876,9 @@ module Aws::IAM
|
|
2788
2876
|
# @return [Array<String>]
|
2789
2877
|
#
|
2790
2878
|
# @!attribute [rw] organizations_decision_detail
|
2791
|
-
# A structure that details how
|
2792
|
-
#
|
2793
|
-
#
|
2879
|
+
# A structure that details how Organizations and its service control
|
2880
|
+
# policies affect the results of the simulation. Only applies if the
|
2881
|
+
# simulated user's account is part of an organization.
|
2794
2882
|
# @return [Types::OrganizationsDecisionDetail]
|
2795
2883
|
#
|
2796
2884
|
# @!attribute [rw] eval_decision_details
|
@@ -2845,6 +2933,53 @@ module Aws::IAM
|
|
2845
2933
|
include Aws::Structure
|
2846
2934
|
end
|
2847
2935
|
|
2936
|
+
# @note When making an API call, you may pass GenerateOrganizationsAccessReportRequest
|
2937
|
+
# data as a hash:
|
2938
|
+
#
|
2939
|
+
# {
|
2940
|
+
# entity_path: "organizationsEntityPathType", # required
|
2941
|
+
# organizations_policy_id: "organizationsPolicyIdType",
|
2942
|
+
# }
|
2943
|
+
#
|
2944
|
+
# @!attribute [rw] entity_path
|
2945
|
+
# The path of the AWS Organizations entity (root, OU, or account). You
|
2946
|
+
# can build an entity path using the known structure of your
|
2947
|
+
# organization. For example, assume that your account ID is
|
2948
|
+
# `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The
|
2949
|
+
# organization root ID is `r-f6g7h8i9j0example` and your organization
|
2950
|
+
# ID is `o-a1b2c3d4e5`. Your entity path is
|
2951
|
+
# `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
|
2952
|
+
# @return [String]
|
2953
|
+
#
|
2954
|
+
# @!attribute [rw] organizations_policy_id
|
2955
|
+
# The identifier of the AWS Organizations service control policy
|
2956
|
+
# (SCP). This parameter is optional.
|
2957
|
+
#
|
2958
|
+
# This ID is used to generate information about when an account
|
2959
|
+
# principal that is limited by the SCP attempted to access an AWS
|
2960
|
+
# service.
|
2961
|
+
# @return [String]
|
2962
|
+
#
|
2963
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReportRequest AWS API Documentation
|
2964
|
+
#
|
2965
|
+
class GenerateOrganizationsAccessReportRequest < Struct.new(
|
2966
|
+
:entity_path,
|
2967
|
+
:organizations_policy_id)
|
2968
|
+
include Aws::Structure
|
2969
|
+
end
|
2970
|
+
|
2971
|
+
# @!attribute [rw] job_id
|
2972
|
+
# The job identifier that you can use in the
|
2973
|
+
# GetOrganizationsAccessReport operation.
|
2974
|
+
# @return [String]
|
2975
|
+
#
|
2976
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReportResponse AWS API Documentation
|
2977
|
+
#
|
2978
|
+
class GenerateOrganizationsAccessReportResponse < Struct.new(
|
2979
|
+
:job_id)
|
2980
|
+
include Aws::Structure
|
2981
|
+
end
|
2982
|
+
|
2848
2983
|
# @note When making an API call, you may pass GenerateServiceLastAccessedDetailsRequest
|
2849
2984
|
# data as a hash:
|
2850
2985
|
#
|
@@ -3481,6 +3616,137 @@ module Aws::IAM
|
|
3481
3616
|
include Aws::Structure
|
3482
3617
|
end
|
3483
3618
|
|
3619
|
+
# @note When making an API call, you may pass GetOrganizationsAccessReportRequest
|
3620
|
+
# data as a hash:
|
3621
|
+
#
|
3622
|
+
# {
|
3623
|
+
# job_id: "jobIDType", # required
|
3624
|
+
# max_items: 1,
|
3625
|
+
# marker: "markerType",
|
3626
|
+
# sort_key: "SERVICE_NAMESPACE_ASCENDING", # accepts SERVICE_NAMESPACE_ASCENDING, SERVICE_NAMESPACE_DESCENDING, LAST_AUTHENTICATED_TIME_ASCENDING, LAST_AUTHENTICATED_TIME_DESCENDING
|
3627
|
+
# }
|
3628
|
+
#
|
3629
|
+
# @!attribute [rw] job_id
|
3630
|
+
# The identifier of the request generated by the
|
3631
|
+
# GenerateOrganizationsAccessReport operation.
|
3632
|
+
# @return [String]
|
3633
|
+
#
|
3634
|
+
# @!attribute [rw] max_items
|
3635
|
+
# Use this only when paginating results to indicate the maximum number
|
3636
|
+
# of items you want in the response. If additional items exist beyond
|
3637
|
+
# the maximum you specify, the `IsTruncated` response element is
|
3638
|
+
# `true`.
|
3639
|
+
#
|
3640
|
+
# If you do not include this parameter, the number of items defaults
|
3641
|
+
# to 100. Note that IAM might return fewer results, even when there
|
3642
|
+
# are more results available. In that case, the `IsTruncated` response
|
3643
|
+
# element returns `true`, and `Marker` contains a value to include in
|
3644
|
+
# the subsequent call that tells the service where to continue from.
|
3645
|
+
# @return [Integer]
|
3646
|
+
#
|
3647
|
+
# @!attribute [rw] marker
|
3648
|
+
# Use this parameter only when paginating results and only after you
|
3649
|
+
# receive a response indicating that the results are truncated. Set it
|
3650
|
+
# to the value of the `Marker` element in the response that you
|
3651
|
+
# received to indicate where the next call should start.
|
3652
|
+
# @return [String]
|
3653
|
+
#
|
3654
|
+
# @!attribute [rw] sort_key
|
3655
|
+
# The key that is used to sort the results. If you choose the
|
3656
|
+
# namespace key, the results are returned in alphabetical order. If
|
3657
|
+
# you choose the time key, the results are sorted numerically by the
|
3658
|
+
# date and time.
|
3659
|
+
# @return [String]
|
3660
|
+
#
|
3661
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReportRequest AWS API Documentation
|
3662
|
+
#
|
3663
|
+
class GetOrganizationsAccessReportRequest < Struct.new(
|
3664
|
+
:job_id,
|
3665
|
+
:max_items,
|
3666
|
+
:marker,
|
3667
|
+
:sort_key)
|
3668
|
+
include Aws::Structure
|
3669
|
+
end
|
3670
|
+
|
3671
|
+
# @!attribute [rw] job_status
|
3672
|
+
# The status of the job.
|
3673
|
+
# @return [String]
|
3674
|
+
#
|
3675
|
+
# @!attribute [rw] job_creation_date
|
3676
|
+
# The date and time, in [ISO 8601 date-time format][1], when the
|
3677
|
+
# report job was created.
|
3678
|
+
#
|
3679
|
+
#
|
3680
|
+
#
|
3681
|
+
# [1]: http://www.iso.org/iso/iso8601
|
3682
|
+
# @return [Time]
|
3683
|
+
#
|
3684
|
+
# @!attribute [rw] job_completion_date
|
3685
|
+
# The date and time, in [ISO 8601 date-time format][1], when the
|
3686
|
+
# generated report job was completed or failed.
|
3687
|
+
#
|
3688
|
+
# This field is null if the job is still in progress, as indicated by
|
3689
|
+
# a job status value of `IN_PROGRESS`.
|
3690
|
+
#
|
3691
|
+
#
|
3692
|
+
#
|
3693
|
+
# [1]: http://www.iso.org/iso/iso8601
|
3694
|
+
# @return [Time]
|
3695
|
+
#
|
3696
|
+
# @!attribute [rw] number_of_services_accessible
|
3697
|
+
# The number of services that the applicable SCPs allow account
|
3698
|
+
# principals to access.
|
3699
|
+
# @return [Integer]
|
3700
|
+
#
|
3701
|
+
# @!attribute [rw] number_of_services_not_accessed
|
3702
|
+
# The number of services that account principals are allowed but did
|
3703
|
+
# not attempt to access.
|
3704
|
+
# @return [Integer]
|
3705
|
+
#
|
3706
|
+
# @!attribute [rw] access_details
|
3707
|
+
# An object that contains details about the most recent attempt to
|
3708
|
+
# access the service.
|
3709
|
+
# @return [Array<Types::AccessDetail>]
|
3710
|
+
#
|
3711
|
+
# @!attribute [rw] is_truncated
|
3712
|
+
# A flag that indicates whether there are more items to return. If
|
3713
|
+
# your results were truncated, you can make a subsequent pagination
|
3714
|
+
# request using the `Marker` request parameter to retrieve more items.
|
3715
|
+
# Note that IAM might return fewer than the `MaxItems` number of
|
3716
|
+
# results even when there are more results available. We recommend
|
3717
|
+
# that you check `IsTruncated` after every call to ensure that you
|
3718
|
+
# receive all your results.
|
3719
|
+
# @return [Boolean]
|
3720
|
+
#
|
3721
|
+
# @!attribute [rw] marker
|
3722
|
+
# When `IsTruncated` is `true`, this element is present and contains
|
3723
|
+
# the value to use for the `Marker` parameter in a subsequent
|
3724
|
+
# pagination request.
|
3725
|
+
# @return [String]
|
3726
|
+
#
|
3727
|
+
# @!attribute [rw] error_details
|
3728
|
+
# Contains information about the reason that the operation failed.
|
3729
|
+
#
|
3730
|
+
# This data type is used as a response element in the
|
3731
|
+
# GetOrganizationsAccessReport, GetServiceLastAccessedDetails, and
|
3732
|
+
# GetServiceLastAccessedDetailsWithEntities operations.
|
3733
|
+
# @return [Types::ErrorDetails]
|
3734
|
+
#
|
3735
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReportResponse AWS API Documentation
|
3736
|
+
#
|
3737
|
+
class GetOrganizationsAccessReportResponse < Struct.new(
|
3738
|
+
:job_status,
|
3739
|
+
:job_creation_date,
|
3740
|
+
:job_completion_date,
|
3741
|
+
:number_of_services_accessible,
|
3742
|
+
:number_of_services_not_accessed,
|
3743
|
+
:access_details,
|
3744
|
+
:is_truncated,
|
3745
|
+
:marker,
|
3746
|
+
:error_details)
|
3747
|
+
include Aws::Structure
|
3748
|
+
end
|
3749
|
+
|
3484
3750
|
# @note When making an API call, you may pass GetPolicyRequest
|
3485
3751
|
# data as a hash:
|
3486
3752
|
#
|
@@ -3903,7 +4169,7 @@ module Aws::IAM
|
|
3903
4169
|
# generated report job was completed or failed.
|
3904
4170
|
#
|
3905
4171
|
# This field is null if the job is still in progress, as indicated by
|
3906
|
-
# a
|
4172
|
+
# a job status value of `IN_PROGRESS`.
|
3907
4173
|
#
|
3908
4174
|
#
|
3909
4175
|
#
|
@@ -4025,6 +4291,9 @@ module Aws::IAM
|
|
4025
4291
|
# The date and time, in [ISO 8601 date-time format][1], when the
|
4026
4292
|
# generated report job was completed or failed.
|
4027
4293
|
#
|
4294
|
+
# This field is null if the job is still in progress, as indicated by
|
4295
|
+
# a job status value of `IN_PROGRESS`.
|
4296
|
+
#
|
4028
4297
|
#
|
4029
4298
|
#
|
4030
4299
|
# [1]: http://www.iso.org/iso/iso8601
|
@@ -7143,11 +7412,11 @@ module Aws::IAM
|
|
7143
7412
|
include Aws::Structure
|
7144
7413
|
end
|
7145
7414
|
|
7146
|
-
# Contains information about
|
7147
|
-
# simulation.
|
7415
|
+
# Contains information about the effect that Organizations has on a
|
7416
|
+
# policy simulation.
|
7148
7417
|
#
|
7149
7418
|
# @!attribute [rw] allowed_by_organizations
|
7150
|
-
# Specifies whether the simulated operation is allowed by the
|
7419
|
+
# Specifies whether the simulated operation is allowed by the
|
7151
7420
|
# Organizations service control policies that impact the simulated
|
7152
7421
|
# user's account.
|
7153
7422
|
# @return [Boolean]
|
@@ -7684,7 +7953,14 @@ module Aws::IAM
|
|
7684
7953
|
# @!attribute [rw] group_name
|
7685
7954
|
# The name of the group to associate the policy with.
|
7686
7955
|
#
|
7687
|
-
#
|
7956
|
+
# This parameter allows (through its [regex pattern][1]) a string of
|
7957
|
+
# characters consisting of upper and lowercase alphanumeric characters
|
7958
|
+
# with no spaces. You can also include any of the following
|
7959
|
+
# characters: \_+=,.@-.
|
7960
|
+
#
|
7961
|
+
#
|
7962
|
+
#
|
7963
|
+
# [1]: http://wikipedia.org/wiki/regex
|
7688
7964
|
# @return [String]
|
7689
7965
|
#
|
7690
7966
|
# @!attribute [rw] policy_name
|
@@ -8043,6 +8319,19 @@ module Aws::IAM
|
|
8043
8319
|
include Aws::Structure
|
8044
8320
|
end
|
8045
8321
|
|
8322
|
+
# The request failed because the maximum number of concurrent requests
|
8323
|
+
# for this account are already running.
|
8324
|
+
#
|
8325
|
+
# @!attribute [rw] message
|
8326
|
+
# @return [String]
|
8327
|
+
#
|
8328
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ReportGenerationLimitExceededException AWS API Documentation
|
8329
|
+
#
|
8330
|
+
class ReportGenerationLimitExceededException < Struct.new(
|
8331
|
+
:message)
|
8332
|
+
include Aws::Structure
|
8333
|
+
end
|
8334
|
+
|
8046
8335
|
# @note When making an API call, you may pass ResetServiceSpecificCredentialRequest
|
8047
8336
|
# data as a hash:
|
8048
8337
|
#
|
@@ -8427,7 +8716,7 @@ module Aws::IAM
|
|
8427
8716
|
# GetServiceLinkedRoleDeletionStatus operation.
|
8428
8717
|
#
|
8429
8718
|
# @!attribute [rw] region
|
8430
|
-
# The name of the
|
8719
|
+
# The name of the Region where the service-linked role is being used.
|
8431
8720
|
# @return [String]
|
8432
8721
|
#
|
8433
8722
|
# @!attribute [rw] resources
|
@@ -8705,11 +8994,11 @@ module Aws::IAM
|
|
8705
8994
|
# @return [String]
|
8706
8995
|
#
|
8707
8996
|
# @!attribute [rw] total_authenticated_entities
|
8708
|
-
# The total number of authenticated
|
8709
|
-
# access the service.
|
8997
|
+
# The total number of authenticated principals (root user, IAM users,
|
8998
|
+
# or IAM roles) that have attempted to access the service.
|
8710
8999
|
#
|
8711
|
-
# This field is null if no
|
8712
|
-
#
|
9000
|
+
# This field is null if no principals attempted to access the service
|
9001
|
+
# within the [reporting period][1].
|
8713
9002
|
#
|
8714
9003
|
#
|
8715
9004
|
#
|
@@ -9358,7 +9647,7 @@ module Aws::IAM
|
|
9358
9647
|
# @!attribute [rw] context_entries
|
9359
9648
|
# A list of context keys and corresponding values for the simulation
|
9360
9649
|
# to use. Whenever a context key is evaluated in one of the simulated
|
9361
|
-
# IAM
|
9650
|
+
# IAM permissions policies, the corresponding value is supplied.
|
9362
9651
|
# @return [Array<Types::ContextEntry>]
|
9363
9652
|
#
|
9364
9653
|
# @!attribute [rw] resource_handling_option
|
@@ -10814,7 +11103,7 @@ module Aws::IAM
|
|
10814
11103
|
# * A password exists but has not been used since IAM started tracking
|
10815
11104
|
# this information on October 20, 2014.
|
10816
11105
|
#
|
10817
|
-
# A null
|
11106
|
+
# A null value does not mean that the user *never* had a password.
|
10818
11107
|
# Also, if the user does not currently have a password, but had one in
|
10819
11108
|
# the past, then this field contains the date and time the most recent
|
10820
11109
|
# password was used.
|
data/lib/aws-sdk-iam/user.rb
CHANGED
@@ -90,7 +90,7 @@ module Aws::IAM
|
|
90
90
|
# * A password exists but has not been used since IAM started tracking
|
91
91
|
# this information on October 20, 2014.
|
92
92
|
#
|
93
|
-
# A null
|
93
|
+
# A null value does not mean that the user *never* had a password. Also,
|
94
94
|
# if the user does not currently have a password, but had one in the
|
95
95
|
# past, then this field contains the date and time the most recent
|
96
96
|
# password was used.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-iam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|