Conceder acceso a la instancia a los usuarios

En esta página se describe cómo conceder a tus usuarios acceso a tu instancia de Secure Source Manager mediante Gestión de Identidades y Accesos (IAM). Para obtener más información sobre el control de acceso en Secure Source Manager, consulta el artículo Control de acceso con IAM.

Roles obligatorios

Para obtener los permisos que necesitas para conceder acceso a instancias a los usuarios, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Propietario de la instancia de Secure Source Manager (roles/securesourcemanager.instanceOwner) en la instancia de Secure Source Manager. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta el artículo Control de acceso con gestión de identidades y accesos.

Conceder acceso a los usuarios de Workforce Identity Federation

Si usas Workforce Identity Federation para acceder a Secure Source Manager, los principales se representan de forma diferente. Para obtener más información sobre cómo conceder acceso a principales que representan grupos de identidades, consulta Representar usuarios de grupos de usuarios 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 trabajo my-pool de 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 conceder acceso a usuarios o grupos de tu grupo de identidades de la plantilla en función de los atributos de tu proveedor de identidades (IdP) o 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 gestión de identidades y accesos. Para obtener más información sobre las asignaciones de atributos, consulte el artículo Asignaciones de atributos.

Conceder acceso a un solo usuario

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

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

Haz los cambios siguientes:

  • INSTANCE_ID con el ID de instancia.
  • PROJECT_ID con el ID o el número de proyecto de la instancia.
  • REGION con la región en la que se encuentra la instancia. Consulta la documentación sobre ubicaciones para ver las regiones disponibles de Secure Source Manager.
  • PRINCIPAL_IDENTIFIER con el identificador de la cuenta principal a la que quieras asignar el rol.

    Por ejemplo, para asignar el rol a un solo usuario con su dirección de correo, el identificador principal se debe formatear como user:EMAIL, donde EMAIL es la dirección de correo del usuario.

    Para obtener más información sobre los identificadores principales admitidos, consulta Identificadores principales.

Por ejemplo, el siguiente comando otorga al usuario trusted-user1@gmail.com el rol roles/securesourcemanager.instanceAccessor en la instancia my-instance, en el proyecto my-project de 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

Conceder acceso a varios usuarios

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

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

    Si se trata de un grupo amplio, los responsables de los equipos podrán gestionar los roles de usuario a nivel de instancia y de repositorio sin tener que gestionar también la pertenencia al 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
    

    Haz los cambios siguientes:

    • INSTANCE_ID con el ID de instancia.
    • PROJECT_ID con el ID 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 sobre ubicaciones para ver las regiones disponibles de Secure Source Manager.

    La salida incluirá los enlaces que ya existan o, si no hay ninguno, el valor etag, como en el siguiente ejemplo:

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

    • Rol de Accesor de instancia (roles/securesourcemanager.instanceAccessor) para los usuarios que necesiten ver la instancia, pero no crear ni modificar repositorios.
    • Rol Creador de repositorio de instancia (roles/securesourcemanager.instanceRepositoryCreator) para los usuarios que necesiten crear y modificar repositorios.
    • Rol Propietario de la instancia (roles/securesourcemanager.instanceOwner) para los usuarios que gestionarán tu instancia.

    En la siguiente política de ejemplo se otorga el rol roles/securesourcemanager.instanceRepositoryCreator al grupo your-group@gmail.com y 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"
          ]
        }
      ]
    }
    

    Haz los cambios siguientes:

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

  5. Después de modificar la política de permiso guardada para conceder y revocar los roles deseados, actualiza la política de permiso 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
    

    Haz los cambios siguientes:

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

Siguientes pasos