Nesta página, descrevemos como os administradores do Google Cloud podem testar as restrições para organizações sem ter que configurar um proxy de saída.
Para criar e testar o cabeçalho restrições para organizações, faça o seguinte:
Para conseguir o ID da organização do Google Cloud, use o comando
gcloud organizations list
:gcloud organizations list
Veja a seguir o exemplo de saída:
DISPLAY_NAME: Organization A ID: 123456789 DIRECTORY_CUSTOMER_ID: a1b2c3d4
Depois de conseguir o ID da organização, escreva a representação JSON para o valor do cabeçalho no seguinte formato:
{ "resources": ["organizations/123456789"], "options": "strict" }
Codifique o valor do cabeçalho da solicitação seguindo as especificações da Seção 5 do RFC 4648.
Por exemplo, se a representação JSON do valor do cabeçalho estiver armazenada no arquivo
authorized_orgs.json
, a codificação a seguir será baseada em basenc:$ OR_HEADER=`cat authorized_orgs.json | basenc --base64url -w0` $ echo $OR_HEADER ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXQogIm9wdGlvbnMiOiAic3RyaWN0Igp9Cgo=
Para testar se a configuração do cabeçalho permite acesso a um recurso em uma organização autorizada do Google Cloud, crie uma solicitação curl para um recurso dentro de uma organização autorizada do Google Cloud. Veja um exemplo de solicitação curl:
# Get auth token $ TOKEN=$(gcloud auth print-access-token) # Make a request that includes the organization restriction header; this call makes a request to the logging API for a project within the same organization listed in the header $ curl -H "X-Goog-Allowed-Resources: ${OR_HEADER}" -X POST -d '{"projectIds": ["my-project-123"]}' -H 'Content-Type: application/json' -H "Authorization: Bearer ${TOKEN}" "https://logging.googleapis.com/v2/entries:list" # A successful request returns log entries in this project
Para testar se a configuração do cabeçalho nega acesso a um recurso que está fora da organização autorizada do Google Cloud, crie uma solicitação curl para um recurso fora de uma organização autorizada do Google Cloud. Veja um exemplo de solicitação curl:
# Get auth token $ TOKEN=$(gcloud auth print-access-token) # Make a request that includes the organization restriction header; this call makes a request to the logging API for a project not within the same organization listed in the header $ curl -H "X-Goog-Allowed-Resources: ${OR_HEADER}" -X POST -d '{"projectIds": ["other-project-123"]}' -H 'Content-Type: application/json' -H "Authorization: Bearer ${TOKEN}" "https://logging.googleapis.com/v2/entries:list" { "error": { "code": 403, "message": "Access denied by organization restriction. Contact your administrator for additional information.", "status": "PERMISSION_DENIED", "details": [ { "@type": "type.googleapis.com/google.rpc.ErrorInfo", "reason": "ORG_RESTRICTION_VIOLATION", "domain": "googleapis.com", "metadata": { "service": "logging.googleapis.com", "consumer": "other-project-123" } } ] } }
Uma mensagem de erro de acesso negado indica que a solicitação ao recurso foi negada.
A seguir
- Saiba mais sobre como usar restrições da organização.
- Saiba mais sobre os serviços compatíveis com as restrições da organização.