Provisionar sua organização com residência de dados

Este documento descreve como provisionar sua organização da Apigee com residência de dados apenas em repouso ou com residência de dados avançada.

Consulte também Introdução à residência de dados.

Provisionar sua organização com residência de dados apenas em repouso

Como administrador da Apigee, para provisionar sua organização com residência de dados apenas em repouso, para restringir onde os dados são armazenados, use uma das opções de provisionamento de organização paga disponíveis. Marque a caixa de seleção Ativar residência de dados durante o provisionamento.

Provisionar sua organização com residência de dados avançada

Como administrador da Apigee, para provisionar sua organização com residência de dados avançada, incluindo armazenamento de dados (em repouso), processamento (em uso) e transmissão (em trânsito), siga estas etapas.

# Etapa Descrição Realizada por
1 Criar uma pasta do Assured Workloads Crie uma pasta do Assured Workloads na sua Google Cloud organização para definir e aplicar as políticas da organização necessárias que restringem o uso de recursos apenas em locais permitidos. Google Cloud administrador com permissão de Administração do Assured Workloads
2 Provisionar com residência de dados avançada Provisione sua organização paga com residência de dados avançada usando uma das opções de provisionamento de organização paga disponíveis.

É necessário usar o console jurisdicional para acessar a interface da Apigee ou o endpoint regional para acessar as APIs da Apigee com base no local do plano de controle.

Administrador da organização da Apigee

Criar uma pasta do Assured Workloads

Observação: você precisa ser um Google Cloud administrador com permissão de administração do Assured Workloads para configurar uma pasta do Assured Workloads.

O Assured Workloads permite que as organizações apliquem e apliquem controles regulatórios, regionais e de soberania em Google Cloud recursos.

Usando o Google Cloud console, você cria uma pasta do Assured Workloads na sua Google Cloud organização e seleciona um pacote de controle com base nos requisitos regulamentares. Um pacote de controle é um conjunto de controles que, quando combinados, oferecem suporte à linha de base para uma estrutura de conformidade framework, statute, or regulation. O pacote de controle define e aplica as restrições de política da organização necessárias para:

  • Restringir o uso de recursos apenas aos produtos compatíveis
  • Permitir a criação ou o uso de recursos apenas em locais permitidos

Para mais informações sobre o Assured Workloads, consulte Visão geral do Assured Workloads.

Provisionar com residência de dados avançada

Observação: você precisa ser um administrador da organização da Apigee para provisionar uma organização paga com residência de dados avançada.

Como administrador da Apigee, ao provisionar sua organização paga usando uma das opções de provisionamento, você precisará usar o console jurisdicional para acessar a interface da Apigee ou o endpoint regional ao usar a CLI.

Usar o console jurisdicional

Ao provisionar sua organização com residência de dados avançada, você precisará usar o console jurisdicional baseado em local para acessar a interface da Apigee. Ao provisionar a organização da Apigee usando o console jurisdicional, os seguintes campos são configurados automaticamente:

  • Ativar residência de dados está selecionada (e não pode ser desmarcada)
  • As opções de jurisdição de hospedagem do plano de controle são filtradas com base no console jurisdicional em uso
  • Todos os outros seletores de região são filtrados para mostrar apenas locais na jurisdição de hospedagem do plano de controle selecionada

Para informações sobre como acessar o console jurisdicional, consulte Console Google Cloud jurisdicional e Responsabilidade compartilhada no Assured Workloads.

Usar o endpoint regional

Ao provisionar sua organização com residência de dados avançada, use o seguinte endpoint regional:

apigee.CONTROL_PLANE_LOCATION.rep.googleapis.com

Em que CONTROL_PLANE_LOCATION é o local físico em que os dados do plano de controle da Apigee serão armazenados. Para uma lista de locais do plano de controle disponíveis, consulte Usar endpoints regionais para residência de dados avançada.

Durante o provisionamento, você é responsável por selecionar os valores adequados. Se você usar um local proibido pelas políticas da organização em vigor, receberá um erro Permission Denied.

Por exemplo, o comando a seguir cria uma organização da Apigee na região dos EUA com a CMEK ativada. Consulte também a API Organizations da Apigee.

curl "https://apigee.us.rep.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID" \
  -X POST
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "$PROJECT_ID",
    "runtimeType": "CLOUD", # Hybrid organizations aren't supported
    "billingType": "$BILLING_TYPE", # Eval organizations aren't supported
    "controlPlaneEncryptionKeyName" : "'"$CONTROL_PLANE_KEY_ID"'",
    "apiConsumerDataLocation" : "'"$CONSUMER_DATA_REGION"'",  # Must be single region in US
    "apiConsumerDataEncryptionKeyName" : "'"$CONSUMER_DATA_KEY_ID"'",
    "authorizedNetwork" : "'"$NETWORK_NAME"'", # Must be created in the US region
    "runtimeDatabaseEncryptionKeyName" : "'"$RUNTIMEDB_KEY_ID"'"
  }'

Como criar chaves CMEK com nível de proteção externo usando a CLI gcloud

Ao provisionar sua organização da Apigee com residência de dados avançada na região da UE, é necessário criar chaves de criptografia gerenciadas pelo cliente (CMEK) com nível de proteção externo. É necessário usar a Google Cloud CLI para criar as chaves CMEK porque o console jurisdicional da UE não oferece suporte à configuração de chaves CMEK com suporte externo. Além disso, você precisará configurar um Gerenciador de chaves externo (EKM).

Para criar as chaves CMEK e configurar um EKM, siga as etapas descritas nas seções a seguir:

Configurar um EKM

As chaves CMEK criadas para a região da UE precisam ser criadas com nível de proteção externo, exigindo que você configure um EKM. Para configurar um EKM, siga as instruções fornecidas nas seções a seguir:

