Como usar restrições de políticas da organização na Apigee

Esta página descreve o uso de restrições de políticas da organização com a Apigee.

Nem todos os recursos da Apigee usam a CMEK para criptografia de dados sensíveis. Para garantir que os dados que exigem a criptografia com CMEK não usem acidentalmente recursos que não são protegidos por CMEK, esses recursos permanecem desativados para projetos restritos por CMEK até que estejam em conformidade. Somente os novos usos dos recursos serão desativados, como criação de recursos ou ativação de complementos. Os recursos e funcionalidades que já estão em uso vão continuar disponíveis e poderão ser editados, mas não protegidos.

A criação de organizações de avaliação é bloqueada pela API gcloud alpha apigee organizations e pelo assistente de provisionamento de avaliação. Ao tentar acessar o assistente de provisionamento de avaliação, você vai receber a mensagem: A avaliação da Apigee não está disponível.

Para saber mais sobre os recursos desativados para projetos com restrição de CMEK, consulte Restrições de políticas da organização.

Termos

Os seguintes termos são utilizados neste tópico:

Termo Definição
CMEK Chave de criptografia gerenciada pelo cliente. Consulte Chaves de criptografia gerenciadas pelo cliente para conferir uma descrição detalhada.
Restrições de políticas da organização Uma restrição é um tipo especial de limitação quanto a um serviço ou uma lista de serviços do Google Cloud. Em relação à CMEK, há duas restrições relevantes:
  • constraints/gcp.restrictNonCmekServices
  • constraints/gcp.restrictCmekCryptoKeyProjects
Aplicação Uma garantia de que os sistemas de back-end da Apigee vão aderir à restrição de um projeto (restrições de CMEK, neste caso)
Pré-validação Comportamentos da interface que orientam você a selecionar configurações válidas na Apigee de acordo com as políticas da organização relativas à CMEK e que não expõem recursos que não estão em conformidade
Recursos Recursos da Apigee, como organizações e instâncias

Como restringir serviços que não usam CMEK

Esta seção descreve como restringir serviços que não usam CMEK.

  1. Atenda aos pré-requisitos.
  2. Selecione o projeto no console do Google Cloud.
  3. Crie uma restrição de política da organização.
  4. Provisionar a Apigee.

Pré-requisitos

Você precisa do seguinte:

Abrir projeto

  1. No Console do Google Cloud, abra a página Painel.

    Ir para o painel

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.

Criar uma restrição de política da organização

As políticas da organização são definidas pelos valores definidos para cada restrição. Elas são configuradas no nível do recurso, herdadas do recurso pai ou definidas de acordo com o comportamento padrão gerenciado pelo Google. Nesse caso, você vai criar uma restrição que exige a CMEK e que será aplicada ao projeto e a todos os recursos que herdam dele.

Para garantir que as chaves de criptografia gerenciadas pelo cliente sejam sempre usadas ao criptografar dados na Apigee, crie a seguinte restrição de política da organização:

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

    Acessar as políticas da organização

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.
  3. Na caixa Filtro, digite:
    constraints/gcp.restrictNonCmekServices
  4. Clique em Mais e em Editar política. Quando a opção Editar está desativada, isso significa que você não tem as permissões necessárias e que precisa pedir ao administrador para conceder a você o papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) na organização. Consulte os Pré-requisitos para mais informações.
  5. Em Origem da política, selecione Substituir política do recurso pai. Esse recurso terá uma política exclusiva. Na próxima etapa, você vai especificar como as regras da política do recurso pai são processadas.
  6. Em Aplicação da política, selecione uma das seguintes opções:
    • Substituir. Essa opção ignora a política do recurso pai e usa essas regras.
    • Mesclar com recurso pai. Essa opção adiciona regras além das definidas pelo recurso pai.

    Consulte Noções básicas sobre a avaliação de hierarquia para conferir uma explicação sobre a herança de políticas da organização.

  7. Clique em Adicionar uma regra.
  8. Em Valores da política, selecione Personalizada.
  9. Em Tipo de política, selecione Negar.
  10. Em Valores personalizados, digite:
    apigee.googleapis.com
  11. Clique em Concluído.
  12. Clique em Definir política. A página Detalhes da política é exibida.

Depois de configurar a política e selecionar um projeto que a herda/usa, tudo estará pronto para o provisionamento da Apigee. Os recursos da Apigee criados antes da configuração das políticas da organização relativas à CMEK não são compatíveis. Apenas os recursos novos criados após a implementação da política vão aderir às restrições de CMEK.

Consulte também:

Provisionar a Apigee

O provisionamento da Apigee com restrições de políticas da organização segue as mesmas etapas do provisionamento da Apigee sem restrições de políticas da organização. No entanto, a interface impede seleções que não são aceitas.

