Configurar políticas de imágenes de confianza


De forma predeterminada, los usuarios de tu proyecto pueden crear discos persistentes o copiar imágenes usando cualquiera de las imágenes públicas y cualquier imagen a la que las entidades puedan acceder mediante roles de gestión de identidades y accesos. Sin embargo, en algunas situaciones, puede que quieras restringir los principales para que solo puedan crear discos de arranque a partir de imágenes que contengan software aprobado que cumpla tus políticas o requisitos de seguridad.

Usa la función de imagen de confianza para definir una política de organización que permita a las entidades crear discos persistentes solo a partir de imágenes de proyectos específicos.

Para restringir las ubicaciones en las que se pueden usar tus imágenes, consulta el artículo sobre cómo restringir el uso de tus imágenes, discos y copias de seguridad compartidos.

Antes de empezar

  • Consulta la página Usar restricciones para obtener información sobre cómo gestionar políticas a nivel de organización.
  • Consulta la página Información sobre la evaluación jerárquica para saber cómo se propagan las políticas de la organización.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Limitaciones

  • Las políticas de imágenes de confianza no restringen el acceso a las siguientes imágenes:

  • Las políticas de imágenes de confianza no impiden que los usuarios creen recursos de imágenes en sus proyectos locales.

Definir restricciones de acceso a las imágenes

Implementa una política de acceso a imágenes definiendo una compute.trustedImageProjects restricción en tu proyecto, tu carpeta o tu organización. Para poder establecer estas restricciones, debes tener permiso para modificar las políticas de la organización. Por ejemplo, roles/orgpolicy.policyAdmin tiene permiso para definir estas restricciones. Para obtener más información sobre cómo gestionar políticas a nivel de proyecto, carpeta u organización, consulta el artículo Usar restricciones.

Puedes definir restricciones en todas las imágenes públicas disponibles en Compute Engine. Para ver una lista de los nombres de los proyectos de imágenes, consulta Detalles de los sistemas operativos. También puedes restringir las imágenes de aprendizaje automático (ML) que están disponibles en Compute Engine mediante el proyecto ml-images. Si usas Acceso a VPC sin servidor, concede permiso a tu proyecto para usar imágenes de máquinas virtuales de Compute Engine del proyecto serverless-vpc-access-images.

Usa la Google Cloud consola o la CLI de Google Cloud para definir restricciones en el acceso a las imágenes.

Consola

Por ejemplo, para definir una restricción a nivel de proyecto, haz lo siguiente:

  1. Ve a la página Políticas de la organización.

    Ir a Políticas de organización

  2. En la lista de políticas, haga clic en Define trusted image projects (Definir proyectos de imágenes de confianza). Se mostrará la página Detalles de la política.

  3. En la página Detalles de la política, haz clic en Gestionar política. Se mostrará la página Editar política.

  4. En la página Editar política, selecciona Personalizar.

  5. En Aplicación de la política, selecciona una opción. Para obtener información sobre la herencia y la jerarquía de recursos, consulta el artículo Información sobre la evaluación jerárquica.

  6. Haz clic en Añadir regla.

  7. En la lista Valores de la política, puede seleccionar si esta política de la organización debe permitir el acceso a todos los proyectos de imágenes o denegarlo, o bien especificar un conjunto personalizado de proyectos a los que se debe permitir o denegar el acceso.

    Para definir la regla de la política, elija una de las siguientes opciones:

    • Para permitir que los usuarios creen discos de arranque a partir de todas las imágenes públicas, selecciona Permitir todas.
    • Para impedir que los usuarios creen discos de arranque a partir de todas las imágenes públicas, selecciona Denegar todo.
    • Para especificar un conjunto de imágenes públicas a partir de las cuales los usuarios pueden crear discos de arranque, selecciona Personalizar. Se muestran los campos Tipo de política y Valores personalizados.

      1. En la lista Tipo de política, selecciona Permitir o Denegar.
      2. En el campo Valores personalizados, introduce el nombre del proyecto de imagen con el formato projects/IMAGE_PROJECT.

        Sustituye IMAGE_PROJECT por el proyecto de imagen en el que quieras definir la restricción.

        Puedes añadir varios proyectos de imagen. Para añadir cada proyecto de imagen, haz clic en Añadir e introduce el nombre del proyecto de imagen.

  8. Para guardar la regla, haz clic en Hecho.

  9. Para guardar y aplicar la política de la organización, haz clic en Guardar.

Para obtener más información sobre cómo crear políticas de la organización, consulta el artículo Crear y gestionar políticas de la organización.

gcloud

Por ejemplo, para definir una restricción a nivel de proyecto, haz lo siguiente:

  1. Consulta los ajustes de políticas de tu proyecto con el comando resource-manager org-policies describe.

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    Sustituye PROJECT_ID por el ID del proyecto.

  2. Abre el archivo policy.yaml en un editor de texto y modifica la restricción compute.trustedImageProjects. Añade las restricciones que necesites y elimina las que ya no requieras. Cuando hayas terminado de editar el archivo, guarda los cambios. Por ejemplo, puede definir la siguiente entrada de restricción en su archivo de política:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allowedValues:
        - projects/debian-cloud
        - projects/cos-cloud
     deniedValues:
        - projects/IMAGE_PROJECT
    

    Sustituye IMAGE_PROJECT por el nombre del proyecto de imagen que quieras restringir en tu proyecto.

    Si quieres, puedes denegar el acceso a todas las imágenes que no sean las imágenes personalizadas de tu proyecto. En ese caso, utiliza el siguiente ejemplo:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allValues: DENY
    

  3. Aplica el archivo policy.yaml a tu proyecto. Si tu organización o carpeta ya tiene restricciones, es posible que estas entren en conflicto con las restricciones a nivel de proyecto que hayas definido. Para aplicar la restricción, usa el comando resource-manager org-policies set-policy.

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    Sustituye PROJECT_ID por el ID del proyecto.

Cuando hayas terminado de configurar las restricciones, pruébalas para asegurarte de que se aplican las restricciones que necesitas.

Siguientes pasos