#amazon-web-services #amazon-ecr
#amazon-web-services #amazon-ecr
Вопрос:
Я поместил изображения в свой AWS ECR. Я хочу извлечь изображение с пограничного устройства. Если я использую Access / секретный ключ на своем пограничном устройстве, я могу войти в репозиторий и получить доступ к своим изображениям, как показано ниже,
шаг 1: Добавьте переменные среды
export AWS_ACCESS_KEY_ID=access-key
export AWS_SECRET_ACCESS_KEY=secret-key
export AWS_DEFAULT_REGION=ap-southeast-1
шаг 2: войдите в реестр контейнеров elastic, используя следующую команду.
aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin repo-id.dkr.ecr.ap-southeast-1.amazonaws.com
шаг 3: Извлеките изображение
docker pull repo-id.dkr.ecr.ap-southeast-1.amazonaws.com/image_name
Эти шаги гарантируют, что я получу изображение из ECR.
Теперь, я не хочу хранить ключ доступа / секрет на пограничном устройстве. Я ищу какой-нибудь сеансовый ключ / временные ключи для доступа к изображению ECR без настройки доступа / секрета на пограничном устройстве. В этом потоке я могу исключить хранение строго конфиденциальных данных на пограничном устройстве.
Любая помощь была бы заметна.
Редактировать- 1:
одним из возможных способов является написание лямбда-функции для генерации пароля для ECR и защиты лямбда-кода с помощью ключа API в API Gateway. С пограничного устройства я вызову функцию lambda и получу пароль для извлечения изображения.
Будет ли это работать?
Ответ №1:
К сожалению, поскольку ваше устройство расположено не в AWS, оно не сможет воспользоваться преимуществами того, что к нему напрямую подключена роль IAM (что решает проблему не жестко запрограммированных разрешений).
Однако вы можете создать роль IAM в AWS, а затем использовать службу STS, чтобы принять роль от другого пользователя / роли IAM, у которого есть разрешения принять роль. Когда вы принимаете роль, вам предоставляются временные учетные данные для доступа к сервисам AWS (вы можете сами определять срок действия временных учетных данных).
Если вы сможете найти способ скопировать эти учетные данные на свое локальное устройство, вы сможете использовать их в течение всего срока их службы.
Комментарии:
1. спасибо за ответ. Пожалуйста, ознакомьтесь с обновленным вопросом
2. Ваше решение сработало бы, но вы бы хотели, чтобы оно было действительно заблокировано. 🙂