public class AssumeRoleRequest extends AmazonWebServiceRequest implements Serializable
AssumeRole operation
.
Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to
access AWS resources that you might not normally have access to. Typically, you use AssumeRole
for cross-account access or federation.
For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see Roles in Using IAM .
For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication
system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead,
after a user has been authenticated, you call AssumeRole
(and specify the role with the appropriate permissions) to get temporary
security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console.
For more information, see Scenarios for Granting Temporary Access in
AWS Security Token Service .
The temporary security credentials are valid for the duration that you specified when calling AssumeRole
, which can be from 900 seconds
(15 minutes) to 3600 seconds (1 hour). The default is 1 hour.
Optionally, you can pass an AWS IAM access policy to this operation. The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role that is being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the IAM role is
created. You must also have a policy that allows you to call sts:AssumeRole
.
Important: You cannot call AssumeRole
by using AWS account credentials; access will be denied. You must use IAM user credentials
or temporary security credentials to call AssumeRole
.
Constructor and Description |
---|
AssumeRoleRequest() |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
Integer |
getDurationSeconds()
The duration, in seconds, of the role session.
|
String |
getExternalId()
A unique identifier that is used by third parties to assume a role in
their customers' accounts.
|
String |
getPolicy()
An AWS IAM policy in JSON format.
|
String |
getRoleArn()
The Amazon Resource Name (ARN) of the role that the caller is
assuming.
|
String |
getRoleSessionName()
An identifier for the assumed role session.
|
int |
hashCode() |
void |
setDurationSeconds(Integer durationSeconds)
The duration, in seconds, of the role session.
|
void |
setExternalId(String externalId)
A unique identifier that is used by third parties to assume a role in
their customers' accounts.
|
void |
setPolicy(String policy)
An AWS IAM policy in JSON format.
|
void |
setRoleArn(String roleArn)
The Amazon Resource Name (ARN) of the role that the caller is
assuming.
|
void |
setRoleSessionName(String roleSessionName)
An identifier for the assumed role session.
|
String |
toString()
Returns a string representation of this object; useful for testing and
debugging.
|
AssumeRoleRequest |
withDurationSeconds(Integer durationSeconds)
The duration, in seconds, of the role session.
|
AssumeRoleRequest |
withExternalId(String externalId)
A unique identifier that is used by third parties to assume a role in
their customers' accounts.
|
AssumeRoleRequest |
withPolicy(String policy)
An AWS IAM policy in JSON format.
|
AssumeRoleRequest |
withRoleArn(String roleArn)
The Amazon Resource Name (ARN) of the role that the caller is
assuming.
|
AssumeRoleRequest |
withRoleSessionName(String roleSessionName)
An identifier for the assumed role session.
|
copyPrivateRequestParameters, getRequestClientOptions, getRequestCredentials, getRequestMetricCollector, setRequestCredentials, setRequestMetricCollector, withRequestMetricCollector
public String getRoleArn()
Constraints:
Length: 20 - 2048
public void setRoleArn(String roleArn)
Constraints:
Length: 20 - 2048
roleArn
- The Amazon Resource Name (ARN) of the role that the caller is
assuming.public AssumeRoleRequest withRoleArn(String roleArn)
Returns a reference to this object so that method calls can be chained together.
Constraints:
Length: 20 - 2048
roleArn
- The Amazon Resource Name (ARN) of the role that the caller is
assuming.public String getRoleSessionName()
AssumedRoleUser
.
Constraints:
Length: 2 - 32
Pattern: [\w+=,.@-]*
AssumedRoleUser
.public void setRoleSessionName(String roleSessionName)
AssumedRoleUser
.
Constraints:
Length: 2 - 32
Pattern: [\w+=,.@-]*
roleSessionName
- An identifier for the assumed role session. The session name is
included as part of the AssumedRoleUser
.public AssumeRoleRequest withRoleSessionName(String roleSessionName)
AssumedRoleUser
.
Returns a reference to this object so that method calls can be chained together.
Constraints:
Length: 2 - 32
Pattern: [\w+=,.@-]*
roleSessionName
- An identifier for the assumed role session. The session name is
included as part of the AssumedRoleUser
.public String getPolicy()
The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
Constraints:
Length: 1 - 2048
Pattern: [
-ÿ]+
The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
public void setPolicy(String policy)
The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
Constraints:
Length: 1 - 2048
Pattern: [
-ÿ]+
policy
- An AWS IAM policy in JSON format. The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
public AssumeRoleRequest withPolicy(String policy)
The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
Returns a reference to this object so that method calls can be chained together.
Constraints:
Length: 1 - 2048
Pattern: [
-ÿ]+
policy
- An AWS IAM policy in JSON format. The temporary security credentials that are returned by the operation have the permissions that are associated with the access policy of the role being assumed, except for any permissions explicitly denied by the policy you pass. This gives you a way to further restrict the permissions for the federated user. These policies and any applicable resource-based policies are evaluated when calls to AWS are made using the temporary security credentials.
public Integer getDurationSeconds()
Constraints:
Range: 900 - 3600
public void setDurationSeconds(Integer durationSeconds)
Constraints:
Range: 900 - 3600
durationSeconds
- The duration, in seconds, of the role session. The value can range
from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
the value is set to 3600 seconds.public AssumeRoleRequest withDurationSeconds(Integer durationSeconds)
Returns a reference to this object so that method calls can be chained together.
Constraints:
Range: 900 - 3600
durationSeconds
- The duration, in seconds, of the role session. The value can range
from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default,
the value is set to 3600 seconds.public String getExternalId()
Constraints:
Length: 2 - 96
Pattern: [\w+=,.@:-]*
public void setExternalId(String externalId)
Constraints:
Length: 2 - 96
Pattern: [\w+=,.@:-]*
externalId
- A unique identifier that is used by third parties to assume a role in
their customers' accounts. For each role that the third party can
assume, they should instruct their customers to create a role with the
external ID that the third party generated. Each time the third party
assumes the role, they must pass the customer's external ID. The
external ID is useful in order to help third parties bind a role to
the customer who created it. For more information about the external
ID, see About the External ID in Using Temporary
Security Credentials.public AssumeRoleRequest withExternalId(String externalId)
Returns a reference to this object so that method calls can be chained together.
Constraints:
Length: 2 - 96
Pattern: [\w+=,.@:-]*
externalId
- A unique identifier that is used by third parties to assume a role in
their customers' accounts. For each role that the third party can
assume, they should instruct their customers to create a role with the
external ID that the third party generated. Each time the third party
assumes the role, they must pass the customer's external ID. The
external ID is useful in order to help third parties bind a role to
the customer who created it. For more information about the external
ID, see About the External ID in Using Temporary
Security Credentials.public String toString()
toString
in class Object
Object.toString()
Copyright © 2013 Amazon Web Services, Inc. All Rights Reserved.