Información general sobre la administración de los permisos de acceso a los recursos de Amazon DynamoDB - Amazon DynamoDB

Información general sobre la administración de los permisos de acceso a los recursos de Amazon DynamoDB

Cada recurso de AWS es propiedad de una cuenta de AWS, y los permisos para crear o tener acceso a un recurso se rigen por las políticas de permisos. Los administradores de cuentas pueden asociar políticas de permisos a identidades de IAM (es decir, usuarios, grupos y funciones). Algunos servicios (como AWS Lambda) también permiten asociar políticas de permisos con los recursos.

nota

Un administrador de la cuenta (o usuario administrador) es un usuario con privilegios de administrador. Para obtener más información, consulte Prácticas recomendadas de IAM en la Guía del usuario de IAM.

Cuando concede permisos, decide quién debe obtener los permisos, para qué recursos se obtienen permisos y qué acciones específicas desea permitir en esos recursos.

Recursos y operaciones de DynamoDB

En DynamoDB, el recurso principal son las tablas. DynamoDB también admite otros tipos de recursos, los índices y las transmisiones. Sin embargo, puede crear índices y transmisiones solamente en el contexto de una tabla de DynamoDB existente. Estos elementos se denominan subrecursos.

Estos recursos principales y secundarios tienen asociado un Nombre de recursos de Amazon (ARN) único, tal y como se muestra en la siguiente tabla:

Tipo de recurso Formato de ARN
Tabla arn:aws:dynamodb:region:account-id:table/table-name
Índice arn:aws:dynamodb:region:account-id:table/table-name/index/index-name
De streaming arn:aws:dynamodb:region:account-id:table/table-name/stream/stream-label

DynamoDB proporciona un conjunto de operaciones para trabajar con los recursos de DynamoDB. Para obtener una lista de las operaciones disponibles, consulte Actions de Amazon DynamoDB.

Titularidad de los recursos

La cuenta de AWS es la propietaria de los recursos que se crean en ella, independientemente de quién los haya creado. En concreto, el propietario de los recursos es la cuenta de AWS es la entidad principal (es decir, el usuario de una cuenta raíz de AWS, un usuario de IAM o un rol de IAM) que autentica la solicitud de creación de recursos. Los siguientes ejemplos ilustran cómo funciona:

  • Si utiliza las credenciales de usuario raíz de la cuenta de AWS para crear una tabla, su cuenta de AWS será la propietaria del recurso (es DynamoDB, el recurso es la tabla).

  • Si crea un usuario de IAM en su cuenta de AWS y concede permisos para crear una tabla para ese usuario, el usuario puede crear una tabla. Sin embargo, su cuenta de AWS, a la que pertenece el usuario, será la propietaria del recurso de la tabla.

  • Si crea un rol de IAM en su cuenta de AWS con permisos para crear una tabla, cualquier persona que pueda asumir el rol podrá crear una tabla. Su cuenta de AWS, a la que pertenece el rol, será la propietaria del recurso de la tabla.

Administración del acceso a los recursos

Una política de permisos describe quién tiene acceso a qué. En la siguiente sección se explican las opciones disponibles para crear políticas de permisos.

nota

En esta sección se explica el uso de IAM en el contexto de DynamoDB. No se proporciona información detallada sobre el servicio de IAM. Para ver la documentación completa de IAM, consulte ¿Qué es IAM? en la Guía del usuario de IAM. Para obtener más información sobre la sintaxis y descripciones de las políticas de IAM, consulte la Referencia de políticas de IAM de AWS en la Guía del usuario de IAM.

Las políticas que se asocian a una identidad de IAM se denominan políticas basadas en identidades (o políticas de IAM). Las políticas que se adjuntan a un recurso se denominan políticas basadas en recursos. DynamoDB solo admite políticas basadas en identidad (políticas de IAM).

Políticas basadas en identidad (políticas de IAM)

