aws-sdk-iam 1.25.0 → 1.26.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|