Esta seção descreve como a interface ajuda você a fazer as seleções.

  1. No console do Google Cloud, abra a página Apigee.

    Acessar a Apigee

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.
  3. Na página Boas-vindas ao gerenciamento de APIs da Apigee, a opção Configuração com padrões está desativada, porque você precisa selecionar explicitamente CMEKs. Clique em Personalizar configuração.
  4. Ativar APIs: ative as APIs necessárias conforme descrito na Etapa 1: ativar as APIs necessárias.
  5. Configurar a rede: configure a rede conforme descrito na Etapa 2: configurar a rede.
  6. Configurar a hospedagem e a criptografia:

    Jornada do usuário D: criptografia gerenciada pelo cliente com residência de dados é a única jornada do usuário relevante para restrições de políticas da organização que restringem serviços que não usam CMEK.

    1. Clique em Editar para abrir o painel Hospedagem e chaves de criptografia.
    2. Na seção Tipo de criptografia, a chave de criptografia gerenciada pelo Google está desativada e a chave de criptografia gerenciada pelo cliente está ativada e não pode ser desativada.
    3. Clique em Próxima.
    4. Na seção Plano de controle, a opção Ativar residência de dados está ativada e não pode ser desativada.
    5. Continue a configuração da hospedagem e da criptografia conforme descrito na etapa 3.b. da Jornada do usuário D: criptografia gerenciada pelo cliente com residência de dados.
  7. Personalizar o roteamento de acesso: personalize o roteamento de acesso conforme descrito na Etapa 4: personalizar o roteamento de acesso.

Como restringir projetos de chaves criptográficas que usam CMEK

Esta seção descreve como restringir projetos de chaves criptográficas com CMEK.

É possível restringir quais projetos podem fornecer chaves de criptografia usando outra restrição de política da organização: constraints/gcp.restrictCmekCryptoKeyProjects Com ela, você permite que projetos usem chaves de criptografia.

Essa restrição é aplicada em qualquer lugar em que seja possível selecionar uma CMEK. No momento, isso corresponde ao provisionamento da Apigee ou à criação de uma instância da Apigee.

Se o projeto atual selecionado no console do Google Cloud não estiver na lista de permissões na restrição restrictCmekCryptoKeyProjects, não será possível selecionar chaves na caixa de seleção de chave de criptografia. Em vez disso, você vai precisar usar uma chave de um projeto que está na lista de permissões.

Pré-requisitos

Você precisa do seguinte:

Abrir projeto

  1. No Console do Google Cloud, abra a página Painel.

    Ir para o painel

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.

Criar uma restrição de política da organização

As políticas da organização são definidas pelos valores definidos para cada restrição. Elas são configuradas no nível do recurso, herdadas do recurso pai ou definidas de acordo com o comportamento padrão gerenciado pelo Google. Nesse caso, você vai criar uma restrição que permite chaves apenas em projetos que estejam na lista de permissões. Essa restrição será aplicada ao projeto e a todos os recursos que herdam dele.

Para garantir que as chaves de criptografia gerenciadas pelo cliente sejam usadas apenas em projetos específicos, adicione-as a uma lista de permissões:

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

    Acessar as políticas da organização

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.
  3. Na caixa Filtro, digite:
    restrictCmekCryptoKeyProjects
  4. Clique em Mais e em Editar política. Quando a opção Editar está desativada, isso significa que você não tem as permissões necessárias e que precisa pedir ao administrador para conceder a você o papel do IAM de Administrador de políticas da organização (roles/orgpolicy.policyAdmin) na organização. Consulte os Pré-requisitos para mais informações.
  5. Em Origem da política, selecione Substituir política do recurso pai. Esse recurso terá uma política exclusiva. Na próxima etapa, você vai especificar como as regras da política do recurso pai são processadas.
  6. Em Aplicação da política, selecione uma das seguintes opções:
    • Substituir. Essa opção ignora a política do recurso pai e usa essas regras.
    • Mesclar com recurso pai. Essa opção adiciona regras além das definidas pelo recurso pai.

    Consulte Noções básicas sobre a avaliação de hierarquia para conferir uma explicação sobre a herança de políticas da organização.

  7. Clique em Adicionar uma regra.
  8. Em Valores da política, selecione Personalizada.
  9. Em Tipo de política, selecione Permitir.
  10. Em Valores personalizados, digite:
    projects/PROJECT_ID

    Substitua PROJECT_ID pelo ID do projeto em que as chaves do Cloud KMS que você quer usar estão. Por exemplo, my-kms-project.

  11. Clique em Concluído.
  12. Clique em Definir política. A página Detalhes da política é exibida.

Depois de configurar a política e selecionar um projeto que a herda/usa, tudo estará pronto para o provisionamento da Apigee. Os recursos da Apigee criados antes da configuração das políticas da organização relativas à CMEK não são compatíveis. Apenas os recursos novos criados após a implementação da política vão aderir às restrições de CMEK.