Puede asociar políticas a identidades de IAM. Por ejemplo, puede hacer lo siguiente:

  • Asociar una política de permisos a un usuario o un grupo en su cuenta: para conceder a un usuario permisos para crear un recurso de Amazon DynamoDB, como una tabla, puede asociar una política de permisos a un usuario o a un grupo al que pertenezca el usuario.

  • Asociar una política de permisos a un rol (conceder permisos entre cuentas): puede asociar una política de permisos basada en identidad a un rol de &IAM; para conceder permisos entre cuentas. Por ejemplo, el administrador de la cuenta A puede crear un rol para conceder permisos entre cuentas a otra cuenta de AWS (por ejemplo, a la cuenta B) o a un servicio de AWS, tal y como se indica a continuación:

    1. El administrador de la Cuenta A crea un rol de IAM y asocia una política de permisos a dicho rol, que concede permisos sobre los recursos de la cuenta A.

    2. El administrador de la cuenta A asocia una política de confianza al rol que identifica la cuenta B como la entidad principal que puede asumir el rol.

    3. A continuación, el administrador de la cuenta B puede delegar permisos para asumir el rol a cualquier usuario de la cuenta B. De este modo, los usuarios de la cuenta B podrán crear recursos y obtener acceso a ellos en la cuenta A. La entidad principal de la política de confianza también puede ser la entidad principal de un servicio de AWS si desea conceder permisos para asumir el rol a un servicio de AWS.

    Para obtener más información sobre el uso de IAM para delegar permisos, consulte Administración de accesos en la Guía del usuario de IAM.

A continuación, se muestra un ejemplo de política que concede permisos para una acción de DynamoDB (dynamodb:ListTables). El carácter de comodín (*) en el valor de Resource indica que puede utilizar esta acción para obtener los nombres de todas las tablas que son propiedad de la cuenta de AWS en la región de AWS actual.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListTables", "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" } ] }

Para obtener más información acerca del uso de políticas basadas en identidades con DynamoDB, consulte Uso de políticas basadas en identidades (políticas de IAM) con Amazon DynamoDB. Para obtener más información sobre usuarios, grupos, roles y permisos, consulte Identidades (usuarios, grupos y roles) en la Guía del usuario de IAM.

Políticas basadas en recursos

Otros servicios, como Amazon S3, también admiten políticas de permisos basadas en recursos. Por ejemplo, puede asociar una política a un bucket de S3 para administrar los permisos de acceso a dicho bucket. DynamoDB no admite políticas basadas en recursos.

Especificar elementos de política: acciones, efectos y entidades principales

Para cada recurso de DynamoDB, el servicio define un conjunto de operaciones de API. Para conceder permisos para estas operaciones de API, DynamoDB define un conjunto de acciones que usted puede especificar en una política. Algunas operaciones de API pueden requerir permisos para más de una acción para poder realizar la operación de API. Para obtener más información sobre los recursos y las operaciones de API, consulte Recursos y operaciones de DynamoDB y las Acciones de DynamoDB.

A continuación se indican los elementos más básicos de la política:

  • Recurso: use un Nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. Para obtener más información, consulte Recursos y operaciones de DynamoDB.

  • Acción: utilice palabras clave de acción para identificar las operaciones del recurso que desea permitir o denegar. Por ejemplo, dynamodb:Query concede el permiso al usuario para que pueda realizar la operación Queryde DynamoDB.

  • Efecto: especifique el efecto (permitir o denegar) cuando el usuario solicite la acción específica. Si no concede acceso de forma explícita (permitir) a un recurso, el acceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso para asegurarse de que un usuario no pueda obtener acceso a él, aunque otra política le conceda acceso.

  • Entidad principal: en las políticas basadas en identidades (políticas de IAM), el usuario al que se asocia esta política es la entidad principal implícita. Para las políticas basadas en recursos, debe especificar el usuario, la cuenta, el servicio u otra entidad que desee que reciba permisos (se aplica solo a las políticas basadas en recursos). DynamoDB no admite políticas basadas en recursos.

Para obtener más información sobre la sintaxis y descripciones de las políticas de IAM consulte Referencia de la política de IAM de AWS de la Guía del usuario de IAM.

Para ver una lista de con todas las operaciones de la API de Amazon DynamoDB y los recursos a los que se aplican, consulte Permisos de la API de DynamoDB: referencia acerca de acciones, recursos y condiciones.

Especificación de las condiciones de una política

Al conceder permisos, puede utilizar el lenguaje de la política de acceso para especificar las condiciones en las que se debe aplicar una política. Por ejemplo, es posible que desee que solo se aplique una política después de una fecha específica. Para obtener más información sobre cómo especificar condiciones en un lenguaje de política, consulte Condition en la Guía del usuario de IAM.

Para expresar condiciones, se usan claves de condición predefinidas. Hay claves de condición de AWS que se aplican a todo y claves específicas de DynamoDB que pueden utilizar cuando corresponda. Para ver una lista completa de claves generales de AWS, consulte Claves disponibles para las condiciones en la Guía del usuario de IAM. Para obtener una lista completa de las claves específicas de DynamoDB, consulte Uso de condiciones de políticas de IAM para control de acceso preciso.