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 del suplente confuso entre servicios
El problema del suplente confuso 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 entre servicios puede dar lugar al problema del suplente confuso. 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 global aws:SourceArn
y aws:SourceAccount
en las políticas de recursos para limitar los permisos que AWS Database Migration Service concede a otro servicio para el recurso. Si elaws:SourceArn
valor no contiene el ID de cuenta, como un nombre de instancia deAWS DMS replicación (ARN) 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 DMSadmite opciones de suplentes confusas a partir de la versión 3.4.7 y superiores. Para obtener más información, consulte AWSNotas de lanzamiento 3.4.7 del Database Migration Service. Si su instancia de replicación usa laAWS DMS versión 3.4.6 o una versión anterior, asegúrese de actualizar a la versión más reciente antes de configurar las confusas opciones de adjunto.
La forma más eficaz de protegerse contra el problema del suplente confuso 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:*
Temas
- Funciones de IAM que se pueden usar conAWS DMS la API para prevenir la confusión de adjuntos entre servicios
- Política de IAM de almacenar las evaluaciones previas al vuelo en Amazon S3 para prevenir la confusión entre servicios
- Uso de Amazon DynamoDB como punto final de destinoAWS DMS para prevenir la confusión entre servicios
Funciones de IAM que se pueden usar conAWS DMS la API para prevenir la confusión de adjuntos entre servicios
Para utilizar la APIAWS CLI o laAWS DMS API para la migración de la base de datos, debe añadir las funcionesdms-vpc-role
y las funciones dedms-cloudwatch-logs-role
IAM a suAWS cuenta antes de poder utilizar las funciones deAWS DMS. Para obtener más información, consulte Creación de los roles de IAM para usar con la AWS CLI y la API de AWS DMS.
En el siguiente ejemplo, se muestran las políticas para usar eldms-vpc-role
rol con la instancia demy-replication-instance
replicación. Utilice estas políticas para evitar el problema del suplente adjunto.
{ "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 de almacenar las evaluaciones previas al vuelo en Amazon S3 para prevenir la confusión entre servicios
Para almacenar los resultados de la preevaluación en su bucket de S3, debe crear una política de IAM queAWS DMS permita administrar objetos en Amazon S3. Para obtener más información, consulte Almacenar las ejecuciones de evaluación previa a la migración en un bucket de S3.
El siguiente ejemplo muestra una política de confianza con condiciones secundarias confusas que se configuran en un rol de IAM que permite accederAWS DMS a todas las tareas y las ejecuciones de evaluación en 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 final de destinoAWS DMS para prevenir la confusión entre servicios
Para utilizar Amazon DynamoDB como punto final de destino para la migración de la base de datos, debe crear la función de IAM queAWS DMS permita asumir las tablas de DynamoDB y conceder acceso a ellas. A continuación, utilice esta función cuando cree su punto de enlace de DynamoDB de destino enAWS DMS. Para obtener más información, consulte .
El siguiente ejemplo muestra una política de confianza con condiciones secundarias confusas que se configuran en un rol de IAM que permite que todos losAWS DMS endpoints accedan 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:*" } } } ] }