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:
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
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" }
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=
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
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?
- Obtén más información sobre cómo usar las restricciones de organización.
- Obtén más información sobre los servicios compatibles con las restricciones de la organización.