Prevención de la sustitución confusa entre servicios - AWS Database Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prevención de la sustitución confusa entre servicios

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar un confuso problema de diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta.

Se recomienda utilizar las claves de contexto de condición aws:SourceAccountglobal aws:SourceArny las claves de contexto en las políticas de recursos para limitar los permisos que se AWS Database Migration Service otorgan a otro servicio al recurso. Si el valor de aws:SourceArn no contiene el ID de cuenta, como un nombre de instancia de replicación (ARN) de AWS DMS , debe utilizar ambas claves de contexto de condición global para limitar los permisos. Si utiliza claves de contexto de condición global y el valor de aws:SourceArn contiene el ID de cuenta, el valor de aws:SourceAccount y la cuenta en el valor de aws:SourceArn deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política. Utilice aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utilice aws:SourceAccount si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

AWS DMS admite opciones alternativas confusas a partir de la versión 3.4.7 y versiones posteriores. Para obtener más información, consulte AWS Notas de la versión 3.4.7 de Database Migration Service. Si la instancia de replicación utiliza la versión 3.4.6 de AWS DMS o una versión anterior, asegúrese de actualizar a la versión más reciente antes de configurar las opciones de suplentes confusos.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de aws:SourceArn con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global aws:SourceArn con caracteres comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:dms:*:123456789012:rep:*.

Funciones de IAM que se pueden utilizar junto con la AWS DMS API para prevenir la confusión entre servicios

Para utilizar la API AWS CLI o la AWS DMS API para la migración de su base de datos, debe añadir las funciones dms-vpc-role y de dms-cloudwatch-logs-role IAM a su AWS cuenta antes de poder utilizar las funciones de. AWS DMS Para obtener más información, consulte Crear las funciones de IAM para usarlas con la API AWS CLI y AWS DMS.

En el siguiente ejemplo, se muestran las políticas para usar el rol dms-vpc-role con la instancia de replicación my-replication-instance. Utilice estas políticas para evitar el problema de los suplentes confusos.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnEqual": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:rep:my-replication-instance" } } } ] }

Política de IAM para almacenar las evaluaciones con comprobación previa en Amazon S3 para evitar suplentes confusos entre servicios

Para almacenar los resultados de la evaluación previa en el bucket de S3, debe crear una política de IAM que permita a AWS DMS administrar los objetos en Amazon S3. Para obtener más información, consulte Crear recursos de IAM .

El siguiente ejemplo muestra una política de confianza con condiciones secundarias confusas que se establecen en un rol de IAM y que permiten acceder AWS DMS a todas las tareas y ejecuciones de evaluación con una cuenta de usuario específica.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": [ "arn:aws:dms:your_region:your_account_id:assessment-run:*", "arn:aws:dms:region:your_account_id:task:*" ] } } } ] }

Uso de Amazon DynamoDB como punto de enlace de destino para evitar la AWS DMS confusión entre servicios

Para utilizar Amazon DynamoDB como punto final de destino para la migración de su base de datos, debe crear el rol de IAM que AWS DMS permita asumir y conceder acceso a las tablas de DynamoDB. A continuación, utilice esta función cuando cree el punto de conexión de DynamoDB de destino en AWS DMS. Para obtener más información, consulte Uso de Amazon DynamoDB como destino.

El siguiente ejemplo muestra una política de confianza con condiciones supletorias confusas que se establecen en un rol de IAM y que permiten a todos los AWS DMS puntos finales acceder a las tablas de DynamoDB.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:endpoint:*" } } } ] }