Github 서비스에 Amazon SQS를 설정할 때 IAM 주위에서 빠졌습니다.
개요
Github
Webhooks & services
그런데 Amazon SQS
를 설정할 때 최소한의 권한만 가진 IAM Aws access key
합니다.제목의 Github 서비스라고 하는 것은 이 화면에서 설정하는 사람입니다.
TL; DR
IAM 정책에
sqs:GetQueueUrl
및 sqs:SendMessage
작업에 대한 권한이 필요합니다. 문서에는 sqs:SendMessage
그냥 좋다고 쓰여졌지만일의 발생
리포지토리에
Amazon SQS
를 설정하려고 Install Notes
(아래 이미지) 에는 SendMessage
의 권한이 필요했기 때문에 그 권한만의 IAM 을 만들어 설정했습니다.그러나 테스트해 보면 SQS가 전달되지 않았습니다. 여기에 설정한 IAM 사용자를 사용하여 자신의 컴퓨터에서
aws
명령을 구입하여 SQS 메시지를 발행하면 성공적으로 작동했습니다.무엇이 이상한지 잘 모르기 때문에 조사하기로 결정했습니다.
우선은 모두 액션을 허가해 본다
시도에 IAM의 허용된 작업을
sqs:*
로 설정했습니다.이 상태에서 Github에서 테스트하면 제대로 메시지가 전달되었습니다.
거기서 모든 액션을 글머리 기호로 해 1개씩 지워 가기로 했습니다.
SQS의 액션을 모두 늘어놓으면 다음과 같이 됩니다(많은...).
sqs:AddPermission
sqs:ChangeMessageVisibility
sqs:ChangeMessageVisibilityBatch
sqs:CreateQueue
sqs:DeleteMessage
sqs:DeleteMessageBatch
sqs:DeleteQueue
sqs:GetQueueAttributes
sqs:GetQueueUrl
sqs:ListDeadLetterSourceQueues
sqs:ListQueues
sqs:PurgeQueue
sqs:ReceiveMessage
sqs:RemovePermission
sqs:SendMessage
sqs:SendMessageBatch
sqs:SetQueueAttributes
결국 남은 것
1개 지우고는 테스트하고, 또 1개 지우고는 테스트한다고 하는 것을 반복해 계속했습니다(Delete계의 녀석이나 Permission계의는 유석에 관계없다고 생각해서 푹 빠졌지만).
그 결과 마지막으로 남은 것은 다음 두 가지였습니다.
GetQueueUrl
를 지우면 또 움직이지 않게 되므로 왠지 사용하고 있는 것 같습니다.sqs:GetQueueUrl
sqs:SendMessage
요약
Github에
Amazon SQS
를 설정할 때 다음 두 가지 작업에 대한 권한이 필요합니다.sqs:GetQueueUrl
sqs:SendMessage
또한 기사에서는 다루지 않지만 더 안전하게하기 위해 Github의 IP 주소를 제외하고는 메시지를 전달할 수 없도록하는 것이 좋습니다.
NotIpAddress
aws:SourceIp: "192.30.252.0/22"
는 거부 같은 느낌입니다.Github の IP アドレスだけ許可する
라는 구성으로 하면(자) 다른 정책으로 덧쓰기되어 어느 IP 주소로부터라도 전달할 수 있는 상태에 어느새에 걸려 버리는 일이 있기 때문에 주의입니다.
Reference
이 문제에 관하여(Github 서비스에 Amazon SQS를 설정할 때 IAM 주위에서 빠졌습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mironal/items/0d169feeb57e7bfe46a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)