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

  • Leia a página Como usar restrições para saber como gerenciar políticas no nível da organização.
  • Leia a página Noções básicas sobre a avaliação de hierarquia para saber como as políticas da organização se propagam.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

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. Acessar 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. A página Detalhes da política é exibida.

  3. Na página Detalhes da política, clique em Gerenciar política. A página Editar política é exibida.

  4. Na página Editar política, selecione Personalizar.

  5. Em Aplicação da política, selecione uma opção. Para saber mais sobre herança e hierarquia de recursos, consulte Noções básicas sobre avaliação de hierarquia.

  6. Clique em Adicionar regra.

  7. Na lista Valores da política, é possível selecionar se esta política da organização precisa permitir o acesso a todos os projetos de imagem, negar o acesso a todos os projetos ou especificar um conjunto personalizado de projetos para permitir ou negar acesso.

    Para definir a regra da política, conclua uma das seguintes opções:

    • Para permitir que os usuários criem discos de inicialização de todas as imagens públicas, selecione Permitir tudo.
    • Para impedir que os usuários criem um disco de inicialização a partir de todas as imagens públicas, selecione Negar tudo.
    • Para especificar um conjunto selecionado de imagens públicas que os usuários podem usar para criar discos de inicialização, selecione Personalizado. Um campo Tipo de política e Valores personalizados é exibido.

      1. Na lista Tipo de política, selecione Permitir ou Negar.
      2. No campo Valores personalizados, insira o nome do projeto de imagem usando o formato projects/IMAGE_PROJECT.

        Substitua IMAGE_PROJECT pelo projeto de imagem em que você quer definir a restrição.

        É possível adicionar vários projetos de imagem. Para cada projeto de imagem que você quer adicionar, clique em Adicionar e digite o nome do projeto.

  8. Para salvar a regra, clique em Concluído.

  9. Para salvar e aplicar a política da organização, clique em Salvar.

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