Como configurar políticas de imagem confiáveis

Por padrão, os usuários de um projeto criam discos permanentes ou copiam imagens usando qualquer uma das imagens públicas e qualquer imagem que os membros possam acessar por meio dos papéis do IAM. No entanto, em algumas situações convém restringir os membros do projeto para que eles só possam criar discos de inicialização de imagens que contenham software aprovado que atenda à sua política ou aos requisitos de segurança.

Use o recurso Imagem confiável para definir uma política da organização que permita que os membros criem discos permanentes apenas de imagens em projetos específicos.

Para restringir os locais em que as imagens podem ser usadas, leia Como restringir o uso de imagens, discos e snapshots compartilhados.

Antes de começar

Limitações

  • As políticas de imagem confiável não restringem o acesso às imagens a seguir:

  • As políticas de imagem confiável não impedem os usuários de criar recursos de imagem nos projetos locais.

Defina restrições de acesso a imagens

Execute uma política de acesso a imagens definindo uma restrição compute.trustedImageProjects no seu projeto, na sua pasta ou na sua organização. Você precisa ter permissão para modificar as políticas da organização para definir essas restrições. Por exemplo, roles/orgpolicy.policyAdmin tem permissão para definir essas restrições. Para mais informações sobre como gerenciar políticas no nível do projeto, da pasta ou da organização, consulte Como usar restrições.

É possível definir restrições em todas as imagens públicas disponíveis no Compute Engine. Para uma lista de nomes de projetos de imagem, consulte Detalhes dos sistemas operacionais. Também é possível restringir as imagens de aprendizado de máquina (ML) disponíveis no Compute Engine usando o projeto ml-images. Se você estiver usando o acesso VPC sem servidor, conceda ao seu projeto permissão para usar as imagens da VM do Compute Engine do projeto serverless-vpc-access-images.

Use o console do Google Cloud ou a Google Cloud CLI para definir restrições de acesso a imagens.

Console

Por exemplo, para definir uma restrição para envolvidos no projeto, faça o seguinte:

  1. Acesse a página Políticas da organização.

    Acessar as políticas da organização

  2. Na lista de políticas, clique em Definir projetos de imagens confiáveis.
  3. Clique em Editar para personalizar as restrições atuais de imagens confiáveis.
  4. Na página Editar, selecione Personalizar.
  5. Na lista suspensa Valores de política, selecione Personalizados para definir a restrição em projetos de imagem específicos.
  6. Na lista suspensa Tipo de política, especifique um valor da seguinte maneira:
    • Para restringir os projetos de imagem especificados, selecione Negar.
    • Para remover as restrições dos projetos de imagem especificados, selecione Permitir.
  7. No campo Valores personalizados, digite os nomes dos projetos de imagem usando o formato projects/IMAGE_PROJECT. Substitua IMAGE_PROJECT pelo projeto de imagem em que você quer definir a restrição.

    Se você estiver definindo restrições no nível do projeto, elas podem entrar em conflito com as restrições existentes definidas na sua organização ou pasta.

  8. Clique em Novo valor da política para adicionar vários projetos de imagem.

  9. Clique em Salvar para aplicar a restrição.

Para mais informações sobre como criar políticas da organização, consulte Como criar e gerenciar políticas da organização.

gcloud

Por exemplo, para definir uma restrição para envolvidos no projeto, faça o seguinte:

  1. Acesse as configurações de política atuais do projeto usando o comando resource-manager org-policies describe.

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    Substitua PROJECT_ID pela ID do seu projeto.

  2. Abra o arquivo policy.yaml em um editor de texto e modifique a restrição compute.trustedImageProjects. Adicione as restrições necessárias e remova as que não são mais necessárias. Quando terminar de editar o arquivo, salve as alterações. Por exemplo, defina a entrada de restrição a seguir no arquivo de política:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allowedValues:
        - projects/debian-cloud
        - projects/cos-cloud
     deniedValues:
        - projects/IMAGE_PROJECT
    

    Substitua IMAGE_PROJECT pelo nome do projeto de imagem que você quer restringir no projeto.

    Se quiser, negue acesso a todas as imagens fora daquelas personalizadas do projeto. Para essa situação, use o exemplo a seguir:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allValues: DENY
    

  3. Aplique o arquivo policy.yaml ao seu projeto. Se sua organização ou pasta tiver restrições, elas poderão entrar em conflito com as restrições para envolvidos no projeto que você definiu. Para aplicar a restrição, use o comando resource-manager org-policies set-policy.

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    Substitua PROJECT_ID pela ID do seu projeto.

Quando você terminar de configurar as restrições, teste-as para garantir que tenham criado as restrições necessárias.

A seguir