Administra la creación de reservas compartidas

De forma predeterminada, los proyectos no pueden crear ni modificar reservas compartidas. En este documento, se explica cómo permitir o restringir que los proyectos de tu Google Cloud organización creen y modifiquen reservas compartidas. Las reservas compartidas te ayudan a maximizar el uso de la capacidad reservada en todos los proyectos, así como a administrar una reserva en lugar de muchas.

Para obtener más información sobre las prácticas recomendadas para crear y usar reservas compartidas, consulta Prácticas recomendadas para las reservas compartidas.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Selecciona la pestaña según cómo planeas usar las muestras en esta página:

    Console

    Cuando usas la Google Cloud consola de para acceder a Google Cloud servicios y APIs, no necesitas configurar la autenticación.

    gcloud

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

      gcloud init

      Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

  • Configura una región y una zona predeterminadas.

Roles obligatorios

Para obtener los permisos que necesitas para permitir o restringir que los proyectos creen reservas compartidas, pídele a tu administrador que te otorgue el rol de IAM de administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para permitir o restringir que los proyectos creen reservas compartidas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para permitir o restringir que los proyectos creen reservas compartidas:

  • Para editar las políticas de la organización: orgpolicy.policy.set en la organización
  • Para ver las políticas de la organización: orgpolicy.policy.get en la organización

También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.

Permite o restringe que los proyectos creen reservas compartidas

Para permitir o restringir que un proyecto cree reservas compartidas, modifica la lista de entidades permitidas dentro de la restricción de la política de la organización Proyectos de propietario de las reservas compartidas (compute.sharedReservationsOwnerProjects).

En las siguientes secciones, se explica cómo ver o editar la restricción de la política de reservas compartidas en tu proyecto o tu organización.

Visualiza la restricción de la política de la organización de reservas compartidas

Para ver si tu proyecto o tu organización tienen habilitada la restricción de proyectos de propietario de las reservas compartidas (compute.sharedReservationsOwnerProjects), selecciona una de las siguientes opciones:

Console

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

    Ir a Políticas de la organización

  2. En el selector de proyectos, selecciona el proyecto o la organización para los que deseas ver las políticas de la organización.

  3. En el campo Filtro, ingresa constraints/compute.sharedReservationsOwnerProjects.

  4. En la columna Nombre, haz clic en Proyectos de propietario de las reservas compartidas. Aparecerá la página Detalles de la política.

  5. En la sección Política efectiva, verifica si tu proyecto o tu organización tienen permiso para crear y modificar reservas compartidas.

gcloud

Para ver a qué proyectos permite la restricción compute.sharedReservationsOwnerProjects crear y cambiar reservas compartidas, haz lo siguiente:

  1. Para descargar la política de tu organización como un archivo llamado policy.yaml, usa el gcloud resource-manager org-policies describe comando:

    gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
        --organization=ORGANIZATION_ID > policy.yaml
    

    Reemplaza ORGANIZATION_ID por el ID de tu organización.

  2. Abre el archivo policy.yaml en un editor de texto de tu elección.

  3. Visualiza la restricción compute.sharedReservationsOwnerProjects. Los proyectos que pueden crear y modificar reservas compartidas se enumeran en el campo allowedValues, como se muestra en el siguiente ejemplo:

    ...
    constraint: constraints/compute.sharedReservationsOwnerProjects
    listPolicy:
      allowedValues:
      - projects/EXAMPLE_PROJECT_NUMBER1
      - projects/EXAMPLE_PROJECT_NUMBER2
      - projects/EXAMPLE_PROJECT_NUMBER3
      ...
    ...
    
  4. Opcional: Para borrar el archivo policy.yaml, haz una de las siguientes acciones:

    • Si usas una terminal de Linux o macOS, ejecuta el siguiente comando:

      rm policy.yaml
      
    • Si usas una terminal de Windows, ejecuta el siguiente comando:

      del policy.yaml
      

Edita la restricción de la política de la organización de reservas compartidas

Para editar qué proyectos de tu organización pueden crear y modificar reservas compartidas, selecciona una de las siguientes opciones:

