Testar um cabeçalho de restrições da organização antes de configurar um proxy de saída

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, descrevemos como os administradores do Google Cloud podem testar restrições de organizações sem precisar configurar um proxy de saída.

Para criar e testar o cabeçalho de restrições da organização, faça o seguinte:

  1. Para encontrar o ID da organização do Google Cloud da organização, use o seguinte comando:

        gcloud organizations list
        DISPLAY_NAME: Organization A
        ID: 123456789
        DIRECTORY_CUSTOMER_ID: a1b2c3d4
    
  2. Depois de receber o ID da organização, escreva a representação JSON do valor do cabeçalho no seguinte formato:

     {
     "resources": ["organizations/123456789"]
      "options": "strict"
     }
    
  3. 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 for armazenada no arquivo authorized_orgs.json, o código a seguir será codificado usando basenc:

     $ OR_HEADER=`cat authorized_orgs.json | basenc --base64url -w0`
     $ echo $OR_HEADER
    ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXQogIm9wdGlvbnMiOiAic3RyaWN0Igp9Cgo=
    
  4. Para testar se a configuração do cabeçalho permite o acesso a um recurso em uma organização autorizada do Google Cloud, crie uma solicitação curl para um recurso em 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 return log entries in this project
    
  5. 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 para o recurso foi negada.

A seguir