

# Solução de problemas comuns de ABAC para tabelas e índices do DynamoDB
<a name="abac-troubleshooting"></a>

Este tópico oferece conselhos para solução de erros e problemas comuns que você pode encontrar ao implementar o ABAC em tabelas ou índices do DynamoDB.

## Chaves de condição específicas do serviço em políticas geram um erro
<a name="abac-troubleshooting-service-specific-keys"></a>

Chaves de condição específicas do serviço não são consideradas chaves de condição válidas. Se você usou essas chaves em suas políticas, elas gerarão um erro. Para corrigir esse problema, você deve substituir as chaves de condição específicas do serviço por uma [chave de condição apropriada para implementar o ABAC](attribute-based-access-control.md#condition-keys-implement-abac) no DynamoDB.

Por exemplo, digamos que você tenha usado a chave de condição `dynamodb:ResourceTag` em uma [política em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) que executa a solicitação [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html). Imagine que a solicitação falhe com uma `AccessDeniedException`. O exemplo a seguir mostra a política em linha errônea com a chave de condição `dynamodb:ResourceTag`.

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

****  

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

------

Para corrigir esse problema, substitua a chave de condição `dynamodb:ResourceTag` por `aws:ResourceTag`, conforme mostrado no exemplo a seguir.

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

****  

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

------

## Não é possível cancelar o ABAC
<a name="abac-troubleshooting-unable-opt-out"></a>

Se o ABAC foi habilitado para sua conta por meio do Suporte, você não poderá cancelá-lo pelo console do DynamoDB. Para cancelá-lo, entre em contato com o [Suporte](https://console.aws.amazon.com/support).

Você mesmo poderá cancelar o ABAC *somente se* as seguintes condições forem verdadeiras:
+ Você usou o método de autoatendimento para [ativar por meio do console do DynamoDB](abac-enable-ddb.md#abac-enable-console).
+ Você está cancelando o recurso em até sete dias corridos após a ativação.