Conceda permissões do IAM para CloudFormation Hooks - 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.

  • Exibir detalhes do resultado de uma invocação — Acesse informações detalhadas e orientações de remediação para um resultado específico de invocação 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 CloudFormation seção Ações, recursos e chaves de condição para da Referência de autorização de serviço.

Permitir que um usuário gerencie 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.

JSON
{ "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 proativos 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 um usuário publique 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.

JSON
{ "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 um usuário visualize os resultados da invocação do Hook

As permissões do IAM necessárias para visualizar os resultados da invocação do Hook mudam dependendo do tipo de informação solicitada.

Listar resultados de invocação de Hook

Para listar os resultados da invocação do Hook, os usuários precisam de permissões diferentes, 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.

A seguir, mostramos um exemplo de uma política básica de permissões para listar os resultados da invocação do 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.

JSON
{ "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.

JSON
{ "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.

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

Permitir que um usuário visualize os resultados detalhados da invocação do Hook

Para conceder permissões para visualizar os resultados detalhados de uma invocação específica do Hook, você deve conceder acesso à cloudformation:GetHookResult ação. Essa permissão permite que os usuários recuperem informações detalhadas e orientações de remediação para um resultado específico de invocação de Hook. Para obter mais informações, consulte GetHookResult na Referência de APIs do AWS CloudFormation .

O exemplo a seguir da política do IAM concede permissões para a cloudformation:GetHookResult ação.

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

Você pode configurar Hooks para criptografar resultados detalhados de invocação armazenados na nuvem com suas próprias chaves. AWS KMS Para obter informações sobre como configurar a política de chaves e as permissões do IAM necessárias ao usar uma chave gerenciada pelo cliente para criptografia, consulteAWS KMS principais políticas e permissões para criptografar resultados de CloudFormation Hooks em repouso.