(С использованием CLI) AWS не смог проверить предоставленные учетные данные доступа
Я получаю следующую ошибку при выполнении команды aws cli: aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small"
:
A client error (AuthFailure) occurred when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials
Учетные данные относятся к следующему сценарию:
import boto3
sts_client = boto3.client('sts')
assumedRoleObject = sts_client.assume_role(
RoleArn="arn:aws:iam::<>:role/service-role/Test-Project",
RoleSessionName="AssumeRoleSession2"
)
credentials = assumedRoleObject['Credentials']
print credentials['AccessKeyId']
print "#"*100
print credentials['SecretAccessKey']
print "#"*100
print credentials['SessionToken']
print "#"*100
Я также проверил с включением доступа администратора к этой роли. До сих пор не работает.
Доверительные отношения этой роли заключаются в следующем:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*",
"arn:aws:iam::<>:user/<username>"
],
"Service": [
"lambda.amazonaws.com",
"ec2.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
Я могу думать только о 2 причинах только потому, что он не работает, просто проверьте, подходит ли это вашему делу.
Чтобы убедиться, что вы экспортируете все 3 переменные в своей сессии, т.е.
export AWS_ACCESS_KEY_ID="ASIAI******JQ"
export AWS_SECRET_ACCESS_KEY="n******u1pRocjL"
export AWS_SESSION_TOKEN="FQ*****vKJKTisUF"
или если вы используете файл учетных данных на своем локальном компьютере, у вас есть все 3 переменные, и это тоже относится к профилю по умолчанию.
Кроме того, поскольку токены сеанса действительны в течение одного часа по умолчанию, просто проверьте, не потеряно ли время вашего компьютера (небольшая возможность, но стоит проверить).
Еще в рубрике
- Вопросы
- Amazon-web-services
- (С использованием CLI) AWS не смог проверить предоставленные учетные данные доступа