Как аутентифицировать сервис AWS, используя только роль или ARN пользователя вместо accessKeyId и secretAccessKey? - PullRequest
0 голосов
/ 23 января 2020

Поэтому вместо того, чтобы делать это (то, что я сейчас использую для доступа к службе диспетчера секретов):

AWS.config.credentials = new AWS.Credentials({
    accessKeyId: "string", 
    secretAccessKey: "string",
} )

// Create a Secrets Manager client
var secretsmanager = new AWS.SecretsManager({
    region: region,
    credentials: AWS.config.credentials
} )

Я хочу сделать что-то вроде этого:

AWS.config.credentials = new AWS.Credentials({
    userARN/roleARN: "string", 
} )

Есть ли способ сделать это? 1008 * это?

Ответы [ 3 ]

1 голос
/ 23 января 2020

В случае запуска на EC2 вы обычно назначаете роль экземпляру EC2 с необходимыми разрешениями AWS [1]. Затем вы можете получить необходимые учетные данные AWS из метаданных экземпляра [2] [3].

  1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
  2. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance -метаданные-защищенные учетные данные
  3. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
0 голосов
/ 24 января 2020

Как сказал @KevinSeaman, просто прикрепите роль к своим экземплярам EC2. Учетные данные автоматически устанавливаются и поворачиваются в метаданных экземпляра EC2.

Кроме того, если вы используете стандартный amazon SDK, SDK уже знает, как извлечь учетные данные из метаданных экземпляра, поэтому вы просто создаете свой клиент и укажите регион, вам не нужно добавлять какие-либо учетные данные. Фактически, если у вас долгоживущий процесс, лучше позволить SDK извлекать учетные данные, потому что кредиты в метаданных являются временными и срок их действия истекает примерно через 6 часов. SDK будет периодически обновлять sh учетные данные из метаданных.

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

Вы не можете использовать RoleName только для аутентификации.

Но если вы не хотите жестко задавать / конфигурировать секретные ключи, вы можете настроить свой ключ AWS на своем компьютере и загрузить профиль в ваше приложение (AWS SDK). в этом случае система загружает ключ доступа и секрет из конфигурации вашего компьютера / сервера aws.

После установки AWS CL вы можете запустить команду aws config 'для создания профиля.

Это может работать на вашем локальном компьютере или на EC2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...