Как создать политику IAM для очередей SQS для определенной идентификации Cognito - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь создать политику IAM для применения к очереди SQS.Политика должна ограничивать доступ к очереди одним федеративным удостоверением Cognito.

Я нашел эту ссылку от amazon о том, как этого добиться, но у меня возникли проблемы с применением политики к очереди SQS.

Вот политика, которую я пытаюсь применить.

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:us-west-2:604080725100:Test2.fifo/SQSDefaultPolicy",
  "Statement": [
    {
      "Sid": "Sid1528133390193",
      "Effect": "Allow",
      "Principal": {
        "Federated": "cognito-identity.amazonaws.com"
      },
      "Action": "SQS:*",
      "Condition": {
        "StringEquals": {
            "cognito-identity.amazonaws.com:aud": "us-east-1:ff1b33f4-7f66-47a5-b7ff-9696b0e1fb52",
            "cognito-identity.amazonaws.com:sub": ["us-east-1:4a6d7e43-4522-41fb-9248-b5b79933b8e9"]
        }
      }
    }
  ]
}

Онлайн-интерфейс для редактирования политики отображается на экране обзора:

Allow   None    
All SQS Actions (SQS:*)
StringEquals
cognito-identity.amazonaws.com:aud: "us-east-1:ff1b33f4-7f66-47a5-b7ff-9696b0e1fb52"
cognito-identity.amazonaws.com:sub: "us-east-1:4a6d7e43-4522-41fb-9248-b5b79933b8e9"

После нажатияприменить следующее сообщение об ошибке:

Failed to save changes to the policy document. Reason: com.amazonaws.services.sqs.model.AmazonSQSException: We encountered an internal error. Please try again.

Я не уверен, что не так с политикой.Мне нужна помощь в исправлении политики или другой политики, которая позволяет ограничить очередь SQS одним идентификатором Cognito.

1 Ответ

0 голосов
/ 11 августа 2018

К сожалению, SQS поддерживает только подмножество условных ключей , и идентификатор пользователя Cognito не является одним из них.Я прочитал статью , в которой эта проблема решена путем создания случайных имен очереди, которые могут быть прочитаны всеми пользователями, но практически не угадываются.

...