Gerenciar a criação de reservas compartilhadas

Por padrão, os projetos não podem criar nem modificar reservas compartilhadas. Este documento explica como permitir ou restringir projetos na sua Google Cloud organização para criar e modificar reservas compartilhadas. As reservas compartilhadas ajudam a maximizar o uso da capacidade reservada em vários projetos, além de gerenciar uma reserva em vez de várias.

Para saber mais sobre as práticas recomendadas para criar e usar reservas compartilhadas, consulte Práticas recomendadas para reservas compartilhadas.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma 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:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console Google Cloud para acessar os serviços e as APIs Google Cloud , não é necessário configurar a autenticação.

    gcloud

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

      gcloud init

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

  • Defina uma região e uma zona padrão.

Funções exigidas

Para receber as permissões necessárias para permitir ou restringir a criação de reservas compartilhadas em projetos, peça ao administrador para conceder a você o papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) na organização. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para permitir ou restringir a criação de reservas compartilhadas por projetos. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para permitir ou impedir que projetos criem reservas compartilhadas:

  • Para editar políticas da organização: orgpolicy.policy.set na organização
  • Para visualizar as políticas da organização: orgpolicy.policy.get na organização

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Permitir ou impedir que projetos criem reservas compartilhadas

Para permitir ou impedir que um projeto crie reservas compartilhadas, modifique a lista de permissões na restrição de políticas da organização de projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects).

As seções a seguir explicam como visualizar ou editar a restrição de política de reservas compartilhadas no projeto ou na organização.

Ver a restrição da política da organização de reservas compartilhadas

Para verificar se o projeto ou a organização tem a restrição de projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects) ativada, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud , acesse a página Políticas da organização.

    Acessar a página Políticas da organização

  2. No seletor de projetos, selecione o projeto ou a organização em que você quer ver as políticas da organização.

  3. No campo Filtro , insira constraints/compute.sharedReservationsOwnerProjects.

  4. Na coluna Nome, clique em Projetos proprietários de reservas compartilhadas. A página Detalhes da política é exibida.

  5. Na seção Política efetiva, verifique se o projeto ou a organização tem permissão para criar e modificar reservas compartilhadas.

gcloud

Para ver quais projetos a restrição compute.sharedReservationsOwnerProjects permite criar e modificar reservas compartilhadas:

  1. Para fazer o download da política da sua organização como um arquivo chamado policy.yaml, use o comando gcloud resource-manager org-policies describe:

    gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
        --organization=ORGANIZATION_ID > policy.yaml
    

    Substitua ORGANIZATION_ID pelo ID da organização.

  2. Abra o arquivo policy.yaml em um editor de texto de sua preferência.

  3. Confira a restrição compute.sharedReservationsOwnerProjects. Os projetos que podem criar e modificar reservas compartilhadas estão listados no campo allowedValues, conforme mostrado no exemplo a seguir:

    ...
    constraint: constraints/compute.sharedReservationsOwnerProjects
    listPolicy:
      allowedValues:
      - projects/EXAMPLE_PROJECT_NUMBER1
      - projects/EXAMPLE_PROJECT_NUMBER2
      - projects/EXAMPLE_PROJECT_NUMBER3
      ...
    ...
    
  4. Opcional: para excluir o arquivo policy.yaml, siga um destes procedimentos:

    • Se você estiver usando um terminal Linux ou macOS, execute o seguinte comando:

      rm policy.yaml
      
    • Se você estiver usando um terminal do Windows, execute o seguinte comando:

      del policy.yaml
      

Editar a restrição da política da organização de reservas compartilhadas

Para editar quais projetos na sua organização podem criar e modificar reservas compartilhadas, selecione uma das seguintes opções:

Console

  1. No console do Google Cloud , acesse a página Políticas da organização.

    Acessar a página Políticas da organização

  2. No seletor de projetos, selecione a organização em que você quer editar as políticas da organização.

  3. No campo Filtro , insira constraints/compute.sharedReservationsOwnerProjects.

  4. Na coluna Nome, clique em Projetos proprietários de reservas compartilhadas. A página Detalhes da política é exibida.

  5. Clique em Gerenciar política. A página Detalhes da política é exibida.

  6. Selecione Substituir a política do recurso pai. Em seguida, na seção Aplicação da política, selecione como você quer aplicar a política:

    • Mesclar com recurso pai: combina a política para envolvidos no projeto com a política no nível da organização. Os projetos permitidos em qualquer nível podem criar reservas compartilhadas.

    • Substituir: essa opção substitui todas as políticas herdadas de níveis mais altos. Somente os projetos explicitamente permitidos nesse nível podem criar reservas compartilhadas.

  7. Clique em Adicionar uma regra.

  8. Na lista Valores da política, selecione Personalizado.

  9. Na lista Tipo de política, selecione uma das seguintes opções:

    • Para autorizar um ou mais projetos a criar ou modificar reservas compartilhadas, selecione Permitir.

    • Para impedir que um ou mais projetos criem ou modifiquem reservas compartilhadas, selecione Negar.

  10. No campo Valor personalizado, insira o número do projeto a que você quer aplicar essa regra. Para cada projeto extra ao qual você quer aplicar a regra, clique em Adicionar valor e repita essa etapa.

  11. Para aplicar essas mudanças, clique em Definir política. A página Políticas da organização aparece.

gcloud

Para editar quais projetos a restrição compute.sharedReservationsOwnerProjects permite criar e modificar reservas compartilhadas, use um dos seguintes métodos:

  • Para conceder permissão a um único projeto para criar e modificar reservas compartilhadas, use o comando gcloud resource-manager org-policies allow. Repita esse comando para cada projeto ao qual quer conceder essa permissão.

    gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \
        --organization=ORGANIZATION_ID
    

    Substitua:

  • Para conceder ou revogar as permissões de vários projetos para criar e modificar reservas compartilhadas, substitua a restrição da política da organização. Para isso, siga estas etapas:

    1. Para fazer o download da política da sua organização como um arquivo chamado policy.yaml, use o comando gcloud resource-manager org-policies describe:

      gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
          --organization=ORGANIZATION_ID > policy.yaml
      
    2. Abra o arquivo policy.yaml em um editor de texto de sua preferência.

    3. Modifique o campo allowedValues para listar todos os projetos que podem criar e modificar reservas compartilhadas.

      • Para cada projeto que você quer conceder permissão, adicione o número do projeto em uma nova linha no campo allowedValues.

      • Para cada projeto que tiver permissão revogada para criar e modificar reservas compartilhadas, remova o número do projeto do campo allowedValues.

      O arquivo policy.yaml é semelhante ao exemplo a seguir:

      ...
      constraint: constraints/compute.sharedReservationsOwnerProjects
      listPolicy:
        allowedValues:
        - projects/EXAMPLE_PROJECT_NUMBER1
        - projects/EXAMPLE_PROJECT_NUMBER2
        - projects/EXAMPLE_PROJECT_NUMBER3
        ...
      ...
      
    4. Salve o arquivo policy.yaml e feche o editor de texto.

    5. Para atualizar a política da sua organização, use o comando gcloud resource-manager org-policies set-policy:

      gcloud resource-manager org-policies set-policy \
          --organization=ORGANIZATION_ID policy.yaml
      
    6. Opcional: para excluir o arquivo policy.yaml, faça o seguinte:

      • Se você estiver usando um terminal Linux ou macOS, execute o seguinte comando:

        rm policy.yaml
        
      • Se você estiver usando um terminal do Windows, execute o seguinte comando:

        del policy.yaml
        

As mudanças podem levar até 15 minutos para entrar em vigor.

A seguir