

# DynamoDB テーブルとインデックスに関する一般的な ABAC エラーのトラブルシューティング
<a name="abac-troubleshooting"></a>

このトピックでは、DynamoDB テーブルまたはインデックスに ABAC を実装する際に発生する可能性がある一般的なエラーや問題のトラブルシューティングに関するアドバイスを提供します。

## ポリシー内のサービス固有の条件キーによりエラーが発生する
<a name="abac-troubleshooting-service-specific-keys"></a>

サービス固有の条件キーは、有効な条件キーとは見なされません。ポリシーでこのようなキーを使用した場合、エラーが発生します。この問題を解決するには、サービス固有の条件キーを [DynamoDB に ABAC を実装する適切な条件キー](attribute-based-access-control.md#condition-keys-implement-abac)に置き換える必要があります。

例えば、[PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html) リクエストを実行する[インラインポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies)で `dynamodb:ResourceTag` 条件キーを使用したとします。リクエストが `AccessDeniedException` で失敗するとします。次の例は、`dynamodb:ResourceTag` 条件キーを使用した誤りのあるインラインポリシーを示しています。

------
#### [ JSON ]

****  

```
{
    "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` に置き換えます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:PutItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Owner": "John"
                }
            }
        }
    ]
}
```

------

## ABAC をオプトアウトできない
<a name="abac-troubleshooting-unable-opt-out"></a>

サポート を通じてアカウントで ABAC が有効になっている場合、DynamoDB コンソールから ABAC をオプトアウトすることはできません。オプトアウトするには、[サポート](https://console.aws.amazon.com/support) に問い合わせてください。

次の条件を満たす場合*のみ*、ABAC をオプトアウトできます。
+ [DynamoDB コンソールを通じてセルフサービスでオプトイン](abac-enable-ddb.md#abac-enable-console)する方法を使用しました。
+ オプトインから 7 暦日以内にオプトアウトします。