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

Esta página descreve como Google Cloud os administradores podem testar as restrições da organização 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 conferir o ID Google Cloud da organização, use o comando gcloud organizations list:

        gcloud organizations list
    

    Confira abaixo um exemplo de saída:

        DISPLAY_NAME: Organization A
        ID: 123456789
        DIRECTORY_CUSTOMER_ID: a1b2c3d4
    
  2. Depois de receber o ID da organização, crie a representação JSON do valor do cabeçalho neste formato:

     {
     "resources": ["organizations/123456789"],
      "options": "strict"
     }
    
  3. Codifique o valor do cabeçalho da solicitação seguindo as especificações da seção 5 da RFC 4648.

    Por exemplo, se a representação JSON do valor do cabeçalho for armazenada no arquivo authorized_orgs.json, a codificação por basenc será a seguinte:

     $ 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çãoGoogle Cloud autorizada, crie uma solicitação curl para um recurso em uma organizaçãoGoogle Cloud autorizada. Confira 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
    
  5. Para testar se a configuração do cabeçalho nega o acesso a um recurso fora da organização Google Cloud autorizada, crie uma solicitação curl para um recurso fora de uma organização Google Cloud autorizada. Confira 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