Сообщение не отправляется в SQS, когда я указываю принципала в политике доступа - PullRequest
0 голосов
/ 17 июня 2019

У меня есть инфраструктура, где тема SNS отправляет сообщения в SQS (конечно, используя подписку SNS). Когда я настраиваю следующую политику доступа, она работает.

 {
  "Version": "2012-10-17",
  "Id": "__default_policy_ID",
  "Statement": [
    {
      "Sid": "SendMessagePolicy",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:us-east-1:312226949769:mr-sandbox-loyalty",
      "Condition": {
        "ArnEquals": {
          "AWS:SourceArn": "arn:aws:sns:us-east-1:312226949769:mr-sandbox-transaction-created"
        }
      }
    }
  ]
} 


НО , когда вместо * я настраиваю arn:aws:iam::312226949769:root сообщения не отправляются в очередь. Номер счета, который я использовал, - 312226949769. Есть идеи?

Спасибо.

ОБНОВЛЕНИЕ

В веб-консоли, когда я пытаюсь установить Principal: 312226949769, он переопределяется как Principal: arn:aws:iam::312226949769:root

1 Ответ

0 голосов
/ 17 июня 2019

Вы должны указать только номер счета, например:

"Principal": {
  "AWS": [
    "312226949769"
  ]
}

Подробнее см. Примеры расширенных политик SQS .

...