Consulte também:

Provisionar a Apigee

O provisionamento da Apigee com restrições de políticas da organização segue as mesmas etapas do provisionamento da Apigee sem restrições de políticas da organização. No entanto, a interface impede seleções que não são aceitas.

Esta seção descreve como a interface ajuda você a fazer as seleções.

  1. No console do Google Cloud, abra a página Apigee.

    Acessar a Apigee

  2. Se o projeto ainda não estiver selecionado, selecione-o na lista suspensa do console do Google Cloud.
  3. Na página Boas-vindas ao gerenciamento de APIs da Apigee, clique em Personalizar configuração.
  4. Ativar APIs: ative as APIs necessárias conforme descrito na Etapa 1: ativar as APIs necessárias.
  5. Configurar a rede: configure a rede conforme descrito na Etapa 2: configurar a rede.
  6. Configurar a hospedagem e a criptografia:

    Jornada do usuário D: criptografia gerenciada pelo cliente com residência de dados é a única jornada do usuário relevante para restrições de políticas da organização que restringem serviços que não usam CMEK.

    1. Clique em Editar para abrir o painel Hospedagem e chaves de criptografia.
    2. Na seção Tipo de criptografia, a chave de criptografia gerenciada pelo Google está desativada e a chave de criptografia gerenciada pelo cliente está ativada e não pode ser desativada.
    3. Clique em Próxima.
    4. Na seção Plano de controle, a opção Ativar residência de dados está ativada e não pode ser desativada.
    5. Continue a configuração da hospedagem e da criptografia conforme descrito na etapa 3.b. da Jornada do usuário D: criptografia gerenciada pelo cliente com residência de dados.
  7. Personalizar o roteamento de acesso: personalize o roteamento de acesso conforme descrito na Etapa 4: personalizar o roteamento de acesso.

Usar uma chave de um projeto que está na lista de permissões

Para usar uma chave de um projeto que está na lista de permissões da Apigee, insira uma chave manualmente de acordo com o ID do recurso. Qualquer chave inserida manualmente também será validada para garantir que o projeto seja válido com base na lista de permissões associada à restrição.

Como ter acesso a um ID de recurso do Google Cloud KMS

Consulte: Como ter acesso a um ID de recurso do Cloud KMS

Solução de problemas

A tabela a seguir descreve algumas condições de erro comuns que podem surgir com CMEKs e restrições de políticas da organização.

Mensagem de erro Causa Etapas necessárias
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. Você tentou provisionar uma organização de teste em que há uma restrição de política da organização para o projeto. A CMEK não é compatível com organizações de teste/avaliação. Você vai precisar atualizar a restrição da política da organização constraints/gcp.restrictNonCmekServices para remover a Apigee da lista de serviços negados e conseguir provisionar uma organização de teste.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable global org. CMEK is not supported in location 'global', select another location or adjust the code constraint for this project. Você tentou provisionar uma organização global em que há uma restrição de política da organização para o projeto. A CMEK não é compatível com organizações globais. Você vai precisar atualizar a restrição da política da organização constraints/gcp.restrictNonCmekServices para remover a Apigee da lista de serviços negados ou usar um local diferente para criar as organizações.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a resource without specifying a KMS CryptoKey. Provide a KMS CryptoKey to use for this resource. Você tentou provisionar uma organização em que há uma restrição de política da organização para o projeto sem especificar uma chave criptográfica do KMS. Você definiu um código nas políticas da organização, o que exige que você forneça uma CMEK para criptografar os dados. Você precisa fornecer a chave CMEK para criar uma organização ou instâncias. Se você não quiser aplicar a CMEK, atualize a restrição da política da organização constraints/gcp.restrictNonCmekServices para remover a Apigee da lista de serviços negados.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. Você tentou provisionar uma organização em que há uma restrição de política da organização para o projeto e especificou uma chave criptográfica do KMS que não está na lista de permissões. Você definiu constraints/gcp.restrictCmekCryptoKeyProjects nas políticas da organização, o que exige que você forneça uma chave CMEK referente aos projetos que incluiu na lista de permissões. Você precisa fornecer a chave CMEK de um projeto que esteja na lista de permissões para criar uma organização ou instâncias. Também é possível atualizar a restrição da política da organização constraints/gcp.restrictCmekCryptoKeyProjects para permitir chaves do projeto específico do Google Cloud que você quer usar.
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create a portal. Integrated portals do not support the use of CMEK. To use integrated portals, adjust the gcp.restrictNonCmekServices policy constraint. Você tentou criar um portal em que há uma restrição de política da organização para o projeto. A CMEK não é compatível com portais integrados. Você vai precisar atualizar a restrição da política da organização constraints/gcp.restrictNonCmekServices para remover a Apigee da lista de serviços negados e conseguir criar um novo portal.