We're having an issue where we're on a CentOS EC2 instance that is using a role through an attached instance profile. When we're on the console after SSHing in, we run the python awscli
command line tool to get our identity:
$ aws sts get-caller-identity
we're getting
An error occurred (InvalidClientTokenId) when calling the GetCallerIdentity operation: The security token included in the request is invalid
other commands, such as aws ec2 describe-instances
work and are allowed by the instance profile.
From reading the AWS documentation, no permissions should be required to get-caller-identity and there's no explicit deny
set on the role associated with instance.
We checked and there's no .aws/credentials
file and no env
variables set, so access should be entirely managed through the metadata service on the EC2 instance.
Is there something missing in our setup or invocation of the awscli
that might cause the permission to fail?
To find your AWS account id with the AWS CLI, run the command sts get-caller-identity and it will return the 12-digit identification number of your AWS account. To find your AWS account id in the AWS Console, click on your role name in the top right corner to view the account ID.
Returns details about the IAM user or role whose credentials are used to call the operation.
The error "the Security Token included in the Request in Invalid" can occur for multiple reasons: The user's credentials are inactive. Open the IAM console, click on the user, and in the Security Credentials tab, make sure the security credentials of the user are active.
Just documenting the fix for anyone that runs into this issue.
All calls to the awscli
should probably include a --region <region>
parameter.
E.g.
$ aws sts get-caller-identity --region us-east-2
We were prompted for the region on our aws ec2 describe-instances
call but on the aws sts get-caller-identity
call, it just failed.
Additionally, we found that the AWS_REGION
environment variable didn't seem to affect calls: we still needed to include the --region <region>
parameter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With