Conceda permissões do IAM para CloudFormation Hooks - AWS CloudFormation

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Conceda permissões do IAM para CloudFormation Hooks

Por padrão, um novo usuário Conta da AWS não tem permissão para gerenciar Hooks usando a AWS API AWS Management Console, AWS Command Line Interface (AWS CLI) ou. Para conceder permissão aos usuários, um administrador do IAM pode criar políticas do IAM. O administrador pode então adicionar as políticas do IAM aos perfis e os usuários podem assumir os perfis.

Use os exemplos de políticas neste tópico para criar suas próprias políticas personalizadas do IAM para dar aos usuários permissões para trabalhar com Hooks.

Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte Definir permissões personalizadas do IAM com políticas gerenciadas pelo cliente no Guia do usuário do IAM.

Este tópico aborda as permissões necessárias para fazer o seguinte:

  • Gerenciar ganchos — Crie, modifique e desative ganchos em sua conta.

  • Publique ganchos publicamente — registre, teste e publique seus ganchos personalizados para disponibilizá-los publicamente no CloudFormation registro.

  • Visualize os resultados da invocação — Acesse e consulte os resultados das invocações do Hook em sua conta.

Ao criar suas políticas do IAM, você pode encontrar a documentação de todas as ações, recursos e chaves de condição associadas ao prefixo do cloudformation serviço na AWS CloudFormation seção Ações, recursos e chaves de condição para da Referência de autorização de serviço.

Permitir que os usuários gerenciem Hooks

Se você precisar permitir que os usuários gerenciem extensões, incluindo Hooks, sem a capacidade de torná-las públicas no CloudFormation registro, você pode usar o exemplo de política do IAM a seguir.

Importante

As chamadas de SetTypeConfiguration API ActivateType e as chamadas funcionam juntas para criar Hooks em sua conta. Ao conceder permissão a um usuário para chamar a SetTypeConfiguration API, você automaticamente concede a ele a capacidade de modificar e desativar os Hooks existentes. Você não pode usar permissões em nível de recurso para restringir o acesso a essa chamada de API. Portanto, certifique-se de conceder essa permissão somente aos usuários autorizados em sua conta.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ActivateType", "cloudformation:DescribeType", "cloudformation:ListTypes", "cloudformation:SetTypeConfiguration" ], "Resource": "*" } ] }

Os usuários que gerenciam Hooks podem precisar de algumas permissões relacionadas. Por exemplo, para visualizar os controles do Catálogo de Controle no CloudFormation console, o usuário deve ter a controlcatalog:ListControls permissão em uma política do IAM. Para registrar Hooks personalizados como extensões privadas no CloudFormation registro, o usuário deve ter a cloudformation:RegisterType permissão em uma política do IAM.

Permitir que os usuários publiquem Hooks personalizados publicamente

O exemplo a seguir da política do IAM se concentra especificamente nos recursos de publicação. Use essa política se precisar permitir que os usuários disponibilizem extensões, incluindo Hooks, publicamente no CloudFormation registro.

Importante

Publishing Hooks os disponibiliza publicamente para outros Contas da AWS. Garanta que somente usuários autorizados tenham essas permissões e que as extensões publicadas atendam aos padrões de qualidade e segurança da sua organização.

{ "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": "*" } ] }

Permitir que os usuários solicitem resultados de invocação

As permissões do IAM necessárias para visualizar os resultados da invocação do Hook mudam dependendo da solicitação de API que está sendo feita.

  • Para conceder permissões para solicitar todos os resultados do Hook, resultados de um Hook específico ou resultados de um Hook específico e status de invocação, você deve conceder acesso à cloudformation:ListAllHookResults ação.

  • Para conceder permissões para solicitar resultados especificando um alvo do Hook, você deve conceder acesso à cloudformation:ListHookResults ação. Essa permissão permite que o chamador da API especifique os TargetId parâmetros TargetType e ao fazer a chamadaListHookResults.

Veja a seguir um exemplo de uma política básica de permissões para solicitar resultados de invocação de Hook. As identidades do IAM (usuários ou funções) com essa política têm permissão para solicitar todos os resultados da invocação usando todas as combinações de parâmetros disponíveis.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults", "cloudformation:ListHookResults" ], "Resource": "*" } ] }

Controle quais conjuntos de alterações podem ser especificados

O exemplo a seguir da política do IAM concede permissões à cloudformation:ListHookResults ação para solicitar resultados especificando o destino do Hook. No entanto, ele também nega a ação se o destino for um conjunto de alterações chamadoexample-changeset.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*", "Condition": { "StringEquals": { "cloudformation:ChangeSetName": "example-changeset" } } } ] }

Controle quais ganchos podem ser especificados

O exemplo a seguir da política do IAM concede permissões à cloudformation:ListAllHookResults ação para solicitar resultados de invocação somente quando o ARN do Hook é fornecido na solicitação. Ele nega a ação de um ARN de gancho especificado.

{ "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" } } } ] }