

# Solución de errores de ABAC común en tablas e índices de DynamoDB
<a name="abac-troubleshooting"></a>

En este tema se proporcionan consejos para la solución de problemas y errores comunes que puede encontrar al implementar ABAC en tablas o índices de DynamoDB.

## Las claves de condición específicas del servicio en las políticas producen un error
<a name="abac-troubleshooting-service-specific-keys"></a>

Las claves de condición específicas del servicio no se consideran claves de condición válidas. Si ha utilizado este tipo de claves en las políticas, se producirá un error. Para solucionar este problema, debe reemplazar las claves de condición específicas del servicio por una [clave de condición adecuada para implementar ABAC](attribute-based-access-control.md#condition-keys-implement-abac) en DynamoDB.

Por ejemplo, supongamos que ha utilizado la clave de condición `dynamodb:ResourceTag` en una [política insertada](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) que realiza la solicitud [PutItem](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html). Imagine que se produce el error `AccessDeniedException` en la solicitud. En el siguiente ejemplo se muestra la política insertada errónea con la clave de condición `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 solucionar este problema, reemplace la clave de condición `dynamodb:ResourceTag` por `aws:ResourceTag`, como se muestra en el siguiente ejemplo.

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

****  

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

------

## No se puede desactivar ABAC
<a name="abac-troubleshooting-unable-opt-out"></a>

Si se ha habilitado ABAC para la cuenta a través de Soporte, no podrá desactivarlo mediante la consola de DynamoDB. Para desactivarlo, póngase en contacto con [Soporte](https://console.aws.amazon.com/support).

Puede desactivar ABAC *solo si* se cumplen las siguientes condiciones:
+ Ha utilizado la forma de autoservicio de [activarlo a través de la consola de DynamoDB](abac-enable-ddb.md#abac-enable-console).
+ Efectúa la desactivación en los siete días naturales posteriores a la activación.