Prevención de diputados confusos entre servicios en Stacks AWS OpsWorks - AWS OpsWorks

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 diputados confusos entre servicios en Stacks AWS OpsWorks

importante

El AWS OpsWorks Stacks servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post o a través de Premium AWS Support.

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 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.

Recomendamos usar las claves de contexto de condición aws:SourceAccountglobal aws:SourceArny las claves de contexto en las políticas de acceso a las pilas para limitar los permisos que AWS OpsWorks Stacks concede a otro servicio a las pilas. Si el valor de aws:SourceArn no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, 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 una pila al acceso entre servicios. Utilice aws:SourceAccount si quiere permitir que cualquier pila de esa cuenta se asocie al uso entre servicios.

El valor de aws:SourceArn debe ser el ARN de una AWS OpsWorks pila.

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 de la pila AWS OpsWorks Stacks. Si no conoce el ARN completo o si está especificando varios ARN de la pila, utilice la clave de condición de contexto global de aws:SourceArn con comodines (*) para las partes desconocidas del ARN. Por ejemplo, arn:aws:servicename:*:123456789012:*.

La siguiente sección muestra cómo puedes usar las claves de contexto de las condiciones aws:SourceAccount globales aws:SourceArn y las claves de contexto de AWS OpsWorks Stacks para evitar el confuso problema de los diputados.

Evita las confusas hazañas de los diputados en Stacks AWS OpsWorks

En esta sección, se describe cómo puedes ayudar a prevenir las confusas vulnerabilidades secundarias en AWS OpsWorks Stacks e incluye ejemplos de políticas de permisos que puedes adjuntar a la función de IAM que utilices para acceder a Stacks. AWS OpsWorks Como práctica recomendada de seguridad, recomendamos que agregue las claves de condición aws:SourceArn y aws:SourceAccount a las relaciones de confianza que su rol de IAM tiene con otros servicios. Las relaciones de confianza permiten a AWS OpsWorks Stacks asumir un rol para realizar acciones en otros servicios que son necesarias para crear o administrar tus Stacks Stacks. AWS OpsWorks

Para editar las relaciones de confianza y añadir las claves de condición aws:SourceArn y aws:SourceAccount
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo, seleccione Roles.

  3. En el cuadro de búsqueda, busca el rol que utilizas para acceder a Stacks. AWS OpsWorks El rol AWS administrado esaws-opsworks-service-role.

  4. En la página Resumen del rol, seleccione la pestaña Relaciones de confianza.

  5. En la pestaña Relaciones de confianza, seleccione Editar política de confianza.

  6. En la página Editar política de confianza, añada al menos una de las claves de condición aws:SourceArn o aws:SourceAccount a la política. Se usa aws:SourceArn para restringir la relación de confianza entre servicios cruzados (como Amazon EC2) y AWS OpsWorks Stacks a pilas de Stacks específicas AWS OpsWorks , lo que es más restrictivo. aws:SourceAccountAñádelo a las pilas de una cuenta específica para restringir la relación de confianza entre servicios cruzados y AWS OpsWorks Stacks, lo cual es menos restrictivo. A continuación, se muestra un ejemplo. Tenga en cuenta que si utiliza ambas claves de condición, los ID de cuenta deben ser los mismos.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "arn:aws:opsworks:us-east-2:123456789012:stack/EXAMPLEd-5699-40a3-80c3-22c32EXAMPLE/" } } } ] }
  7. Cuando haya terminado de agregar claves de condición, seleccione Actualizar política.

A continuación puede ver más ejemplos de roles que limitan el acceso a las pilas mediante el uso de aws:SourceArn y aws:SourceAccount.

Ejemplo: Acceso a pilas en una región específica

La siguiente declaración de relación de confianza de roles accede a todas las pilas de AWS OpsWorks Stacks de la región EE.UU. Este (Ohio) (). us-east-2 Tenga en cuenta que la región se especifica en el valor ARN de aws:SourceArn, pero el valor del ID de pila es un comodín (*).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks:us-east-2:123456789012:stack/*" } } } ] }

Ejemplo: Adición de más de un ARN de pila a aws:SourceArn

El siguiente ejemplo limita el acceso a una matriz de dos pilas de AWS OpsWorks Stacks en el ID de cuenta 123456789012.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID1", "arn:aws:opsworks:us-east-2:123456789012:stack/unique_ID2" ] } } } ] }