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 organização do Google Cloud para criar e modificar reservas compartilhadas. As reservas compartilhadas ajudam você a maximizar o uso da capacidade reservada em todos os projetos e 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ó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.

Funções exigidas

Para receber as permissões necessárias a fim de permitir ou restringir a criação de reservas compartilhadas por 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 seguintes permissões 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 da política da organização Projetos de proprietário de reservas compartilhadas (compute.sharedReservationsOwnerProjects).

As seções a seguir explicam como visualizar ou editar a restrição da política de reservas compartilhadas no seu projeto ou 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 , digite constraints/compute.sharedReservationsOwnerProjects.

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

  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, 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
      

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 , digite constraints/compute.sharedReservationsOwnerProjects.

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

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

  6. Selecione Substituir 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 pai: combina a política no nível do 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 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 adicional a que você quer aplicar a regra, clique em Adicionar valor e repita esta 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 as etapas abaixo:

    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.

    5. Para atualizar a política da 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