En Amazon DynamoDB, el acceso a las tablas y operaciones está controlado mediante IAM (Identity and Access Management). Esto permite definir quién puede hacer qué sobre qué recursos.
🔐 ¿Qué es IAM?
IAM permite:
- Crear usuarios, grupos y roles
- Asignarles políticas que otorgan permisos sobre servicios como DynamoDB
🔑 Permisos comunes en DynamoDB
Acción IAMDescripcióndynamodb:GetItemLeer un ítem por clave primariadynamodb:PutItemInsertar o sobrescribir un ítemdynamodb:UpdateItemActualizar uno o más atributos de un ítemdynamodb:DeleteItemEliminar un ítemdynamodb:QueryConsultar ítems usando una clavedynamodb:ScanLeer todos los ítems de la tabladynamodb:CreateTableCrear una tabladynamodb:DeleteTableEliminar una tabla
🧪 Ejemplo: Política IAM para acceso de solo lectura
Esta política da permiso a un usuario o rol para hacer solo operaciones de lectura:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:Query",
"dynamodb:Scan"
],
"Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/NombreDeTuTabla"
}
]
}
🧑💻 Crear usuario IAM y asignar permisos a DynamoDB
1. Ve a la consola de IAM:
2. Crea un usuario
- Tipo de acceso: ✅ Programático o acceso a consola
- Asigna permisos:
- Elige "Adjuntar políticas existentes directamente"
- Puedes usar
AmazonDynamoDBFullAccess (para pruebas)
3. Crear o adjuntar una política personalizada
- Para acceso más controlado, crea una política como el ejemplo anterior y asígnala al usuario/rol.
🔁 Buenas prácticas
✅ Usa roles si estás trabajando con:
✅ Usa usuarios IAM con acceso programático (por clave) solo si realmente lo necesitas.
✅ Limita el principio de menor privilegio: da solo los permisos necesarios.
✅ Usa condiciones (como claves específicas, tags o IPs) para restringir aún más los accesos.