Restringir el uso de recursos

En esta página se ofrece una descripción general de la restricción de política de organización Restringe el uso del servicio de recursos, que permite a los administradores de empresas controlar qué Google Cloud servicios se pueden usar en su Google Cloud jerarquía de recursos. Esta restricción solo se puede aplicar a los servicios con recursos que sean descendientes directos de un recurso de organización, carpeta o proyecto. Por ejemplo, Compute Engine y Cloud Storage.

La restricción Restrict Resource Service Usage excluye y no funciona con determinados servicios que son dependencias esenciales de los productos de Google Cloud, como Gestión de identidades y accesos (IAM), Cloud Logging y Cloud Monitoring. Para consultar la lista de servicios de recursos en la nube compatibles con esta restricción, consulta Servicios compatibles con la restricción de uso de recursos.

Los administradores pueden usar esta restricción para definir restricciones jerárquicas en los servicios de recursos Google Cloud permitidos dentro de un contenedor de recursos, como una organización, una carpeta o un proyecto. Por ejemplo, permitir storage.googleapis.com en el proyecto X o denegar compute.googleapis.com en la carpeta Y. Esta restricción también determina la Google Cloud disponibilidad de la consola.

La restricción Restringir el uso del servicio de recursos se puede usar de dos formas mutuamente excluyentes:

  • Lista de denegación: se permiten los recursos de cualquier servicio que no esté denegado.

  • Lista de permitidos: se deniegan los recursos de cualquier servicio que no esté permitido.

La restricción Restrict Resource Service Usage controla el acceso en tiempo de ejecución a todos los recursos incluidos en el ámbito. Cuando se actualiza la política de la organización que contiene esta restricción, se aplica inmediatamente a todos los accesos a todos los recursos incluidos en el ámbito de la política, con una coherencia final.

Recomendamos que los administradores gestionen cuidadosamente las actualizaciones de las políticas de la organización que contengan esta restricción. Puedes implementar este cambio de política de forma más segura usando etiquetas para aplicar la restricción de forma condicional. Para obtener más información, consulta Configurar una política de organización con etiquetas.

Cuando un servicio esté restringido por esta política, algunos Google Cloud servicios que dependan directamente del servicio restringido también se restringirán. Esto solo se aplica a los servicios que gestionan los mismos recursos de cliente. Por ejemplo, Google Kubernetes Engine (GKE) depende de Compute Engine. Si Compute Engine está restringido, GKE también lo estará.

Disponibilidad de la consolaGoogle Cloud

Los servicios restringidos de la consola de Google Cloud se comportan de la siguiente manera:

  • No puedes ir a un producto con el menú .
  • Los servicios restringidos no aparecen en los resultados de búsqueda de la consola. Google Cloud
  • Cuando accedes a la página de la consola de un servicio restringido (por ejemplo, a través de un enlace o un marcador), aparece un mensaje de error. Google Cloud

Usar la restricción Restrict Resource Service Usage

Las restricciones de las políticas de organización se pueden definir a nivel de organización, carpeta y proyecto. Cada política se aplica a todos los recursos de su jerarquía de recursos correspondiente, pero se puede anular en los niveles inferiores de la jerarquía de recursos.

Para obtener más información sobre la evaluación de políticas, consulta Información sobre la evaluación de la jerarquía.

Definir la política de la organización

Para definir, cambiar o eliminar una política de organización, debes tener el rol Administrador de políticas de organización.

Consola

Para definir una política de organización que incluya una restricción de uso del servicio de recursos, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. En el selector de proyectos, selecciona el recurso en el que quieras definir la política de organización.

  3. En la tabla de políticas de la organización, seleccione Restringir el uso del servicio de recursos.

  4. Haz clic en Gestionar política.

  5. En Se aplica a, selecciona Anular política del recurso superior.

  6. En Aplicación de la política, elige cómo aplicar la herencia a esta política.

    1. Si quieres heredar la política de organización del recurso superior y combinarla con esta, selecciona Combinar con recurso superior.

    2. Si quieres anular alguna política de la organización, selecciona Reemplazar.

  7. Haz clic en Añadir regla.

  8. En Valores de la política, selecciona Personalizado.

  9. En Tipo de política, selecciona Denegar para la lista de denegación o Permitir para la lista de permisos.

  10. En Valores personalizados, añade el servicio que quieras bloquear o permitir a la lista.

    1. Por ejemplo, para bloquear Cloud Storage, puedes introducir storage.googleapis.com.

    2. Para añadir más servicios, haz clic en Añadir valor.

  11. Para aplicar la política, haz clic en Definir política.

