En esta página, se proporciona una descripción general de la restricción de política de la organización Restrict Endpoint Usage, que permite a los administradores empresariales controlar qué extremos de la API de Google Cloud se pueden usar dentro de su jerarquía de recursos de Google Cloud .
Los administradores pueden usar esta restricción para definir restricciones jerárquicas en los extremos de API Google Cloud permitidos, como los extremos globales, regionales o de ubicación. Por ejemplo, puedes configurar un proyecto para rechazar solicitudes al extremo bigquery.googleapis.com global, pero permitir solicitudes al extremo LOCATION-bigquery.googleapis.com de ubicación. Al restringir el uso del extremo de API global, las organizaciones pueden cumplir con los requisitos de cumplimiento, ya que se aseguran de que solo se usen los endpoints regionales o de ubicación permitidos.
La restricción Restrict Endpoint Usage se establece con una lista de bloqueo, lo que permite solicitudes a cualquier extremo de API de los servicios admitidos que no se hayan bloqueado de forma explícita.
Esta restricción controla el acceso en el tiempo de ejecución a todos los recursos dentro del alcance. Cuando se actualiza la política de la organización que contiene esta restricción, se aplica de inmediato a todos los recursos dentro del alcance de la política, con coherencia eventual.
Recomendamos que los administradores gestionen con cuidado las actualizaciones de las políticas de la organización que contengan esta restricción. Por ejemplo, deberías considerar establecer la política en el modo de ejecución de prueba para supervisar cómo un cambio en la política afectaría tus flujos de trabajo existentes antes de que se aplique.
Tipos de extremo de API
Un extremo de API (o extremo de servicio) es una URL que especifica la dirección de red de un servicio de la API de Google Cloud , como bigquery.googleapis.com.
Los servicios deGoogle Cloud permiten el acceso a los recursos a través de diferentes tipos de extremos de API, incluidos los extremos globales, de ubicación y regionales. La compatibilidad con cada tipo depende del servicio.
Extremos de API globales
Los extremos de la API global no especifican la ubicación en el nombre de host de la URL. Estos extremos con alcance global proporcionan extremos de servicio de alta disponibilidad que finalizan la sesión de TLS lo más cerca posible del cliente, lo que minimiza la latencia cuando se entregan llamadas a la API desde una población de clientes dispersa a través de Internet. Sin embargo, estos extremos no proporcionan aislamiento regional ni cumplimiento de la residencia de datos.
Para las aplicaciones que pueden controlar las dependencias globales y necesitan un rendimiento rápido de la red global de Google, puedes usar extremos globales.
Los extremos globales tienen el siguiente formato:
SERVICE.googleapis.com
Aquí SERVICE es el nombre del servicio de Google Cloud , como storage, compute o bigquery.
Extremos de API de ubicación
Los extremos de la API regionales reemplazarán los extremos de ubicación. Los extremos de ubicación son nombres de host de servicio regionales o multirregionales que puedes usar para acceder a los datos en una ubicación determinada.
Sin embargo, los extremos locales no admiten las siguientes funciones:
- Conexiones que cumplen con la residencia de datos desde las instalaciones locales a través de Internet
- Aislamiento del dominio de falla
Los extremos de ubicación especifican la ubicación en el nombre de host de la URL y tienen el siguiente formato:
LOCATION-SERVICE.googleapis.com
LOCATION: El nombre de la región de Google Cloud , comous-central1,europe-west1ous.SERVICE: Es el nombre del servicio de Google Cloud , comostorage,computeobigquery.
Extremos de APIs regionales
Los extremos de API regionales proporcionan acceso a los servicios de Google Cloud a través de un extremo de API que se limita a una sola región de Google Cloud . El tráfico que se envía a un extremo regional se procesa y la conexión TLS finaliza por completo dentro de la región especificada.
En la mayoría de los servicios de Google Cloud , puedes usar extremos regionales para trabajar con recursos regionales dentro de la región especificada. Por lo general, las operaciones en recursos globales, recursos multirregionales y recursos regionales fuera de la región no se admiten desde el extremo regional.
Los extremos de API regionales especifican la ubicación como un subdominio. Los extremos regionales públicos tienen el siguiente formato:
SERVICE.REGION.rep.googleapis.com
SERVICE: Es el nombre del servicio de Google Cloud , comostorage,computeobigquery.REGION: Es el nombre de la región Google Cloud , comous-central1oeurope-west1.
Los extremos de la API regional privada tienen el siguiente formato:
SERVICE.REGION.p.rep.googleapis.com
SERVICE: Es el nombre del servicio de Google Cloud , comostorage,computeobigquery.REGION: Es el nombre de la región Google Cloud , comous-central1oeurope-west1..p.: Indica un destino privado previsto para la conectividad de Private Service Connect.
Limitaciones
La restricción Restrict Endpoint Usage controla la capacidad de usar extremos de API específicos para acceder a tus recursos. No se debe confundir con otras restricciones similares, como las siguientes:
- Restricción de ubicación de recursos, que controla dónde se pueden crear recursos y dónde no
- Restricción de Restrict Resource Service Usage, que controla qué servicios de recursos se pueden usar.
Para evitar romper la infraestructura de servicio existente, prueba cualquier política de la organización nueva en proyectos y carpetas que no sean de producción y, luego, aplica la política gradualmente dentro de tu organización.
Esta restricción se aplica a un subconjunto específico de productos y tipos de recursos. Para obtener una lista de los servicios admitidos y detalles sobre el comportamiento de cada servicio, consulta la sección Extremos de API admitidos.
Para conocer los compromisos de almacenamiento de datos, consulta las Google Cloud Condiciones del Servicio y las Condiciones del Servicio Específicas. Las políticas de la organización que contienen la restricción de uso de extremo restringido no son compromisos de residencia de datos.
Establece la política de la organización
Si deseas establecer, cambiar o borrar una política de la organización, debes tener la función de Administrador de políticas de la organización.
Las restricciones de la política de la organización se pueden establecer a nivel de la organización, la carpeta y el proyecto. Cada política se aplica a todos los recursos dentro de su jerarquía de recursos correspondiente, pero se puede anular en niveles inferiores de la jerarquía de recursos.
Para obtener más información sobre la evaluación de políticas, consulta Comprende la evaluación de jerarquías.
La restricción de uso de extremo es un tipo de restricción de lista.
Puedes agregar y quitar extremos de las listas de denied_values de la restricción.
Console
Ve a la página Políticas de la organización en la consola de Google Cloud .
En el selector de proyectos, selecciona la organización, la carpeta o el proyecto para el que deseas establecer la política de la organización.
En la tabla de políticas de la organización, selecciona Restringir el uso de extremos para abrir su página Detalles de la política.
Haz clic en Administrar política.
En Se aplica a, selecciona Personalizar.
En Aplicación de la política, elige cómo aplicar la herencia a esta política.
Si deseas heredar la política de la organización del recurso superior y combinarla con esta, selecciona Combinar con superior.
Si deseas anular las políticas de una organización existente, selecciona Reemplazar.
Haz clic en Agregar una regla.
En Valores de la política, selecciona Personalizar.
En Tipo de política, selecciona Rechazar para crear una lista de extremos rechazados.
En Valores personalizados, agrega el nombre de host del extremo de API que deseas bloquear a la lista.
Por ejemplo, para bloquear el extremo de API global de BigQuery, ingresa
bigquery.googleapis.com.Para agregar más extremos, haz clic en Agregar valor.
Para aplicar la política, haz clic en Guardar.
gcloud
Las políticas de la organización se pueden configurar con el comando gcloud resource-manager org-policies set-policy. Para aplicar una política de la organización que incluya la restricción Restrict Endpoint Usage, primero crea un archivo YAML con la política que se actualizará:
constraint: constraints/gcp.restrictEndpointUsage
listPolicy:
deniedValues:
- storage.googleapis.com
- content-bigqueryreservation.googleapis.com
- bigquerystorage.mtls.googleapis.com
- logging.googleapis.com
Reemplaza los siguientes valores de marcador de posición por los tuyos antes de ejecutar el comando:
- RESOURCE_TYPE: Es el tipo de recurso, ya sea un proyecto o una carpeta. Por ejemplo:
project. - RESOURCE_ID: Es el ID del recurso del proyecto o la carpeta. Por ejemplo:
8767234
gcloud resource-manager org-policies set-policy \ --RESOURCE_TYPE='RESOURCE_ID' /tmp/policy.yaml
La respuesta contiene la política de la organización recién establecida:
constraint: constraints/gcp.restrictEndpointUsage etag: CKCRl6oGEPjG-tMB listPolicy: deniedValues: - storage.googleapis.com - content-bigqueryreservation.googleapis.com - bigquerystorage.mtls.googleapis.com - logging.googleapis.com updateTime: '2023-11-04T04:29:20.444507Z'
Si una solicitud a un extremo de API denegado intenta acceder a un recurso, la solicitud fallará y se devolverá un error que describa el motivo de la falla.
Crea una política de la organización en modo de ejecución de prueba
Una política de la organización en modo de ejecución de prueba es un tipo de política de la organización en la que se registran los incumplimientos de la política en el registro de auditoría, pero no se rechazan las acciones que incumplen la política. Puedes crear una política de la organización en el modo de ejecución de prueba con la restricción Restrict Endpoint Usage para supervisar cómo afectaría a tu organización antes de aplicar la política activa. Para obtener más información, consulta Crea una política de la organización en modo de ejecución de prueba.
Mensaje de error
Si configuras una política de la organización para rechazar un extremo, fallarán las operaciones que usen ese extremo dentro de tu jerarquía de recursos. Se muestra un error que describe el motivo de esta falla. Además, se genera una entrada de registro de auditoría para una mayor supervisión, alertas o depuración.
Ejemplo de mensaje de error
En el siguiente ejemplo, una solicitud de curl que usa el extremo de API storage.googleapis.com falla debido a la aplicación de políticas:
curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media" Access to projects/foo-123 through endpoint storage.googleapis.com was denied by the constraints/gcp.restrictEndpointUsage organization policy constraint. To access this resource, please use an allowed endpoint.
Ejemplo de entrada de registro de auditoría
En la siguiente entrada de registro de auditoría de ejemplo, se muestra cuándo se deniega el acceso a un recurso:
{ logName: "projects/my-projectid/logs/cloudaudit.googleapis.com%2Fpolicy" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" status: { code: 7 message: "Access to projects/my-projectid through endpoint bigquery.googleapis.com was denied by the constraints/gcp.restrictEndpointUsage organization policy constraint. To access this resource, please use an allowed endpoint." } serviceName: "bigquery.googleapis.com" methodName: "google.cloud.bigquery.v2.TableDataService.InsertAll" resourceName: "projects/my-projectid" authenticationInfo: { principalEmail: "user_or_service_account@example.com" } } requestMetadata: { callerIp: "123.123.123.123" } policyViolationInfo: { orgPolicyViolationInfo: { violationInfo: [ { constraint: "constraints/gcp.restrictEndpointUsage" checkedValue: "bigquery.googleapis.com" constraintViolationInfo: { @type: "type.googleapis.com/google.cloud.audit.RestrictEndpointUsageViolationInfo" tlsTerminationRegionCode: "US" } errorMessage: "Restrict endpoint usage Org Policy is violated" policyType: LIST_CONSTRAINT } ] } } resource: { type: "audited_resource" labels: { project_id: "224034263908" method: "google.cloud.bigquery.v2.TableDataService.InsertAll" service: "bigquery.googleapis.com" } } severity: "ERROR" timestamp: "2024-12-05T01:15:30.332519510Z" receiveTimestamp: "2024-08-15T17:55:01.159788588Z" insertId: "42" }
Endpoints de API compatibles
La restricción Restrict Endpoint Usage admite extremos de API para los productos que se indican en la siguiente tabla.
Para cada producto, la tabla proporciona el extremo de API global principal. Sin embargo, cada producto también puede admitir una variante de SERVICE_NAME.mtls.googleapis.com o una variante de content-SERVICE_NAME.googleapis.com de su extremo de API global, como pubsub.mtls.googleapis.com o content-pubsub.googleapis.com. Para restringir todas las variantes del extremo de API global de un producto, puedes usar un grupo de valores. Además, la restricción de uso de extremos admite los extremos de API regionales y de ubicación para estos productos. Consulta la documentación de la API del producto para determinar la lista completa de extremos globales, regionales y de ubicación disponibles.
| Producto | extremos de API | Notas |
|---|---|---|
| API Gateway |
Extremos de API globales:
|
Ninguno |
| Claves de API |
Extremos de API globales:
|
Ninguno |
| Aprobación de acceso |
Extremos de API globales:
|
Ninguno |
| Access Context Manager |
Extremos de API globales:
|
Ninguno |
| Centro de APIs de Apigee |
Extremos de API globales:
|
Ninguno |
| API de administración de APIs de Apigee |
Extremos de API globales:
|
Ninguno |
| API de Apigee Connect |
Extremos de API globales:
|
Ninguno |
| API del portal de Apigee |
Extremos de API globales:
|
Ninguno |
| API de Apigee Registry |
Extremos de API globales:
|
Ninguno |
| Apigee |
Extremos de API globales:
|
Ninguno |
| API de App Config Manager |
Extremos de API globales:
|
Ninguno |
| Application Design Center |
Extremos de API globales:
|
Ninguno |
| Application Integration |
Extremos de API globales:
|
Ninguno |
| Artifact Analysis |
Extremos de API globales:
|
Ninguno |
| Artifact Registry |
Extremos de API globales:
|
Ninguno |
| Assured Open Source Software |
Extremos de API globales:
|
Ninguno |
| Assured Workloads |
Extremos de API globales:
|
Ninguno |
| Gestor de auditorías |
Extremos de API globales:
|
Ninguno |
| API de Authorization Toolkit |
Extremos de API globales:
|
Ninguno |
| Servicio Backup and DR |
Extremos de API globales:
|
Ninguno |
| Copia de seguridad para GKE |
Extremos de API globales:
|
Ninguno |
| Lote |
Extremos de API globales:
|