Otorga acceso a instancias a los usuarios

En esta página, se describe cómo otorgar a tus usuarios acceso a tu instancia de Secure Source Manager con Identity and Access Management (IAM). Para obtener más detalles sobre el control de acceso en Secure Source Manager, consulta Control de acceso con IAM.

Roles requeridos

Para obtener los permisos que necesitas para otorgar a los usuarios acceso a la instancia, pídele a tu administrador que te otorgue el rol de propietario de la instancia de Secure Source Manager (roles/securesourcemanager.instanceOwner) rol de IAM en la instancia de Secure Source Manager. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Para obtener información sobre cómo otorgar roles de Secure Source Manager, consulta Control de acceso con IAM.

Cómo otorgar acceso a usuarios de la federación de identidades de personal

Si usas la federación de identidades de personal para acceder a Secure Source Manager, los principales se representan de manera diferente. Para obtener más información sobre cómo otorgar acceso a principales que representan grupos de identidades, consulta Representa a los usuarios del grupo de personal en políticas de IAM.

Por ejemplo, el siguiente comando otorga al usuario user@example.com el rol de Instance Accessor (roles/securesourcemanager.instanceAccessor) en el grupo de personal my-pool en la instancia my-instance del proyecto my-project en la región us-central1:

  gcloud beta source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor

Puedes otorgar acceso a usuarios o grupos dentro de tu grupo de identidades para cargas de trabajo según los atributos de tu proveedor de identidad (IdP), o bien usar el lenguaje de expresiones comunes (CEL) para asignar tus atributos de OIDC a atributos personalizados y definir una estrategia de autorización en tu política de IAM. Para obtener más información sobre las asignaciones de atributos, consulta Asignaciones de atributos.

Cómo otorgar acceso a un solo usuario

Para otorgar acceso a un solo usuario a la instancia, usa el siguiente comando de Google Cloud CLI:

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor

Reemplaza lo siguiente:

  • INSTANCE_ID por el ID de la instancia.
  • PROJECT_ID por el ID del proyecto o el número del proyecto de la instancia.
  • REGION con la región en la que se encuentra la instancia. Consulta la documentación de ubicaciones para conocer las regiones disponibles de Secure Source Manager.
  • PRINCIPAL_IDENTIFIER con el identificador de la principal a la que deseas otorgar el rol.

    Por ejemplo, para otorgar el rol a un solo usuario con su dirección de correo electrónico, debes darle formato al identificador principal como user:EMAIL, donde EMAIL es la dirección de correo electrónico del usuario.

    Para obtener más información sobre los identificadores de principal compatibles, consulta Identificadores de principal.

Por ejemplo, el siguiente comando otorga al usuario trusted-user1@gmail.com el rol de roles/securesourcemanager.instanceAccessor en la instancia my-instance, en el proyecto my-project en la región us-central.

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor

Otorga acceso a varios usuarios

  1. Crea un Grupo de Google de todos los usuarios que necesiten acceder a tu instancia. El grupo puede ser específico del dominio.

    Te recomendamos que crees un grupo amplio que incluya a todos los usuarios potenciales, por ejemplo, todos los desarrolladores y las personas que pueden presentar problemas en tu empresa. Los usuarios deben pertenecer a este grupo para acceder a los recursos o crearlos en una instancia de Secure Source Manager, incluidos los repositorios y los problemas.

    Crear un grupo amplio permite a los líderes de equipo administrar los roles de usuario a nivel de la instancia y del repositorio sin tener que administrar también la membresía del grupo.

  2. Para leer la política de permisos actual y guardarla en /tmp/instances.json, ejecuta el siguiente comando:

      gcloud beta source-manager instances get-iam-policy INSTANCE_ID \
          --project=PROJECT_ID \
          --region=REGION \
          --format=json > /tmp/instance.json
    

    Reemplaza lo siguiente:

    • INSTANCE_ID por el ID de la instancia.
    • PROJECT_ID por el ID del proyecto o el número del proyecto de la instancia.
    • REGION con la región en la que se encuentra la instancia. Consulta la documentación de ubicaciones para conocer las regiones disponibles de Secure Source Manager.

    El resultado incluirá cualquier vinculación existente o, si no existe ninguna, el valor etag similar al siguiente:

    {
        "etag": "BwUjHYKJUiQ="
    }
    
  3. Edita el archivo JSON /tmp/instance.json para otorgar a tus grupos los siguientes roles:

    • Rol de Instance Accessor (roles/securesourcemanager.instanceAccessor) para los usuarios que necesitan ver la instancia, pero no crean ni modifican repositorios.
    • Rol de creador de repositorios de instancias (roles/securesourcemanager.instanceRepositoryCreator) para los usuarios que necesitan crear y modificar repositorios.
    • Rol de propietario de la instancia (roles/securesourcemanager.instanceOwner) para los usuarios que administrarán tu instancia.

    En la siguiente política de ejemplo, se otorga el rol roles/securesourcemanager.instanceRepositoryCreator al grupo your-group@gmail.com y se otorga el rol roles/securesourcemanager.instanceOwner a los usuarios trusted-user1@gmail.com y trusted-user2@gmail.com.

    {
      "etag": "ETAG",
      "bindings": [
        {
          "role": "roles/securesourcemanager.instanceRepositoryCreator",
          "members": [
            "group:GROUP_EMAIL"
          ]
        },
        {
          "role": "roles/securesourcemanager.instanceOwner",
          "members": [
            "user:USER_EMAIL_1",
            "user:USER_EMAIL_2"
          ]
        }
      ]
    }
    

    Reemplaza lo siguiente:

    • ETAG con el valor etag de la respuesta getIamPolicy. En este caso, sería BwUjHYKJUiQ=.
    • GROUP_EMAIL con la dirección de correo electrónico de tu grupo de Google.
    • USER_EMAIL_1 y USER_EMAIL_2 con las direcciones de correo electrónico de los usuarios a los que deseas otorgar el rol de propietario de la instancia.
  4. Guarda el archivo /tmp/instance.json editado.

  5. Después de modificar la política de permisos guardada para otorgar y revocar los roles deseados, actualiza la política de permisos de tu instancia ejecutando el siguiente comando:

    gcloud beta source-manager instances set-iam-policy INSTANCE_ID  \
        --project=PROJECT_ID \
        --region=REGION \
        /tmp/instance.json
    

    Reemplaza lo siguiente:

    • INSTANCE_ID por el ID de la instancia.
    • PROJECT_ID con el ID del proyecto o el número del proyecto de la instancia.
    • REGION con la región en la que se encuentra la instancia. Consulta la documentación de ubicaciones para conocer las regiones disponibles de Secure Source Manager.

¿Qué sigue?