Como configurar políticas de imagem confiáveis

Por padrão, os usuários de um projeto podem criar discos permanentes ou copiar imagens usando qualquer uma das imagens públicas e outras a que os principais tenham acesso com os papéis do IAM. No entanto, em algumas situações, convém restringir os principais para que eles só possam criar discos de inicialização com base em imagens que contêm softwares aprovados que atendam à sua política ou aos seus requisitos de segurança.

Use o recurso de imagem confiável para definir uma política da organização que só permita que os principais criem discos permanentes com base em imagens de projetos específicos.

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

Antes de começar

  • Confira a página Como usar restrições para saber como gerenciar políticas no nível da organização.
  • Confira a página Noções básicas sobre a avaliação de hierarquia para saber como as políticas da organização são propagadas.
  • Configure a autenticação, se ainda não tiver feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    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. Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    2. Set a default region and zone.

    REST

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

      Instale a CLI do Google Cloud. Após a instalação, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.

    Saiba mais em 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.

Definir restrições de acesso a imagens

Execute uma política de acesso a imagens definindo uma restrição compute.trustedImageProjects no projeto, na pasta ou na organização. Você precisa ter permissão para modificar as políticas da organização a fim de definir essas restrições. Por exemplo, roles/orgpolicy.policyAdmin tem permissão para definir essas restrições. Para saber 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 de sistemas operacionais. Também é possível restringir as imagens de machine learning (ML) disponíveis no Compute Engine usando o projeto ml-images. Se você estiver usando o acesso VPC sem servidor, conceda ao projeto permissão para usar as imagens de VM do Compute Engine no projeto serverless-vpc-access-images.

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

Console

Por exemplo, para definir uma restrição no nível do projeto, faça o seguinte:

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

    Acessar Políticas da organização

  2. Na lista de políticas, clique em Definir projetos de imagem confiável. 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 de política, selecione uma opção de aplicaçã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, selecione se esta política da organização precisa permitir ou negar o acesso a todos os projetos de imagem ou especifique um conjunto personalizado de projetos para permitir ou negar o acesso.

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

    • Para permitir que os usuários criem discos de inicialização com base em todas as imagens públicas, selecione Permitir tudo.
    • Para impedir que os usuários criem discos de inicialização com base em 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. Os campos Tipo de política e Valores personalizados são exibidos.

      1. Na lista Tipo de política, selecione Permitir ou Negar.
      2. No campo Valores personalizados, insira o nome do projeto de imagem no 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 insira 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 saber mais sobre a criação de políticas da organização, consulte Como criar e gerenciar políticas da organização.

gcloud

Por exemplo, para definir uma restrição no nível do 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 pelo ID do 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 esta entrada de restrição 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.

    Você também pode negar o acesso a todas as imagens fora daquelas personalizadas no projeto. Para esse caso, use este exemplo:

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

  3. Aplique o arquivo policy.yaml ao projeto. Se a 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 pelo ID do projeto.

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

A seguir