이 주제에서는 DynamoDB 테이블 또는 인덱스에서 ABAC를 구현하는 동안 발생할 수 있는 일반적인 오류 및 문제에 대한 문제 해결 조언을 제공합니다.
서비스별 조건 키는 유효한 조건 키로 간주되지 않습니다. 정책에서 이러한 키를 사용한 경우 오류가 발생합니다. 이 문제를 해결하려면 서비스별 조건 키를 적절한 조건 키로 바꾸어 DynamoDB에서 ABAC를 구현해야 합니다.
예를 들어 PutItem 요청을 수행하는 인라인 정책에서 dynamodb:ResourceTag
조건 키를 사용했다고 가정해 보겠습니다. AccessDeniedException
에서 요청이 실패한다고 가정합니다. 다음 예제에서는 dynamodb:ResourceTag
조건 키가 있는 잘못된 인라인 정책을 보여줍니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/*",
"Condition": {
"StringEquals": {
"dynamodb:ResourceTag/Owner": "John"
}
}
}
]
}
이 문제를 해결하려면 다음 예제와 같이 dynamodb:ResourceTag
조건 키를 aws:ResourceTag
로 바꿉니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Owner": "John"
}
}
}
]
}
지원를 통해 계정에 대해 ABAC가 활성화된 경우 DynamoDB 콘솔을 통해 ABAC를 옵트아웃할 수 없습니다. 옵트아웃하려면 지원
다음과 같은 경우에만 ABAC를 직접 옵트아웃할 수 있습니다.
-
DynamoDB 콘솔을 통해 옵트인하는 셀프 서비스 방법을 사용했습니다.
-
옵트인 후 7일 이내에 옵트아웃합니다.