Ошибка Boto3 в AWS SDK: botocore.exceptions.NoCredentialsError: Невозможно найти учетные данные - PullRequest
0 голосов
/ 20 января 2020

Когда я просто запускаю следующий код, я всегда получаю эту ошибку.

import boto3 as boto
import sys
import json



role_to_assume_arn="arn:aws:iam::xxxxxxxxxxxx:role/AWSxxxx_xxxxxxAdminaccess_xxxxx24fexxx"
role_session_name='AssumeRoleSession1'

sts_client=boto.client('sts')


assumed_role_object=sts_client.assume_role(
    RoleArn="arn:aws:iam::xxxxxxxxxxxx:role/AWSxxxx_xxxxxxAdminaccess_xxxxx24fexxx",
    RoleSessionName="Sess1",
)

creds=assumed_role_object['Credentials']

sts_assumed_role = boto3.client('sts',
    aws_access_key_id=creds['AccessKeyId'],
    aws_secret_access_key=creds['SecretAccessKey'],
    aws_session_token=creds['SessionToken'],
)

rds_client = boto.client('rds',
                         aws_access_key_id=creds['AccessKeyId'],
                         aws_secret_access_key=creds['SecretAccessKey'],
                         aws_session_token=creds['SessionToken']
                         )

Я не хочу часто устанавливать и изменять временные ключи сеанса, вместо этого я хочу, чтобы они устанавливались напрямую через код, который я только что написал.

Я не прав? Есть ли способ установить такие учетные данные прямо в программе или нет?

Или обязательно указывать учетные данные в "~ / .aws / credentials"

1 Ответ

0 голосов
/ 21 января 2020

Я предполагаю, что вы запускаете этот код на локальном компьютере.

Созданный вами клиент STS ожидает ключ доступа и секретный ключ доступа.

Вы должны настроить его, используя файл учетных данных или вы можете напрямую жестко закодировать свой ключ доступа и секретный ключ доступа, как показано ниже (не рекомендуется).

client = boto3.client('sts', aws_access_key_id=key, aws_secret_access_key=sec_key, region_name=region_name)

https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_profiles.html

Если вы используете этот код в Экземпляр EC2, установите boto3 и выполните команду AWS Configure. Перейдите по ссылке ниже.

https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

...