Подтвердить что ты не робот

Как проверить учетные данные для инструментов командной строки AWS

Есть ли команда/подкоманда, которая может быть передана утилите aws, которая может: 1) проверить, что учетные данные в файле ~/.aws/credentials действительны, и 2) дать указание, к какому пользователю принадлежат учетные данные? Я ищу что-то общее, которое не делает никаких предположений о том, что пользователь имеет разрешения для IAM или какой-либо конкретной службы.

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

4b9b3361

Ответ 1

Используйте GetCallerIdentity:
aws sts get-caller-identity

В отличие от других вызовов API/CLI он всегда будет работать независимо от ваших разрешений IAM.

Вы получите результат в следующем формате:

{
    "Account": "123456789012", 
    "UserId": "AR#####:#####", 
    "Arn": "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name"
}

Точная ARN будет зависеть от типа роли, но часто включает имя пользователя (человека)

Ответ 2

Существует прямой способ - aws iam get-user будет рассказывать подробности о том, кто вы (текущий пользователь IAM) - при условии, что у пользователя есть привилегии iam.

Есть несколько вызовов CLI, которые поддерживают флаг --dry-run, например aws ec2 run-instances, который вы указываете, есть ли у вас необходимый config/cred для выполнения операции.

Существует также --auth-dry-run, который проверяет, есть ли у вас необходимые разрешения для команды, без фактического выполнения команды. Если у вас есть необходимые разрешения, команда возвращает DryRunOperation; в противном случае он возвращает UnauthorizedOperation. [Из Документация AWS - Общие параметры]

Вы можете перечислить ключи доступа IAM из консоли управления, которые вы можете перекрестно проверить, чтобы узнать, кому был назначен тот ключ.

Лучший способ понять, какой пользователь/роль имеет какие привилегии, использует IAM Policy Simulator.