Prevención de la sustitución confusa entre servicios - AWS CodeDeploy

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 el confuso problema de un 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 puedes 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 le ayudan a proteger los datos de todos los servicios cuyos directores de servicio tengan acceso a los recursos de su cuenta.

Recomendamos utilizar las claves de contexto aws: SourceArn y aws: SourceAccount global condition en las políticas de recursos para limitar los permisos que se CodeDeploy otorgan a otro servicio al recurso. 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. Utiliza aws:SourceArn si desea que solo se asocie un recurso al acceso entre servicios. Utilice aws:SourceAccount si quiere que cualquier recurso de esa cuenta se asocie al uso entre servicios.

Para las ECS implementaciones EC2 de /On-Premises, AWS Lambda y Amazon normales, el valor de aws:SourceArn debe incluir el grupo de CodeDeploy implementación ARN con el que CodeDeploy se le permite asumir la función. IAM

En el caso de las implementaciones ECS azul/verde de Amazon creadas mediante AWS CloudFormation, el valor de aws:SourceArn debe incluir la CloudFormation pila ARN con la que CodeDeploy se le permite asumir la función. IAM

La forma más eficaz de protegerse contra el confuso problema de los diputados es utilizar la aws:SourceArn clave con todo el recursoARN. Si no conoce la totalidad ARN o si está especificando varios recursos, utilice caracteres comodín (*) para las partes desconocidas.

Por ejemplo, puedes usar la siguiente política de confianza con una implementación de EC2 /On-Premises, AWS Lambda o Amazon normal: ECS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*" } } } ] }

Para una implementación ECS azul/verde de Amazon creada mediante AWS CloudFormation, puedes usar:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "codedeploy.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*" } } } ] }