Prueba un encabezado de restricciones de la organización antes de configurar un proxy de salida

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta página, se describe cómo los administradores de Google Cloud pueden probar las restricciones de la organización sin tener que configurar un proxy de salida.

Para crear y probar el encabezado de restricciones de la organización, haz lo siguiente:

  1. Obtén el ID de organización de Google Cloud mediante el siguiente comando:

        gcloud organizations list
        DISPLAY_NAME: Organization A
        ID: 123456789
        DIRECTORY_CUSTOMER_ID: a1b2c3d4
    
  2. Después de obtener el ID de la organización, redacta la representación JSON para el valor del encabezado en el siguiente formato:

     {
     "resources": ["organizations/123456789"]
      "options": "strict"
     }
    
  3. Codifica el valor del encabezado de la solicitud según las especificaciones de la sección 5 de la RFC 4648.

    Por ejemplo, si la representación JSON del valor del encabezado se almacena en el archivo authorized_orgs.json, la siguiente es la codificación a través de basenc:

     $ OR_HEADER=`cat authorized_orgs.json | basenc --base64url -w0`
     $ echo $OR_HEADER
    ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiXQogIm9wdGlvbnMiOiAic3RyaWN0Igp9Cgo=
    
  4. Para probar si la configuración del encabezado permite el acceso a un recurso dentro de una organización autorizada de Google Cloud, crea una solicitud curl a un recurso dentro de una organización autorizada de Google Cloud. A continuación, se muestra un ejemplo de una solicitud 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 probar si la configuración del encabezado rechaza el acceso a un recurso que está fuera de la organización autorizada de Google Cloud, crea una solicitud curl a un recurso fuera de una organización autorizada de Google Cloud. A continuación, se muestra un ejemplo de una solicitud 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"
            }
          }
        ]
      }
    }
    
    

    Un mensaje de error de acceso denegado indica que se rechazó la solicitud al recurso.

¿Qué sigue?