gcloud

Las políticas de la organización se pueden definir mediante Google Cloud CLI. Para aplicar una política de organización que incluya la restricción Restrict Resource Service Usage (Restringir el uso del servicio de recursos), primero crea un archivo YAML con la política que quieras actualizar:

name: organizations/ORGANIZATION_ID/policies/gcp.restrictServiceUsage
spec:
  rules:
  - values:
      deniedValues:
      - file.googleapis.com
      - bigquery.googleapis.com
      - storage.googleapis.com

Sustituye ORGANIZATION_ID por el ID del recurso de tu organización. Para definir esta política en esa organización, ejecuta el siguiente comando:

gcloud org-policies set-policy /tmp/policy.yaml

Para obtener información sobre cómo usar restricciones en las políticas de organización, consulta Usar restricciones.

Restringir recursos sin etiquetar

Puede usar etiquetas y políticas de organización condicionales para restringir cualquier recurso que no use una etiqueta concreta. Si defines una política de organización en un recurso que restringe los servicios y la condicionas a la presencia de una etiqueta, no se podrá usar ningún recurso secundario de ese recurso a menos que se haya etiquetado. De esta forma, los recursos se deben configurar de acuerdo con tu plan de gobernanza para poder usarlos.

Para restringir los recursos de una organización, una carpeta o un proyecto que no tengan etiquetas, puedes usar el operador lógico ! en una consulta condicional al crear tu política de organización.

Por ejemplo, para permitir el uso de sqladmin.googleapis.com solo en proyectos que tengan la etiqueta sqladmin=enabled, puedes crear una política de organización que deniegue sqladmin.googleapis.com en proyectos que no tengan la etiqueta sqladmin=enabled.

  1. Crea una etiqueta que identifique si los recursos se han gestionado correctamente. Por ejemplo, puedes crear una etiqueta con la clave sqlAdmin y el valor enabled para indicar que este recurso debe permitir el uso de la API Admin de Cloud SQL. Por ejemplo:

    Crear una clave y un valor de etiqueta

  2. Haz clic en el nombre de la etiqueta que acabas de crear. Necesitará el nombre con espacio de nombres de la clave de etiqueta, que se indica en Ruta de la clave de etiqueta, en los pasos siguientes para crear una condición.

  3. Crea una política de la organización Restringir el uso del servicio de recursos en el nivel de tu recurso de organización para denegar el acceso a la API Cloud SQL Admin. Por ejemplo:

    Crear una política de organización para restringir recursos

  4. Añade una condición a la política de organización anterior para especificar que la política se aplica si no está presente la etiqueta de gobernanza. El creador de condiciones no admite el operador lógico NOT, por lo que esta condición debe crearse en el editor de condiciones. Por ejemplo:

    Crear una política de organización condicional

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

Ahora, la etiqueta sqlAdmin=enabled debe estar asociada a un proyecto o heredarse de él para que tus desarrolladores puedan usar la API Admin de Cloud SQL con ese proyecto.

Para obtener más información sobre cómo crear políticas de organización condicionales, consulta Configurar una política de organización con etiquetas.

Crear una política de la organización en modo de prueba de funcionamiento

Una política de la organización en modo de prueba es un tipo de política de la organización en el que las infracciones de la política se registran en la auditoría, pero las acciones infractoras no se deniegan. Puedes crear una política de organización en modo de prueba con la restricción Restringir el uso del servicio de recursos para monitorizar cómo afectaría a tu organización antes de aplicar la política activa. Para obtener más información, consulta Crear una política de organización en modo de prueba.

Mensaje de error

Si defines una política de organización para denegar el servicio A en la jerarquía de recursos B, cuando un cliente intente usar el servicio A en la jerarquía de recursos B, la operación fallará. Se devuelve un error que describe el motivo de este fallo. Además, se genera una entrada AuditLog para monitorizar, enviar alertas o depurar.

Ejemplo de mensaje de error

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Ejemplos de registros de auditoría de Cloud

Captura de pantalla de un ejemplo de entrada de registro de auditoría