Configurar políticas de imagens seguras


Por predefinição, os utilizadores no seu projeto podem criar discos persistentes ou copiar imagens através de qualquer uma das imagens públicas e de quaisquer imagens às quais os diretores podem aceder através de funções do IAM. No entanto, em algumas situações, pode querer restringir os principais para que possam criar discos de arranque apenas a partir de imagens que contenham software aprovado que cumpra os seus requisitos de política ou segurança.

Use a funcionalidade de imagem fidedigna para definir uma política organizacional que permita aos diretores criar discos persistentes apenas a partir de imagens em projetos específicos.

Para restringir as localizações onde as suas imagens podem ser usadas, leia o artigo sobre como restringir a utilização das suas imagens, discos e capturas de ecrã partilhados.

Antes de começar

  • Leia a página Usar restrições para saber como gerir políticas ao nível da organização.
  • Leia a página Compreender a avaliação da hierarquia para saber como as políticas de organização são propagadas.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

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

Limitações

  • As políticas de imagens seguras não restringem o acesso às seguintes imagens:

  • As políticas de imagens fidedignas não impedem que os utilizadores criem recursos de imagens nos respetivos projetos locais.

Defina restrições de acesso a imagens

Aplique uma política de acesso a imagens definindo uma restrição compute.trustedImageProjects no seu projeto, pasta ou organização. Tem de ter autorização para modificar as políticas da organização para definir estas restrições. Por exemplo, roles/orgpolicy.policyAdmin tem autorização para definir estas restrições. Para mais informações sobre a gestão de políticas ao nível do projeto, da pasta ou da organização, consulte o artigo Usar restrições.

Pode definir restrições em todas as imagens públicas disponíveis no Compute Engine. Para ver uma lista de nomes de projetos de imagens, consulte os Detalhes dos sistemas operativos. Também pode restringir as imagens de aprendizagem automática (ML) disponíveis no Compute Engine através do projeto ml-images. Se estiver a usar o Acesso a VPC sem servidor, conceda ao seu projeto autorização para usar imagens de VMs do Compute Engine a partir do projeto serverless-vpc-access-images.

Use a Google Cloud consola ou a CLI gcloud para definir restrições no acesso a imagens.

Consola

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

  1. Aceda à página Políticas da organização.

    Aceda às políticas da organização

  2. Na lista de políticas, clique em Definir projetos de imagens fidedignos. É apresentada a página Detalhes da política.

  3. Na página Detalhes da política, clique em Gerir política. É apresentada a página Editar política.

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

  5. Para Aplicação de políticas, selecione uma opção de aplicação. Para obter informações acerca da herança e da hierarquia de recursos, consulte o artigo Compreender a avaliação da hierarquia.

  6. Clique em Adicionar regra.

  7. Na lista Valores da política, pode selecionar se esta política da organização deve permitir o acesso a todos os projetos de imagens, negar o acesso a todos os projetos de imagens ou especificar um conjunto personalizado de projetos para permitir ou negar o acesso.

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

    • Para permitir que os utilizadores criem discos de arranque a partir de todas as imagens públicas, selecione Permitir tudo.
    • Para impedir que os utilizadores criem um disco de arranque a partir de todas as imagens públicas, selecione Negar tudo.
    • Para especificar um conjunto selecionado de imagens públicas a partir das quais os utilizadores podem criar discos de arranque, selecione Personalizado. É apresentado um Tipo de política e um campo Valores personalizados.

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

        Substitua IMAGE_PROJECT pelo projeto de imagem no qual quer definir a restrição.

        Pode adicionar vários projetos de imagens. Para cada projeto de imagem que pretende adicionar, clique em Adicionar e introduza o nome do projeto de imagem.

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

  9. Para guardar e aplicar a política de organização, clique em Guardar.

Para mais informações sobre a criação de políticas de organização, consulte o artigo Criar e gerir políticas de organização.

gcloud

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

  1. Obtenha as definições da política existentes para o seu projeto através do 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 seu projeto.

  2. Abra o ficheiro policy.yaml num editor de texto e modifique a restrição compute.trustedImageProjects. Adicione as restrições de que precisa e remova as restrições que já não são necessárias. Quando terminar de editar o ficheiro, guarde as alterações. Por exemplo, pode definir a seguinte entrada de restrição no ficheiro 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 quer restringir no seu projeto.

    Opcionalmente, pode querer negar o acesso a todas as imagens fora das imagens personalizadas no seu projeto. Para essa situação, use o seguinte exemplo:

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

  3. Aplique o ficheiro policy.yaml ao seu projeto. Se a sua organização ou pasta tiver restrições existentes, essas restrições podem entrar em conflito com as restrições ao nível do projeto que definir. 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 seu projeto.

Quando terminar de configurar as restrições, teste-as para garantir que criam as restrições de que precisa.

O que se segue?