Criar as chaves CMEK para a região da UE

Crie as seguintes chaves CMEK necessárias para a região da UE usando os comandos da CLI gcloud descritos abaixo:

  • Chave de criptografia do plano de controle
  • Chave de criptografia de dados do consumidor da API
  • Chave de criptografia do banco de dados no ambiente de execução
  • Chave de criptografia do disco de ambiente de execução

Para mais informações sobre como criar chaves CMEK, consulte Sobre as chaves de criptografia da Apigee.

Repita as etapas a seguir para criar cada uma das chaves CMEK necessárias:

  1. Crie um keyring na região da UE usando o seguinte comando:
    gcloud kms keyrings create DATA_KEY_RING \
          --location LOCATION \
          --project=PROJECT_ID
        
  2. Crie uma chave externa usando o seguinte comando:
    gcloud kms keys create DATA_KEY_NAME \
          --keyring=DATA_KEY_RING \
          --location LOCATION \
          --purpose encryption \
          --protection-level external \
          --skip-initial-version-creation \
          --default-algorithm external-symmetric-encryption \
          --project PROJECT_ID
        
  3. Crie uma versão de chave que aponte para o EKM configurado na etapa anterior usando o seguinte comando:
    gcloud kms keys versions create \
      --key DATA_KEY_NAME \
      --keyring DATA_KEY_RING \
      --location LOCATION \
      --external-key-uri "EKM_URI" \
      --primary \
      --project PROJECT_ID
        
  4. Conceda permissões ao agente de serviço da Apigee usando o seguinte comando:
    gcloud kms keys add-iam-policy-binding DATA_KEY_NAME \
          --location LOCATION \
          --keyring DATA_KEY_RING \
          --member serviceAccount:service-$(gcloud projects describe $project --format="value(projectNumber)")@gcp-sa-apigee.iam.gserviceaccount.com \
          --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
          --project PROJECT_ID
        

Em que:

  • DATA_KEY_RING: o nome do keyring do plano de controle, dos dados do consumidor da API, banco de dados do ambiente de execução ou do disco do ambiente de execução.
  • DATA_KEY_NAME: o nome do plano de controle, dos dados do consumidor da API, banco de dados do ambiente de execução ou da chave do disco do ambiente de execução.
  • LOCATION: o local do Cloud KMS do keyring. Defina esse valor da seguinte maneira:
    • Para a chave de criptografia do plano de controle, defina como uma das seguintes chaves multirregionais: us ou europe.
    • Para a chave de criptografia de dados do consumidor da API, a chave de criptografia do banco de dados do ambiente de execução e a chave de criptografia do disco do ambiente de execução, defina como uma das seguintes chaves de região única: europe-* ou us-*. Por exemplo, europe-west1, us-central1 e assim por diante.
  • EKM_URI: o URI do EKM.
  • PROJECT_ID: o Google Cloud ID do projeto.

Configurar a CLI gcloud para usar o endpoint regional (opcional)

É possível gerenciar sua organização da Apigee usando a CLI gcloud. Para a maioria das organizações, a CLI gcloud detecta automaticamente o endpoint regional apropriado. Isso funciona perfeitamente se o nome da organização da Apigee corresponder ao Google Cloud nome do projeto.

Em alguns casos, no entanto, os nomes podem não corresponder. Por exemplo, se você migrou a organização da Apigee de um Google Cloud projeto para outro, os nomes da organização da Apigee e do Google Cloud projeto em que ela reside podem ser diferentes. Nesse caso, será necessário fazer uma das seguintes ações ao usar a CLI gcloud:

  • Transmita a flag --organization com cada comando da CLI gcloud para especificar a organização da Apigee de destino.
  • Configure a CLI gcloud para substituir o endpoint da Apigee e forçar todos os comandos a usar o novo endpoint regional.

    Por exemplo, para usar o endpoint regional dos EUA, o comando da CLI gcloud é o seguinte:

    gcloud config set api_endpoint_overrides/apigee https://apigee.us.rep.googleapis.com/

Conferir o local do plano de controle de uma organização

Se você já provisionou sua organização (PROJECT_ID) para uso com residência de dados, use a getProjectMapping API para conferir o local do plano de controle associado a um projeto seguindo estas etapas:

  1. Autorize gcloud para acessar o Cloud Platform com suas credenciais de usuário do Google:
    gcloud auth login
  2. Chame a API getProjectMapping.

    Como as informações acessadas são metadados e não conteúdo principal do cliente, é possível usar o endpoint global ou regional para chamar a API. O comando a seguir usa o endpoint global:

    curl -X GET https://apigee.googleapis.com/v1/organizations/PROJECT_ID:getProjectMapping \
        -H "Authorization: Bearer $(gcloud auth print-access-token)"

    Em que PROJECT_ID é o nome da sua organização da Apigee.

    Veja a seguir um exemplo de resposta:

    {
      "organization": "my-project",
      "projectIds": [
        "my-project"
      ],
      "projectId": "my-project"
      "location": "us"
    }

Migrar uma organização da Apigee para oferecer suporte à residência de dados avançada

Para migrar uma organização da Apigee atual que oferece suporte à residência de dados em repouso para oferecer suporte à residência de dados avançada, faça o seguinte:

  1. Mova o Google Cloud projeto em que a Apigee é provisionada para uma pasta do Assured Workloads. Para mais informações, consulte Migrar uma carga de trabalho.
  2. Se você criou sua organização da Apigee antes que a residência de dados avançada estivesse disponível para todos, será necessário reconfigurar seus recursos de rede global para migrá-los para a jurisdição necessária. Caso contrário, pule esta etapa.