Ejemplos de políticas basadas en la identidad para CloudFormation - AWS Guía prescriptiva

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.

Ejemplos de políticas basadas en la identidad para CloudFormation

Esta sección contiene ejemplos de políticas basadas en la identidad que muestran cómo conceder y denegar permisos para. CloudFormation Puede utilizar estas políticas de ejemplo para empezar a diseñar sus propias políticas que cumplan con el principio de privilegios mínimos.

Para obtener una lista de acciones y condiciones CloudFormation específicas, consulte Acciones, recursos y claves de condición AWS CloudFormation y AWS CloudFormation condiciones. Para obtener una lista de los tipos de recursos que se pueden utilizar con condiciones, consulte Referencia de tipos de recursos y propiedades de AWS.

Cómo permitir el acceso a las vistas

El acceso a la vista es el tipo de acceso con menos privilegios. CloudFormation Este tipo de política podría ser adecuada para los directores de IAM que deseen ver todas las pilas del. CloudFormation Cuenta de AWS El siguiente ejemplo de política otorga permisos para ver los detalles de cualquier CloudFormation pila de la cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources" ], "Resource": "*" } ] }

Cómo permitir la creación de pilas según una plantilla

El siguiente ejemplo de política permite a los directores de IAM crear pilas utilizando únicamente las CloudFormation plantillas almacenadas en un bucket específico de Amazon Simple Storage Service (Amazon S3). El nombre del bucket es my-CFN-templates. Puede cargar las plantillas aprobadas en este bucket. La clave de condición de cloudformation:TemplateUrl de la política evita que la entidad principal de IAM utilice otras plantillas para crear pilas.

importante

Permita que la entidad principal de IAM tenga acceso de solo lectura a este bucket de S3. Esto ayuda a evitar que la entidad principal de IAM agregue, elimine o modifique las plantillas aprobadas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack" ], "Resource": "*", "Condition": { "StringLike": { "cloudformation:TemplateUrl": "https:// my-CFN-templates.s3.amazonaws.com/*" } } } ] }

Cómo denegar la actualización o eliminación de una pila

Para ayudar a proteger CloudFormation pilas específicas que aprovisionan AWS recursos esenciales para la empresa, puede restringir las acciones de actualización y eliminación de esas pilas específicas. Puede permitir estas acciones solo para pocas entidades principales de IAM específicas y denegarlas para cualquier otra entidad principal de IAM del entorno. La siguiente declaración de política deniega los permisos para actualizar o eliminar una CloudFormation pila específica en una arena específica. Región de AWS Cuenta de AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>" } ] }

Esta declaración de política deniega los permisos para actualizar o eliminar la MyProductionStack CloudFormation pila, que se encuentra en us-east-1 Región de AWS y en 123456789012 Cuenta de AWS. Puedes ver el ID de la pila en la CloudFormation consola. A continuación, se muestran algunos ejemplos de cómo podría modificar el elemento Resource de esta instrucción para su caso de uso:

  • Puede añadir varias CloudFormation pilas IDs en el Resource elemento de esta política.

  • Puedes usarlo arn:aws:cloudformation:us-east-1:123456789012:stack/* para evitar que los directores de IAM actualicen o eliminen cualquier pila que esté en la cuenta us-east-1 Región de AWS y en la 123456789012 cuenta.

Un paso importante es decidir qué política debe incluir esta instrucción. Puede agregar esta instrucción a las políticas siguientes:

  • La política basada en la identidad asociada al principal de IAM: incluir esta declaración en esta política impide que el principal de IAM específico cree o elimine una pila específica. CloudFormation

  • Un límite de permisos asociado a la entidad principal de IAM: al incluir esta instrucción en esta política se crea una barrera de protección de permisos. Impide que más de una entidad principal de IAM cree o elimine una CloudFormation pila específica, pero no restringe a todas las entidades principales de su entorno.

  • Una SCP asociada a una cuenta, unidad organizativa u organización: al incluir esta instrucción en esta política se crea una barrera de protección de permisos. Impide que todos los directores de IAM de la cuenta, unidad organizativa u organización de destino creen o eliminen un conjunto específico. CloudFormation

    Sin embargo, si no permites que al menos un principal de IAM, un principal privilegiado, actualice o elimine la CloudFormation pila, no podrás realizar ningún cambio, cuando sea necesario, en los recursos aprovisionados a través de esta pila. Un usuario o una canalización de desarrollo (recomendado) pueden asumir esta entidad principal privilegiada. Si quiere implementar la restricción como una SCP, le recomendamos utilizar la instrucción de política siguiente.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudformation:DeleteStack", "cloudformation:UpdateStack" ], "Resource": "arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/<stack_ID>", "Condition": { "ArnNotLike": { "aws:PrincipalARN": [ "<ARN of the allowed privilege IAM principal>" ] } } } ] }

    En esta instrucción, el elemento Condition define la entidad principal de IAM que está excluida de la SCP. Esta declaración deniega cualquier permiso principal de IAM para actualizar o eliminar CloudFormation pilas, a menos que el ARN del principal de IAM coincida con el ARN del elemento. Condition La clave de condición aws:PrincipalARN acepta una lista, lo que significa que puede excluir más de una entidad principal de IAM de las restricciones, según sea necesario para el entorno. Para ver un SCP similar que impida la modificación de los CloudFormation recursos, consulte SCP-CLOUDFORMATION-1 (). GitHub