Как добавить разрешения в очередь, чтобы разрешить пользователю другой учетной записи разрешения в очереди - PullRequest
0 голосов
/ 07 марта 2019
sqs.addPermission("https://sqs.eu-west-1.amazonaws.com/111111111111/queueName", "remoteAccess",
        Arrays.asList("arn:aws:iam::222222222222:user/user.x@mycompany.com"), Arrays.asList(SQSActions.SendMessage.name()));

Если (IMO) добавить разрешения в очереди для пользователя в другой учетной записи.

Я получаю ошибку.

Значение [arn: aws: iam :: 222222222222: user/user.x@mycompany.com] для параметра PrincipalId недопустимо.Причина: невозможно проверить.(Сервис: AmazonSQS; Код состояния: 400; Код ошибки: InvalidParameterValue;

Кто-нибудь знает, как программно предоставить определенному пользователю в другой учетной записи доступ к очереди?

Этотот же пользователь arn, который я вижу, когда добавляю разрешение через веб-консоль sqs.

1 Ответ

1 голос
/ 07 марта 2019

В этом разделе документации приведены примеры политик доступа SQS для нескольких учетных записей: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-customer-managed-policy-examples.html

Необходимо применить политику как на уровне очереди, так и к участнику в другой учетной записи.

Например, на уровне очереди

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "111122223333"},
    "Action": [
      "sqs:SendMessage",
      "sqs:ReceiveMessage"
    ],
    "Resource": ["arn:aws:sqs:*:123456789012:queue1"],
  }
}

Если вы хотите предоставить доступ конкретному пользователю, группе или ролям, вы можете использовать поле Principal, например:

"Principal": {
         "AWS": [
            "arn:aws:iam::111122223333:role/role1",
            "arn:aws:iam::111122223333:user/username1"
         ]
      },

, а в другой учетной записи - роль или пользователь, которому требуется доступ к очереди (очевидно, вы можете ограничить список API SQS, это только пример)

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "sqs:*",
    "Resource": "arn:aws:sqs:*:123456789012:queue1"
  }
}
...