Доступ запрещен при использовании aws cli, но разрешен в веб-консоли - PullRequest
2 голосов
/ 21 сентября 2019

Моя учетная запись IAM имеет привилегию администратора, по крайней мере, предположительно.Я могу выполнить все операции, насколько я могу сказать в веб-консоли.Например, aws gui

Недавно я скачал aws-cli и быстро настроил , предоставив ключи доступа, регион по умолчанию и формат вывода.Затем я попытался выполнить некоторые команды и обнаружил, что большинство из них, но не все, имеют проблемы с разрешениями.Например,

$ aws --version
aws-cli/1.16.243 Python/3.7.4 Windows/10 botocore/1.12.233
$ aws s3 ls s3://test-bucket

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
$ aws ec2 describe-instances

An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation.
$ aws iam get-user
{
    "User": {
        "Path": "/",
        "UserName": "xxx@xxx.xxx",
        "UserId": "xxxxx",
        "Arn": "arn:aws:iam::nnnnnnnnnn:user/xxx@xxx.xxx",
        "CreateDate": "2019-08-21T17:09:25Z",
        "PasswordLastUsed": "2019-09-21T16:11:34Z"
    }
}

Мне кажется, что cli, аутентифицируемый с помощью ключа доступа, имеет другой набор разрешений из веб-консоли, аутентифицируемой с помощью MFA.

Почему разрешение не согласованомежду CLI и GUI?Как сделать это согласованным?

Ответы [ 2 ]

1 голос
/ 21 сентября 2019

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

, чтобы сделать это, перейдите к IAM , Пользователи, нажмите на своего пользователя и затем [добавьте разрешения] на следующем экране нажмите [Создать группу], а затем выберите доступ администратора

enter image description here

0 голосов
/ 24 сентября 2019

Оказывается, следующее утверждение в одной из моих политик заблокировало доступ к CLI из-за отсутствия MFA.

{
      "Condition": {
        "BoolIfExists": {
          "aws:MultiFactorAuthPresent": "false"
        }
      },
      "Resource": "*",
      "Effect": "Deny",
      "NotAction": [
        "iam:CreateVirtualMFADevice",
        "iam:EnableMFADevice",
        "iam:GetUser",
        "iam:ListMFADevices",
        "iam:ListVirtualMFADevices",
        "iam:ResyncMFADevice",
        "sts:GetSessionToken"
      ],
      "Sid": "DenyAllExceptListedIfNoMFA"
},
...