특정 DynamoDB 테이블에만 CRUD 권한을 부여... 원했던 꿈의 흔적
현재 오즈비전의 서비스 운영은 사원뿐만 아니라 파견 사원, 아르바이트, 외부 콜라보레이터, 기타 다양한 분들에게 지지되어 이루어져 있습니다.
이번에는 그 중에서 개발 중 특정 DynamoDB의 테이블만 CRUD가 필요하게 되는 경우가 있어, 그 때에 여러가지 조사를 했으므로 그 결과를 정리했습니다.
실제로 한 일
우선 IAM 정책 만들기
하고 싶은 조작
해당 설정 항목
대상 테이블의 arn
다음 위치에서 복사합니다.
DynamoDB > Tables > 해당 테이블을 선택하고 오른쪽 창
…입니다만 이번 결국, 테이블을 1개씩 지정은 하지 않았기 때문에, 이대로는 사용하지 않았습니다. \(^o^)/
json으로 시도했습니다.
모든 것을 한 번 Allow하고 필요없는 곳을 Deny
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:*"
],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"dynamodb:*"
],
"Resource": [
"arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/production*",
"arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/stage*"
]
}
]
}
결국 사용하지 않은 녀석 (validate는 통과한다)
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:PutItem",
"dynamodb:GetItem",
"dynamodb:Query",
"dynamodb:Scan",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem"
],
"Resource": [
"arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/test_table",
"arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/test_table2"
]
}
}
실제로 정책 만들기
(중의 사람 사정으로 이쪽은 12/29 이후에 추기합니다...)
부탁
현재이 설정에서 특히 문제는 발생하지 않습니다.
이 설정이라면 테이블에 인덱스를 만들 수 있을까? 있을지도 모른다는 점을 파트너 씨에게 물어 즉답하지 못하고 있습니다.
AWS CLI DYNAMODB 페이지를 보면 인덱싱에 해당하는 작업이 없을 것입니다.
만약 아시는 분이 계시면, 코멘트 받을 수 있으면 다행입니다!
(콘솔에서 해당 테이블로 전환할 수 있으며 CRUD만 가능!이 되는 것이 이상적입니다)
결론
몹시 개발과 프로덕션으로 계정을 나누고 있으면 이런 문제는 일어나지 않습니다만, 한 번 같은 계정으로 만들어 버리면 좀처럼 나눌 수 없기 때문에, 이런 식으로 대처하고 있다는 공유였습니다.
오즈비전의 어드벤트 캘린더 은 오늘 한번 둘러싸고 있습니다만(이 기사는 12/18분입니다만, 쓴 것은 12/25입니다 orz), 또 기회가 있으면, 엔지니어 일동, 이러한 챌린지를 하고 있다 하고 싶습니다. 꼭 우리의 다음 도전을 기대해 주시면 좋겠습니다.
그럼 여러분 좋은 해를.
【오시마. 】
Reference
이 문제에 관하여(특정 DynamoDB 테이블에만 CRUD 권한을 부여... 원했던 꿈의 흔적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/terra_yucco/items/5a53bb7d9b9a41866159
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(특정 DynamoDB 테이블에만 CRUD 권한을 부여... 원했던 꿈의 흔적), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/terra_yucco/items/5a53bb7d9b9a41866159텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)