# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::STS
module Types
# @note When making an API call, you may pass AssumeRoleRequest
# data as a hash:
#
# {
# role_arn: "arnType", # required
# role_session_name: "roleSessionNameType", # required
# policy: "sessionPolicyDocumentType",
# duration_seconds: 1,
# external_id: "externalIdType",
# serial_number: "serialNumberType",
# token_code: "tokenCodeType",
# }
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) of the role to assume.
# @return [String]
#
# @!attribute [rw] role_session_name
# An identifier for the assumed role session.
#
# Use the role session name to uniquely identify a session when the
# same role is assumed by different principals or for different
# reasons. In cross-account scenarios, the role session name is
# visible to, and can be logged by the account that owns the role. The
# role session name is also used in the ARN of the assumed role
# principal. This means that subsequent cross-account API requests
# that use the temporary security credentials will expose the role
# session name to the external account in their AWS CloudTrail logs.
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@-
# @return [String]
#
# @!attribute [rw] policy
# An IAM policy in JSON format.
#
# This parameter is optional. If you pass a policy to this operation,
# the resulting temporary credentials have the permissions of the
# assumed role *and* the policy that you pass. This gives you a way to
# further restrict the permissions for the resulting temporary
# security credentials. You cannot use the passed policy to grant
# permissions that are in excess of those allowed by the permissions
# policy of the role that is being assumed. For more information, see
# [ Permissions for AssumeRole, AssumeRoleWithSAML, and
# AssumeRoleWithWebIdentity ][1] in the *IAM User Guide*.
#
# The format for this parameter, as described by its regex pattern, is
# a string of characters up to 2048 characters in length. The
# characters can be any ASCII character from the space character to
# the end of the valid character list (\\u0020-\\u00FF). It can also
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
# (\\u000D) characters.
#
# The policy plaintext must be 2048 bytes or shorter. However, an
# internal conversion compresses it into a packed binary format with a
# separate limit. The `PackedPolicySize` response element indicates by
# percentage how close to the upper size limit the policy is, where
# 100 percent is the maximum allowed size.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
# @return [String]
#
# @!attribute [rw] duration_seconds
# The duration, in seconds, of the role session. The value can range
# from 900 seconds (15 minutes) up to the maximum session duration
# setting for the role. This setting can have a value from 1 hour to
# 12 hours. If you specify a value higher than this setting, the
# operation fails. For example, if you specify a session duration of
# 12 hours, but your administrator set the maximum session duration to
# 6 hours, your operation fails. To learn how to view the maximum
# value for your role, see [View the Maximum Session Duration Setting
# for a Role][1] in the *IAM User Guide*.
#
# By default, the value is set to `3600` seconds.
#
# The `DurationSeconds` parameter is separate from the duration of a
# console session that you might request using the returned
# credentials. The request to the federation endpoint for a console
# sign-in token takes a `SessionDuration` parameter that specifies the
# maximum length of the console session. For more information, see
# [Creating a URL that Enables Federated Users to Access the AWS
# Management Console][2] in the *IAM User Guide*.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
# @return [Integer]
#
# @!attribute [rw] external_id
# A unique identifier that might be required when you assume a role in
# another account. If the administrator of the account to which the
# role belongs provided you with an external ID, then provide that
# value in the `ExternalId` parameter. This value can be any string,
# such as a passphrase or account number. Because a cross-account role
# is usually set up to trust everyone in an account, the administrator
# of the trusting account might send an external ID to the
# administrator of the trusted account. That way, only someone with
# the ID can assume the role, rather than everyone in the account. For
# more information about the external ID, see [How to Use an External
# ID When Granting Access to Your AWS Resources to a Third Party][1]
# in the *IAM User Guide*.
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@:/-
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
# @return [String]
#
# @!attribute [rw] serial_number
# The identification number of the MFA device that is associated with
# the user who is making the `AssumeRole` call. Specify this value if
# the trust policy of the role being assumed includes a condition that
# requires MFA authentication. The value is either the serial number
# for a hardware device (such as `GAHT12345678`) or an Amazon Resource
# Name (ARN) for a virtual device (such as
# `arn:aws:iam::123456789012:mfa/user`).
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@-
# @return [String]
#
# @!attribute [rw] token_code
# The value provided by the MFA device, if the trust policy of the
# role being assumed requires MFA (that is, if the policy includes a
# condition that tests for MFA). If the role being assumed requires
# MFA and if the `TokenCode` value is missing or expired, the
# `AssumeRole` call returns an "access denied" error.
#
# The format for this parameter, as described by its regex pattern, is
# a sequence of six numeric digits.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleRequest AWS API Documentation
#
class AssumeRoleRequest < Struct.new(
:role_arn,
:role_session_name,
:policy,
:duration_seconds,
:external_id,
:serial_number,
:token_code)
include Aws::Structure
end
# Contains the response to a successful AssumeRole request, including
# temporary AWS credentials that can be used to make AWS requests.
#
# @!attribute [rw] credentials
# The temporary security credentials, which include an access key ID,
# a secret access key, and a security (or session) token.
#
# The size of the security token that STS API operations return is not
# fixed. We strongly recommend that you make no assumptions about the
# maximum size. As of this writing, the typical size is less than 4096
# bytes, but that can vary. Also, future updates to AWS might require
# larger sizes.
#
#
# @return [Types::Credentials]
#
# @!attribute [rw] assumed_role_user
# The Amazon Resource Name (ARN) and the assumed role ID, which are
# identifiers that you can use to refer to the resulting temporary
# security credentials. For example, you can reference these
# credentials as a principal in a resource-based policy by using the
# ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
# that you specified when you called `AssumeRole`.
# @return [Types::AssumedRoleUser]
#
# @!attribute [rw] packed_policy_size
# A percentage value that indicates the size of the policy in packed
# form. The service rejects any policy with a packed size greater than
# 100 percent, which means the policy exceeded the allowed space.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleResponse AWS API Documentation
#
class AssumeRoleResponse < Struct.new(
:credentials,
:assumed_role_user,
:packed_policy_size)
include Aws::Structure
end
# @note When making an API call, you may pass AssumeRoleWithSAMLRequest
# data as a hash:
#
# {
# role_arn: "arnType", # required
# principal_arn: "arnType", # required
# saml_assertion: "SAMLAssertionType", # required
# policy: "sessionPolicyDocumentType",
# duration_seconds: 1,
# }
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) of the role that the caller is
# assuming.
# @return [String]
#
# @!attribute [rw] principal_arn
# The Amazon Resource Name (ARN) of the SAML provider in IAM that
# describes the IdP.
# @return [String]
#
# @!attribute [rw] saml_assertion
# The base-64 encoded SAML authentication response provided by the
# IdP.
#
# For more information, see [Configuring a Relying Party and Adding
# Claims][1] in the *IAM User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/create-role-saml-IdP-tasks.html
# @return [String]
#
# @!attribute [rw] policy
# An IAM policy in JSON format.
#
# The policy parameter is optional. If you pass a policy to this
# operation, the resulting temporary credentials have the permissions
# of the assumed role *and* the policy that you pass. This gives you a
# way to further restrict the permissions for the resulting temporary
# security credentials. You cannot use the passed policy to grant
# permissions that are in excess of those allowed by the permissions
# policy of the role that is being assumed. For more information, see
# [ Permissions for AssumeRole, AssumeRoleWithSAML, and
# AssumeRoleWithWebIdentity ][1] in the *IAM User Guide*.
#
# The format for this parameter, as described by its regex pattern, is
# a string of characters up to 2048 characters in length. The
# characters can be any ASCII character from the space character to
# the end of the valid character list (\\u0020-\\u00FF). It can also
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
# (\\u000D) characters.
#
# The policy plaintext must be 2048 bytes or shorter. However, an
# internal conversion compresses it into a packed binary format with a
# separate limit. The `PackedPolicySize` response element indicates by
# percentage how close to the upper size limit the policy is, where
# 100 percent is the maximum allowed size.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
# @return [String]
#
# @!attribute [rw] duration_seconds
# The duration, in seconds, of the role session. Your role session
# lasts for the duration that you specify for the `DurationSeconds`
# parameter, or until the time specified in the SAML authentication
# response's `SessionNotOnOrAfter` value, whichever is shorter. You
# can provide a `DurationSeconds` value from 900 seconds (15 minutes)
# up to the maximum session duration setting for the role. This
# setting can have a value from 1 hour to 12 hours. If you specify a
# value higher than this setting, the operation fails. For example, if
# you specify a session duration of 12 hours, but your administrator
# set the maximum session duration to 6 hours, your operation fails.
# To learn how to view the maximum value for your role, see [View the
# Maximum Session Duration Setting for a Role][1] in the *IAM User
# Guide*.
#
# By default, the value is set to `3600` seconds.
#
# The `DurationSeconds` parameter is separate from the duration of a
# console session that you might request using the returned
# credentials. The request to the federation endpoint for a console
# sign-in token takes a `SessionDuration` parameter that specifies the
# maximum length of the console session. For more information, see
# [Creating a URL that Enables Federated Users to Access the AWS
# Management Console][2] in the *IAM User Guide*.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLRequest AWS API Documentation
#
class AssumeRoleWithSAMLRequest < Struct.new(
:role_arn,
:principal_arn,
:saml_assertion,
:policy,
:duration_seconds)
include Aws::Structure
end
# Contains the response to a successful AssumeRoleWithSAML request,
# including temporary AWS credentials that can be used to make AWS
# requests.
#
# @!attribute [rw] credentials
# The temporary security credentials, which include an access key ID,
# a secret access key, and a security (or session) token.
#
# The size of the security token that STS API operations return is not
# fixed. We strongly recommend that you make no assumptions about the
# maximum size. As of this writing, the typical size is less than 4096
# bytes, but that can vary. Also, future updates to AWS might require
# larger sizes.
#
#
# @return [Types::Credentials]
#
# @!attribute [rw] assumed_role_user
# The identifiers for the temporary security credentials that the
# operation returns.
# @return [Types::AssumedRoleUser]
#
# @!attribute [rw] packed_policy_size
# A percentage value that indicates the size of the policy in packed
# form. The service rejects any policy with a packed size greater than
# 100 percent, which means the policy exceeded the allowed space.
# @return [Integer]
#
# @!attribute [rw] subject
# The value of the `NameID` element in the `Subject` element of the
# SAML assertion.
# @return [String]
#
# @!attribute [rw] subject_type
# The format of the name ID, as defined by the `Format` attribute in
# the `NameID` element of the SAML assertion. Typical examples of the
# format are `transient` or `persistent`.
#
# If the format includes the prefix
# `urn:oasis:names:tc:SAML:2.0:nameid-format`, that prefix is removed.
# For example, `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`
# is returned as `transient`. If the format includes any other prefix,
# the format is returned with no modifications.
# @return [String]
#
# @!attribute [rw] issuer
# The value of the `Issuer` element of the SAML assertion.
# @return [String]
#
# @!attribute [rw] audience
# The value of the `Recipient` attribute of the
# `SubjectConfirmationData` element of the SAML assertion.
# @return [String]
#
# @!attribute [rw] name_qualifier
# A hash value based on the concatenation of the `Issuer` response
# value, the AWS account ID, and the friendly name (the last part of
# the ARN) of the SAML provider in IAM. The combination of
# `NameQualifier` and `Subject` can be used to uniquely identify a
# federated user.
#
# The following pseudocode shows how the hash value is calculated:
#
# `BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" +
# "/MySAMLIdP" ) )`
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithSAMLResponse AWS API Documentation
#
class AssumeRoleWithSAMLResponse < Struct.new(
:credentials,
:assumed_role_user,
:packed_policy_size,
:subject,
:subject_type,
:issuer,
:audience,
:name_qualifier)
include Aws::Structure
end
# @note When making an API call, you may pass AssumeRoleWithWebIdentityRequest
# data as a hash:
#
# {
# role_arn: "arnType", # required
# role_session_name: "roleSessionNameType", # required
# web_identity_token: "clientTokenType", # required
# provider_id: "urlType",
# policy: "sessionPolicyDocumentType",
# duration_seconds: 1,
# }
#
# @!attribute [rw] role_arn
# The Amazon Resource Name (ARN) of the role that the caller is
# assuming.
# @return [String]
#
# @!attribute [rw] role_session_name
# An identifier for the assumed role session. Typically, you pass the
# name or identifier that is associated with the user who is using
# your application. That way, the temporary security credentials that
# your application will use are associated with that user. This
# session name is included as part of the ARN and assumed role ID in
# the `AssumedRoleUser` response element.
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@-
# @return [String]
#
# @!attribute [rw] web_identity_token
# The OAuth 2.0 access token or OpenID Connect ID token that is
# provided by the identity provider. Your application must get this
# token by authenticating the user who is using your application with
# a web identity provider before the application makes an
# `AssumeRoleWithWebIdentity` call.
# @return [String]
#
# @!attribute [rw] provider_id
# The fully qualified host component of the domain name of the
# identity provider.
#
# Specify this value only for OAuth 2.0 access tokens. Currently
# `www.amazon.com` and `graph.facebook.com` are the only supported
# identity providers for OAuth 2.0 access tokens. Do not include URL
# schemes and port numbers.
#
# Do not specify this value for OpenID Connect ID tokens.
# @return [String]
#
# @!attribute [rw] policy
# An IAM policy in JSON format.
#
# The policy parameter is optional. If you pass a policy to this
# operation, the resulting temporary credentials have the permissions
# of the assumed role *and* the policy that you pass. This gives you a
# way to further restrict the permissions for the resulting temporary
# security credentials. You cannot use the passed policy to grant
# permissions that are in excess of those allowed by the permissions
# policy of the role that is being assumed. For more information, see
# [ Permissions for AssumeRole, AssumeRoleWithSAML, and
# AssumeRoleWithWebIdentity ][1] in the *IAM User Guide*.
#
# The format for this parameter, as described by its regex pattern, is
# a string of characters up to 2048 characters in length. The
# characters can be any ASCII character from the space character to
# the end of the valid character list (\\u0020-\\u00FF). It can also
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
# (\\u000D) characters.
#
# The policy plaintext must be 2048 bytes or shorter. However, an
# internal conversion compresses it into a packed binary format with a
# separate limit. The `PackedPolicySize` response element indicates by
# percentage how close to the upper size limit the policy is, where
# 100 percent is the maximum allowed size.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_assumerole.html
# @return [String]
#
# @!attribute [rw] duration_seconds
# The duration, in seconds, of the role session. The value can range
# from 900 seconds (15 minutes) up to the maximum session duration
# setting for the role. This setting can have a value from 1 hour to
# 12 hours. If you specify a value higher than this setting, the
# operation fails. For example, if you specify a session duration of
# 12 hours, but your administrator set the maximum session duration to
# 6 hours, your operation fails. To learn how to view the maximum
# value for your role, see [View the Maximum Session Duration Setting
# for a Role][1] in the *IAM User Guide*.
#
# By default, the value is set to `3600` seconds.
#
# The `DurationSeconds` parameter is separate from the duration of a
# console session that you might request using the returned
# credentials. The request to the federation endpoint for a console
# sign-in token takes a `SessionDuration` parameter that specifies the
# maximum length of the console session. For more information, see
# [Creating a URL that Enables Federated Users to Access the AWS
# Management Console][2] in the *IAM User Guide*.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session
# [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityRequest AWS API Documentation
#
class AssumeRoleWithWebIdentityRequest < Struct.new(
:role_arn,
:role_session_name,
:web_identity_token,
:provider_id,
:policy,
:duration_seconds)
include Aws::Structure
end
# Contains the response to a successful AssumeRoleWithWebIdentity
# request, including temporary AWS credentials that can be used to make
# AWS requests.
#
# @!attribute [rw] credentials
# The temporary security credentials, which include an access key ID,
# a secret access key, and a security token.
#
# The size of the security token that STS API operations return is not
# fixed. We strongly recommend that you make no assumptions about the
# maximum size. As of this writing, the typical size is less than 4096
# bytes, but that can vary. Also, future updates to AWS might require
# larger sizes.
#
#
# @return [Types::Credentials]
#
# @!attribute [rw] subject_from_web_identity_token
# The unique user identifier that is returned by the identity
# provider. This identifier is associated with the `WebIdentityToken`
# that was submitted with the `AssumeRoleWithWebIdentity` call. The
# identifier is typically unique to the user and the application that
# acquired the `WebIdentityToken` (pairwise identifier). For OpenID
# Connect ID tokens, this field contains the value returned by the
# identity provider as the token's `sub` (Subject) claim.
# @return [String]
#
# @!attribute [rw] assumed_role_user
# The Amazon Resource Name (ARN) and the assumed role ID, which are
# identifiers that you can use to refer to the resulting temporary
# security credentials. For example, you can reference these
# credentials as a principal in a resource-based policy by using the
# ARN or assumed role ID. The ARN and ID include the `RoleSessionName`
# that you specified when you called `AssumeRole`.
# @return [Types::AssumedRoleUser]
#
# @!attribute [rw] packed_policy_size
# A percentage value that indicates the size of the policy in packed
# form. The service rejects any policy with a packed size greater than
# 100 percent, which means the policy exceeded the allowed space.
# @return [Integer]
#
# @!attribute [rw] provider
# The issuing authority of the web identity token presented. For
# OpenID Connect ID tokens, this contains the value of the `iss`
# field. For OAuth 2.0 access tokens, this contains the value of the
# `ProviderId` parameter that was passed in the
# `AssumeRoleWithWebIdentity` request.
# @return [String]
#
# @!attribute [rw] audience
# The intended audience (also known as client ID) of the web identity
# token. This is traditionally the client identifier issued to the
# application that requested the web identity token.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumeRoleWithWebIdentityResponse AWS API Documentation
#
class AssumeRoleWithWebIdentityResponse < Struct.new(
:credentials,
:subject_from_web_identity_token,
:assumed_role_user,
:packed_policy_size,
:provider,
:audience)
include Aws::Structure
end
# The identifiers for the temporary security credentials that the
# operation returns.
#
# @!attribute [rw] assumed_role_id
# A unique identifier that contains the role ID and the role session
# name of the role that is being assumed. The role ID is generated by
# AWS when the role is created.
# @return [String]
#
# @!attribute [rw] arn
# The ARN of the temporary security credentials that are returned from
# the AssumeRole action. For more information about ARNs and how to
# use them in policies, see [IAM Identifiers][1] in *Using IAM*.
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/AssumedRoleUser AWS API Documentation
#
class AssumedRoleUser < Struct.new(
:assumed_role_id,
:arn)
include Aws::Structure
end
# AWS credentials for API authentication.
#
# @!attribute [rw] access_key_id
# The access key ID that identifies the temporary security
# credentials.
# @return [String]
#
# @!attribute [rw] secret_access_key
# The secret access key that can be used to sign requests.
# @return [String]
#
# @!attribute [rw] session_token
# The token that users must pass to the service API to use the
# temporary credentials.
# @return [String]
#
# @!attribute [rw] expiration
# The date on which the current credentials expire.
# @return [Time]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/Credentials AWS API Documentation
#
class Credentials < Struct.new(
:access_key_id,
:secret_access_key,
:session_token,
:expiration)
include Aws::Structure
end
# @note When making an API call, you may pass DecodeAuthorizationMessageRequest
# data as a hash:
#
# {
# encoded_message: "encodedMessageType", # required
# }
#
# @!attribute [rw] encoded_message
# The encoded message that was returned with the response.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageRequest AWS API Documentation
#
class DecodeAuthorizationMessageRequest < Struct.new(
:encoded_message)
include Aws::Structure
end
# A document that contains additional information about the
# authorization status of a request from an encoded message that is
# returned in response to an AWS request.
#
# @!attribute [rw] decoded_message
# An XML document that contains the decoded message.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
#
class DecodeAuthorizationMessageResponse < Struct.new(
:decoded_message)
include Aws::Structure
end
# Identifiers for the federated user that is associated with the
# credentials.
#
# @!attribute [rw] federated_user_id
# The string that identifies the federated user associated with the
# credentials, similar to the unique ID of an IAM user.
# @return [String]
#
# @!attribute [rw] arn
# The ARN that specifies the federated user that is associated with
# the credentials. For more information about ARNs and how to use them
# in policies, see [IAM Identifiers][1] in *Using IAM*.
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/FederatedUser AWS API Documentation
#
class FederatedUser < Struct.new(
:federated_user_id,
:arn)
include Aws::Structure
end
# @api private
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityRequest AWS API Documentation
#
class GetCallerIdentityRequest < Aws::EmptyStructure; end
# Contains the response to a successful GetCallerIdentity request,
# including information about the entity making the request.
#
# @!attribute [rw] user_id
# The unique identifier of the calling entity. The exact value depends
# on the type of entity that is making the call. The values returned
# are those listed in the **aws:userid** column in the [Principal
# table][1] found on the **Policy Variables** reference page in the
# *IAM User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable
# @return [String]
#
# @!attribute [rw] account
# The AWS account ID number of the account that owns or contains the
# calling entity.
# @return [String]
#
# @!attribute [rw] arn
# The AWS ARN associated with the calling entity.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetCallerIdentityResponse AWS API Documentation
#
class GetCallerIdentityResponse < Struct.new(
:user_id,
:account,
:arn)
include Aws::Structure
end
# @note When making an API call, you may pass GetFederationTokenRequest
# data as a hash:
#
# {
# name: "userNameType", # required
# policy: "sessionPolicyDocumentType",
# duration_seconds: 1,
# }
#
# @!attribute [rw] name
# The name of the federated user. The name is used as an identifier
# for the temporary security credentials (such as `Bob`). For example,
# you can reference the federated user name in a resource-based
# policy, such as in an Amazon S3 bucket policy.
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@-
# @return [String]
#
# @!attribute [rw] policy
# An IAM policy in JSON format. You must pass an IAM permissions
# policy to `GetFederationToken`. When you pass a policy to this
# operation, the resulting temporary credentials are defined by the
# intersection of your IAM user policies and the policy that you pass.
# The passed policy defines the permissions of the *federated user*.
# AWS allows the federated user's request only when both the attached
# policy and the IAM user policy explicitly allow the federated user
# to perform the requested action. The passed policy cannot grant more
# permissions than those that are defined in the IAM user policy.
#
# The format for this parameter, as described by its regex pattern, is
# a string of characters up to 2048 characters in length. The
# characters can be any ASCII character from the space character to
# the end of the valid character list (\\u0020-\\u00FF). It can also
# include the tab (\\u0009), linefeed (\\u000A), and carriage return
# (\\u000D) characters.
#
# The policy plaintext must be 2048 bytes or shorter. However, an
# internal conversion compresses it into a packed binary format with a
# separate limit. The `PackedPolicySize` response element indicates by
# percentage how close to the upper size limit the policy is, where
# 100 percent is the maximum allowed size.
#
#
#
# For more information about how permissions work, see [Permissions
# for GetFederationToken][1].
#
#
#
# [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getfederationtoken.html
# @return [String]
#
# @!attribute [rw] duration_seconds
# The duration, in seconds, that the session should last. Acceptable
# durations for federation sessions range from 900 seconds (15
# minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
# hours) as the default. Sessions obtained using AWS account root user
# credentials are restricted to a maximum of 3,600 seconds (one hour).
# If the specified duration is longer than one hour, the session
# obtained by using root user credentials defaults to one hour.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenRequest AWS API Documentation
#
class GetFederationTokenRequest < Struct.new(
:name,
:policy,
:duration_seconds)
include Aws::Structure
end
# Contains the response to a successful GetFederationToken request,
# including temporary AWS credentials that can be used to make AWS
# requests.
#
# @!attribute [rw] credentials
# The temporary security credentials, which include an access key ID,
# a secret access key, and a security (or session) token.
#
# The size of the security token that STS API operations return is not
# fixed. We strongly recommend that you make no assumptions about the
# maximum size. As of this writing, the typical size is less than 4096
# bytes, but that can vary. Also, future updates to AWS might require
# larger sizes.
#
#
# @return [Types::Credentials]
#
# @!attribute [rw] federated_user
# Identifiers for the federated user associated with the credentials
# (such as `arn:aws:sts::123456789012:federated-user/Bob` or
# `123456789012:Bob`). You can use the federated user's ARN in your
# resource-based policies, such as an Amazon S3 bucket policy.
# @return [Types::FederatedUser]
#
# @!attribute [rw] packed_policy_size
# A percentage value indicating the size of the policy in packed form.
# The service rejects policies for which the packed size is greater
# than 100 percent of the allowed value.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetFederationTokenResponse AWS API Documentation
#
class GetFederationTokenResponse < Struct.new(
:credentials,
:federated_user,
:packed_policy_size)
include Aws::Structure
end
# @note When making an API call, you may pass GetSessionTokenRequest
# data as a hash:
#
# {
# duration_seconds: 1,
# serial_number: "serialNumberType",
# token_code: "tokenCodeType",
# }
#
# @!attribute [rw] duration_seconds
# The duration, in seconds, that the credentials should remain valid.
# Acceptable durations for IAM user sessions range from 900 seconds
# (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12
# hours) as the default. Sessions for AWS account owners are
# restricted to a maximum of 3,600 seconds (one hour). If the duration
# is longer than one hour, the session for AWS account owners defaults
# to one hour.
# @return [Integer]
#
# @!attribute [rw] serial_number
# The identification number of the MFA device that is associated with
# the IAM user who is making the `GetSessionToken` call. Specify this
# value if the IAM user has a policy that requires MFA authentication.
# The value is either the serial number for a hardware device (such as
# `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
# device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
# the device for an IAM user by going to the AWS Management Console
# and viewing the user's security credentials.
#
# The regex used to validate this parameter is a string of characters
# consisting of upper- and lower-case alphanumeric characters with no
# spaces. You can also include underscores or any of the following
# characters: =,.@:/-
# @return [String]
#
# @!attribute [rw] token_code
# The value provided by the MFA device, if MFA is required. If any
# policy requires the IAM user to submit an MFA code, specify this
# value. If MFA authentication is required, the user must provide a
# code when requesting a set of temporary security credentials. A user
# who fails to provide the code receives an "access denied" response
# when requesting resources that require MFA authentication.
#
# The format for this parameter, as described by its regex pattern, is
# a sequence of six numeric digits.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenRequest AWS API Documentation
#
class GetSessionTokenRequest < Struct.new(
:duration_seconds,
:serial_number,
:token_code)
include Aws::Structure
end
# Contains the response to a successful GetSessionToken request,
# including temporary AWS credentials that can be used to make AWS
# requests.
#
# @!attribute [rw] credentials
# The temporary security credentials, which include an access key ID,
# a secret access key, and a security (or session) token.
#
# The size of the security token that STS API operations return is not
# fixed. We strongly recommend that you make no assumptions about the
# maximum size. As of this writing, the typical size is less than 4096
# bytes, but that can vary. Also, future updates to AWS might require
# larger sizes.
#
#
# @return [Types::Credentials]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetSessionTokenResponse AWS API Documentation
#
class GetSessionTokenResponse < Struct.new(
:credentials)
include Aws::Structure
end
end
end