Я пытаюсь получить AWS Secret (который является конфигурацией boto3) с помощью автономного приложения, работающего на python3 (kivy).
Клиент использует boto3 и отлично работает с жестко запрограммированными учетными данными.
Я пытаюсь получить кредиты, используя get_credentials_for_identity
в boto3.
Я создал пул удостоверений федерации и назначил для него политику доступа к диспетчеру секретов:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "secretsmanager:GetSecretValue",
"Resource": "<arn-of-the-secret-the-app-needs-to-access>"
}
}
Я также сделал то же самое, используя общую роль Cognito. (Зная, что проблема не в этом, но я уверен, что мы все тупо пытаемся что-то решить).
client = boto3.client('cognito-identity', region_name='eu-west-1')
response = client.get_credentials_for_identity(
#identity taken from fedenration/identity pools;app with cognito access
IdentityId='eu-west-1:6###...',
)
creds_dic = response['Credentials']
awsaccesskey = creds_dic['AccessKeyId']
awsseckey = creds_dic['SecretKey']
print(response)
print(awsseckey)
print(awsaccesskey)
дает мне неправильные AccessKeyId
и SecretKey
те, которые он предоставляет, я даже не могу найти. Я думаю, что прошу ключ / секрет доступа для IAM, который содержит этот identity
, но мне нужен ключ / секрет доступа для роли IAM, которая обращается к secrets manager
, чтобы я мог передать их в boto3 и получить кредиты / секрет.
Мне тоже нужно то же самое для user pool
, но я могу это настроить, как только осознаю свою глупость.
invalid token error
- я получаю_credentials_for_identity, используя свой пул идентификаторов, у которого есть разрешения наsecretsmanager
, я передаю их через свойSecretsManager
и получаю недействительный токен - person Cl0ud-l3ss   schedule 28.04.2019