как то самостоятельно токен получить и авторизацию?
пытался сделать
AWS_ROLE_SESSION_NAME=test AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/token AWS_ROLE_ARN=arn:aws:iam::XXXX:role/prod-XXXX-prod-clickhouse aws s3 ls bucket
получил
[Errno 2] No such file or directory: '/tmp/token'
без
AWS_WEB_IDENTITY_TOKEN_FILE=/tmp/token
access denied выдает
aws-vault
по моему это не отвечает на мой вопрос
хочется именно задать переменные чтобы aws s3 работала без ручного вызова sts
Сработает но только ХХ часов потом опять придется все же что то вызвать
что сработает то? ок. переформулирую вопрос aws sts assume-role --role-arn XXX выдает credentials и session_token хочу сделать как то чтобы aws s3 в момент инициализации сама делала assume-role Без ручного вызова sts почему задание имея только AWS_ROLE_ARN и AWS_ROLE_SESSION_NAME не приводит к такому результату?
Потому что aws s3 команда такого не умеет :)
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html
это я читал много раз
команда запускается не внутри aws?
внутри... aws s3 Запускается в контейнере в поде kubernetes из под AWS EKS
почему сразу роль не навешать через сервис аккаунт на под?
да, тоже так предлагаю...
спасибо большое всем!
не понял, а boto profiles разве не для этого созданы, чтобы автоматически делалось assume-role
я хочу профиль через переменные окружения задать... такое ощущение что переменные игнорируются потому что из EC2 получаются другие credentials по kubernetes serviceAccount
вы делаете assume-role или assume-role-with-web-identity ?
вот ищу по коду как раз что именно там делается...
если присутствует переменные AWS_WEB_IDENTITY_TOKEN_FILE, AWS_ROLE_ARN и AWS_ROLE_SESSION_NAME и есть файл, указанный в AWS_WEB_IDENTITY_TOKEN_FILE, то будет делаться assume-role-with-web-identity
да это я понял, но файла нет...
файл подкладывается самим EKS
типа это токен который от serviceAccount выдается?
нет, это STS токен. Токен сервисаккаунты тут ни при чем
а куда он тогда внутри Pod подкладывается?
в местоположение указанное в переменной AWS_WEB_IDENTITY_TOKEN_FILE. Если переменной нет, то значит и файла не будет
если переменная есть... то aws s3 говорит что файл не найден...
в вашем примере вы указали какой-то левый файл. Логично что aws cli ругается. Нельзя просто взять и указать любой файл и надеяться что проканает
ну так я не знаю какой указывать у меня только есть AWS_ROLE_ARN идентификатор... а TOKEN_FILE Нету...
https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
Наверное, не хватает source_profile ~/.aws/config надо настроить как-то так
Обсуждают сегодня