Console

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

    Ir a Políticas de la organización

  2. En el selector de proyectos, selecciona la organización para la que deseas editar las políticas de la organización.

  3. En el campo Filtro, ingresa constraints/compute.sharedReservationsOwnerProjects.

  4. En la columna Nombre, haz clic en Proyectos de propietario de las reservas compartidas. Aparecerá la página Detalles de la política.

  5. Haz clic en Administrar política. Aparecerá la página Detalles de la política.

  6. Selecciona Anular la política superior. Luego, en la sección Aplicación de la política, selecciona cómo deseas aplicar la política:

    • Combinar con superior: Esta opción combina la política a nivel del proyecto con la política a nivel de la organización. Los proyectos permitidos en cualquier nivel pueden crear reservas compartidas.

    • Reemplazar: Esta opción anula cualquier política heredada de niveles superiores. Solo los proyectos que se permiten de forma explícita en este nivel pueden crear reservas compartidas.

  7. Haz clic en Agregar una regla.

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

  9. En la lista Tipo de política, selecciona una de las siguientes opciones:

    • Para autorizar que uno o más proyectos creen o modifiquen reservas compartidas, selecciona Permitir.

    • Para evitar que uno o más proyectos creen o modifiquen reservas compartidas, selecciona Denegar.

  10. En el campo Valor personalizado, ingresa el número del proyecto al que deseas aplicar esta regla. Por cada proyecto adicional al que desees aplicar la regla, haz clic en Agregar valor y, luego, repite este paso.

  11. Para aplicar estos cambios, haz clic en Establecer política. Aparecerá la página Políticas de la organización.

gcloud

Para cambiar a qué proyectos permite la restricción compute.sharedReservationsOwnerProjects crear y cambiar reservas compartidas, usa uno de los siguientes métodos:

  • Para otorgar permisos a un solo proyecto para crear y modificar reservas compartidas, usa el gcloud resource-manager org-policies allow comando. Puedes repetir este comando para cada proyecto al que le quieras otorgar este permiso.

    gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \
        --organization=ORGANIZATION_ID
    

    Reemplaza lo siguiente:

  • Para otorgar o revocar los permisos para varios proyectos para crear y modificar reservas compartidas, reemplaza la restricción de la política de la organización. Para ello, completa los siguientes pasos:

    1. Para descargar la política de tu organización como un archivo llamado policy.yaml, usa el gcloud resource-manager org-policies describe comando:

      gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
          --organization=ORGANIZATION_ID > policy.yaml
      
    2. Abre el archivo policy.yaml en un editor de texto de tu elección.

    3. Modifica el campo allowedValues para enumerar todos los proyectos que pueden crear y modificar reservas compartidas.

      • Para cada proyecto al que desees otorgar permiso, agrega el número del proyecto en una línea nueva dentro del campo allowedValues.

      • Para cada proyecto al que le quieras revocar el permiso a fin de crear y modificar reservas compartidas, quita el número del proyecto del campo allowedValues.

      El archivo policy.yaml se ve similar al siguiente ejemplo:

      ...
      constraint: constraints/compute.sharedReservationsOwnerProjects
      listPolicy:
        allowedValues:
        - projects/EXAMPLE_PROJECT_NUMBER1
        - projects/EXAMPLE_PROJECT_NUMBER2
        - projects/EXAMPLE_PROJECT_NUMBER3
        ...
      ...
      
    4. Guarda el archivo policy.yaml y cierra el editor de texto.

    5. Para actualizar la política de tu organización, usa el gcloud resource-manager org-policies set-policy comando:

      gcloud resource-manager org-policies set-policy \
          --organization=ORGANIZATION_ID policy.yaml
      
    6. Opcional: Para borrar el archivo policy.yaml, haz una de las siguientes acciones:

      • Si usas una terminal de Linux o macOS, ejecuta el siguiente comando:

        rm policy.yaml
        
      • Si usas una terminal de Windows, ejecuta el siguiente comando:

        del policy.yaml
        

Los cambios pueden tardar hasta 15 minutos en aplicarse.

¿Qué sigue?