Acceso entre cuentas con políticas basadas en recursos en DynamoDB - Amazon DynamoDB

Acceso entre cuentas con políticas basadas en recursos en DynamoDB

Al usar una política basada en recursos, puede proporcionar acceso entre cuentas a los recursos disponibles en diferentes Cuentas de AWS. Todos los accesos entre cuentas permitidos por las políticas basadas en recursos se reflejarán en los resultados del acceso externo de IAM Access Analyzer si dispone de un analizador en la misma Región de AWS que el recurso. IAM Access Analyzer ejecuta verificaciones de política para validarla contra la Gramática de la política de IAM y las prácticas recomendadas. Estas verificaciones generan hallazgos y proporcionan recomendaciones procesables para ayudarlo a crear políticas funcionales y que se ajustan a las prácticas recomendadas de seguridad. Puede ver los resultados activos de IAM Access Analyzer en la pestaña Permisos de la consola de DynamoDB.

Para obtener más información sobre la validación de políticas con IAM Access Analyzer, consulte Política de validación de Analizador de acceso de IAM en la Guía del usuario de IAM. Para ver una lista de advertencias, errores y sugerencias que devuelve IAM Access Analyzer, consulte Referencia de verificación de políticas de IAM Access Analyzer.

Para conceder el permiso GetItem a un usuario A de la cuenta A para acceder a una tabla B de la cuenta B, lleve a cabo los siguientes pasos:

  1. Asocie una política basada en recursos a la tabla B que otorgue permiso al usuario A para realizar la acción GetItem.

  2. Asocie una política basada en identidad a un usuario A que le permita realizar la acción GetItem en la tabla B.

Si la opción Vista previa del acceso externo está disponible en la consola de DynamoDB, podrá ver cómo afectará al recurso la nueva política de acceso público y entre cuentas. Antes de guardar la política, puede comprobar si introduce nuevos hallazgos de IAM Access Analyzer o resuelve las conclusiones existentes. Si no ve un analizador activo, elija Ir a Access Analyzer para crear un analizador de la cuenta en Access Analyzer de IAM. Para obtener más información, consulte Acceso de vista previa.

El parámetro de nombre de tabla de las API de plano de datos y plano de control de DynamoDB aceptan el Nombre de recurso de Amazon (ARN) completo de la tabla para admitir las operaciones entre cuentas. Si solo proporciona el parámetro de nombre de tabla en lugar de un ARN completo, la operación de la API se realizará en la tabla de la cuenta a la que pertenece el solicitante. Para ver un ejemplo de una política que usa el acceso entre cuentas, consulte Políticas basadas en recursos para el acceso entre cuentas.

Se cobrará a la cuenta del propietario del recurso incluso cuando la entidad principal de otra cuenta lea o escriba en la tabla de DynamoDB de la cuenta del propietario. Si la tabla tiene un rendimiento aprovisionado, la suma de todas las solicitudes de las cuentas del propietario y de los solicitantes de otras cuentas determinará si se limitará la solicitud (si el escalado automático está desactivado) o si se escalará o reducirá verticalmente si el escalado automático está activado.

Las solicitudes se registrarán en los registros de CloudTrail de las cuentas del propietario y del solicitante para que cada una de las dos cuentas pueda rastrear qué cuenta accedió a qué datos.

Acceso compartido con funciones de AWS Lambda

Funciones de Lambda en la cuenta A

  1. Vaya a la consola de IAM para crear un rol de IAM que se utilizará como rol de ejecución de Lambda para la función de AWS Lambda en la cuenta A. Añada la política de IAM gestionada AWSLambdaDynamoDBExecutionRole que tenga los permisos de invocación de DynamoDB Streams y Lambda necesarios. Esta política también concede acceso a todos los recursos potenciales de DynamoDB Streams a los que pueda tener acceso en la cuenta A.

  2. En la consola de Lambda, cree una función de Lambda para procesar los registros de un flujo de DynamoDB y, durante la configuración del rol de ejecución, elija el rol que creó en el paso anterior.

  3. Proporcione el rol de ejecución de la función de Lambda al propietario de la cuenta B de DynamoDB Streams para configurar la política basada en recursos que permita el acceso de lectura entre cuentas.

  4. Terminar de configurar la función de Lambda.

DynamoDB Stream en la cuenta B

  1. Obtenga el rol de ejecución de Lambda de la cuenta A que invocará la función de Lambda.

  2. En la consola Amazon DynamoDB de la cuenta B, elija la tabla correspondiente al activador entre cuentas de Lambda. En la pestaña Exportaciones y flujos, localice el ARN de su flujo de DynamoDB. Asegúrese de que el estado de DynamoDB Stream sea “Activado” y anote el ARN completo del flujo, ya que lo necesitará para la política de recursos.

  3. En la pestaña Permisos, haga clic en el botón Crear política de transmisión para iniciar el editor visual de políticas. Haga clic en el botón Agregar nueva declaración o edite la política si ya existe.

  4. Cree una política que especifique el rol de ejecución de Lambda en la cuenta A como entidad principal y conceda las acciones de DynamoDB Stream requeridas. Asegúrese de incluir las acciones dynamodb:DescribeStream, dynamodb:GetRecords, dynamodb:GetShardIterator y dynamodb:ListShards. Para obtener más información sobre ejemplos de políticas de recursos para DynamoDB Streams, consulte Ejemplos de política basada en recursos de DynamoDB.

nota

El acceso entre cuentas a las API de plano de control tiene un límite inferior de 500 solicitudes de transacciones por segundo (TPS).