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.
Otorgue permisos de IAM para Hooks CloudFormation
De forma predeterminada, un usuario nuevo Cuenta de AWS no tiene permiso para administrar Hooks mediante la AWS Management Console, AWS Command Line Interface (AWS CLI) o la AWS API. Para conceder permisos a los usuarios, un administrador de IAM puede crear políticas de IAM. A continuación, el administrador puede añadir las políticas de IAM a roles y los usuarios pueden asumirlos.
Usa los ejemplos de políticas de este tema para crear tus propias políticas de IAM personalizadas y conceder a los usuarios permisos para trabajar con Hooks.
Para obtener información sobre cómo crear una política de IAM basada en la identidad con estos ejemplos de documentos de política de JSON, consulte Definir permisos de IAM personalizados con políticas gestionadas por el cliente en la Guía del usuario de IAM.
En este tema se describen los permisos necesarios para hacer lo siguiente:
-
Administrar Hooks: crea, modifica y deshabilita Hooks en tu cuenta.
-
Publica Hooks públicamente: registra, prueba y publica tus Hooks personalizados para que estén disponibles públicamente en el CloudFormation registro.
-
Ver los resultados de las invocaciones: accede y consulta los resultados de las invocaciones de Hook en tu cuenta.
A medida que vaya creando sus políticas de IAM, encontrará documentación sobre todas las acciones, recursos y claves de condición asociados al prefijo de cloudformation
servicio en la AWS CloudFormation sección Acciones, recursos y claves de condición de la Referencia de autorización de servicios.
Temas
Permita que los usuarios administren Hooks
Si necesitas permitir a los usuarios gestionar las extensiones, incluidos los Hooks, sin poder hacerlas públicas en el CloudFormation registro, puedes utilizar el siguiente ejemplo de política de IAM.
importante
Las llamadas a la SetTypeConfiguration
API ActivateType
y las llamadas a la API funcionan juntas para crear Hooks en tu cuenta. Cuando concedes permiso a un usuario para llamar a la SetTypeConfiguration
API, automáticamente le concedes la posibilidad de modificar y deshabilitar los Hooks existentes. No puedes usar permisos a nivel de recursos para restringir el acceso a esta llamada a la API. Por lo tanto, asegúrate de conceder este permiso solo a los usuarios autorizados de tu cuenta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ActivateType", "cloudformation:DescribeType", "cloudformation:ListTypes", "cloudformation:SetTypeConfiguration" ], "Resource": "*" } ] }
Es posible que los usuarios que administran Hooks necesiten algunos permisos relacionados. Por ejemplo, para ver los controles del catálogo de controles de la CloudFormation consola, el usuario debe tener el controlcatalog:ListControls
permiso establecido en una política de IAM. Para registrar Hooks personalizados como extensiones privadas en el CloudFormation registro, el usuario debe tener el cloudformation:RegisterType
permiso establecido en una política de IAM.
Permita a los usuarios publicar Hooks personalizados públicamente
El siguiente ejemplo de política de IAM se centra específicamente en las capacidades de publicación. Usa esta política si quieres permitir a los usuarios hacer que las extensiones, incluidos los Hooks, estén disponibles públicamente en el CloudFormation registro.
importante
La publicación pública de Hooks los pone a disposición de otros usuarios Cuentas de AWS. Asegúrese de que solo los usuarios autorizados tengan estos permisos y de que las extensiones publicadas cumplan con los estándares de calidad y seguridad de su organización.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribePublisher", "cloudformation:DescribeTypeRegistration", "cloudformation:ListTypes", "cloudformation:ListTypeVersions", "cloudformation:PublishType", "cloudformation:RegisterPublisher", "cloudformation:RegisterType", "cloudformation:TestType" ], "Resource": "*" } ] }
Permita que los usuarios soliciten los resultados de la invocación
Los permisos de IAM necesarios para ver los resultados de la invocación de Hook cambian en función de la solicitud de API que se realice.
-
Para conceder permisos para solicitar todos los resultados de Hook, los resultados de un Hook específico o los resultados de un Hook y un estado de invocación específicos, debes conceder acceso a la acción.
cloudformation:ListAllHookResults
-
Para conceder permisos para solicitar resultados especificando un objetivo de Hook, debes conceder acceso a la
cloudformation:ListHookResults
acción. Este permiso permite a la persona que llama a la API especificar losTargetId
parámetrosTargetType
y al realizar la llamadaListHookResults
.
A continuación, se muestra un ejemplo de una política de permisos básica para solicitar los resultados de la invocación de Hook. Las identidades de IAM (usuarios o roles) con esta política tienen permiso para solicitar todos los resultados de la invocación mediante todas las combinaciones de parámetros disponibles.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults", "cloudformation:ListHookResults" ], "Resource": "*" } ] }
Controle qué conjuntos de cambios se pueden especificar
El siguiente ejemplo de política de IAM concede permisos a la cloudformation:ListHookResults
acción para solicitar resultados especificando el objetivo del Hook. Sin embargo, también deniega la acción si el objetivo es un conjunto de cambios denominadoexample-changeset
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*", "Condition": { "StringEquals": { "cloudformation:ChangeSetName": "
example-changeset
" } } } ] }
Controla qué ganchos se pueden especificar
El siguiente ejemplo de política de IAM otorga permisos a la cloudformation:ListAllHookResults
acción para solicitar los resultados de la invocación solo cuando se proporciona el ARN del Hook en la solicitud. Niega la acción para un ARN de Hook específico.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "Null": { "cloudformation:TypeArn": "true" } } }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "ArnEquals": { "cloudformation:TypeArn": "arn:aws:cloudformation:
us-east-1
:123456789012
:type/hook/MyCompany-MyHook
" } } } ] }