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 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 en DynamoDB.
Por ejemplo, supongamos que ha utilizado la clave de condición dynamodb:ResourceTag
en una política insertada que realiza la solicitud PutItem. 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
.
{
"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.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:PutItem"
],
"Resource": "arn:aws:dynamodb:*:*:table/*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Owner": "John"
}
}
}
]
}
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
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.
-
Efectúa la desactivación en los siete días naturales posteriores a la activación.