Los usuarios y las cuentas de servicio pueden usar claves públicas SSH para autenticarse en repositorios de Secure Source Manager. En esta página se describe cómo generar un par de claves SSH y, a continuación, añadirlo como método de autenticación en la interfaz web de Secure Source Manager.
Secure Source Manager admite los tipos de claves SSH RSA, ECDSA y Ed25519.
Roles obligatorios
Para obtener los permisos que necesitas para autenticarte con claves públicas SSH, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
-
Para añadir una clave SSH a un usuario, sigue estos pasos:
Accessor de instancia de Secure Source Manager (
roles/securesourcemanager.instanceAccessor
) en la instancia de Secure Source Manager -
Para añadir una clave SSH a una cuenta de servicio, sigue estos pasos:
-
Gestor de instancias de Secure Source Manager (
roles/securesourcemanager.instanceManager
) en la instancia de Secure Source Manager -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio
-
Gestor de instancias 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.
Estos roles predefinidos contienen los permisos necesarios para autenticarte mediante claves públicas SSH. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para autenticarte mediante claves públicas SSH, necesitas los siguientes permisos:
-
securesourcemanager.sshkeys.createAny
-
Para asignar una clave SSH a una cuenta de servicio, sigue estos pasos:
iam.serviceAccounts.actAs
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Para obtener información sobre cómo conceder roles de Secure Source Manager, consulta los artículos Control de acceso con gestión de identidades y accesos y Conceder acceso a instancias a los usuarios.
Generar un par de claves
Un par de claves SSH consta de una clave privada que se aloja en tu sistema local y una clave pública que registras en Google Cloud.
Linux o macOS
Instala OpenSSH en tu sistema local.
En el símbolo del sistema, introduce el siguiente comando:
ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
Donde:
[USER_EMAIL]
es tu dirección de correo.[KEY_TYPE]
puede serrsa
,ecdsa
oed25519
.
Por ejemplo:
ssh-keygen -t rsa -C "user@example.com"
Cuando se te solicite, introduce una ubicación y un nombre de archivo para el archivo de clave pública. Para aceptar la ubicación y el nombre de archivo predeterminados, pulsa Intro.
Cuando se te solicite, deja la contraseña vacía y pulsa Intro.
Windows
Instala PuTTY en tu sistema local.
En el menú Inicio de Windows, inicia PuTTYGen.
En la ventana que se abre, selecciona el tipo de clave en el campo Parámetros.
Haz clic en Generar.
PuTTYgen muestra la cadena de clave pública generada.
Cuando se te solicite, deja la contraseña vacía y pulsa Intro.
Para guardar el par de claves que has generado en tu sistema local, haz clic en Guardar clave pública y Guardar clave privada.
Añadir claves SSH para usuarios
- En la interfaz web de Secure Source Manager, en la página de la instancia o del repositorio, haz clic en el menú Más opciones.
Haz clic en Claves SSH de usuario.
Se abrirá la página Claves SSH de usuario y se mostrará una lista de las claves que hayas creado.
En la página Claves SSH de usuario, haz clic en Añadir clave.
En la página Añadir clave SSH, introduce los siguientes valores para tu clave:
- Título: añade un título descriptivo para la clave.
- Clave pública SSH: pega la cadena de tu clave pública. Para obtener la cadena de tu clave pública, ejecuta el siguiente comando:
cat ~/.ssh/FILENAME.pub
Donde
FILENAME
es el nombre que le has dado al archivo de claves.
Puedes usar claves SSH para autenticarte en cualquier repositorio de Secure Source Manager, siempre que tengas los permisos necesarios en ese repositorio.
Añadir claves SSH para cuentas de servicio
Para permitir el acceso programático a tu repositorio, puedes añadir una clave SSH para una cuenta de servicio.
- Si aún no tienes una cuenta de servicio que quieras usar, crea una.
- En la interfaz web de Secure Source Manager, haz clic en el menú más opciones.
- Haz clic en Claves SSH de cuenta de servicio. Se abrirá la página Claves SSH de cuenta de servicio y se mostrará una lista de las claves que hayas añadido.
- En la página Claves SSH de cuenta de servicio, haz clic en Añadir clave.
En la página Añadir clave SSH de cuenta de servicio, introduce los siguientes valores de tu clave:
- Título: un título descriptivo de la clave
Cuenta de servicio: el correo de la cuenta de servicio que quieras usar con la clave SSH. El formato es el siguiente:
SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Dónde
SA_NAME
es el nombre de la cuenta de servicio.PROJECT_ID
es el ID del proyecto en el que se ha creado la cuenta de servicio.
Clave pública SSH: tu clave pública SSH. Consulta Generar un par de claves para obtener información sobre cómo generar un par de claves SSH.
Si la cuenta de servicio no está en el mismo proyecto que tu instancia de Secure Source Manager, otorga al agente de servicio de Secure Source Manager uno de los siguientes roles o permisos en la cuenta de servicio que quieras usar:
- Permiso de
iam.serviceAccounts.signJwt
- Rol Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator
)
Ejecuta el siguiente comando para añadir una política de gestión de identidades y accesos a tu cuenta de servicio de Gestor de fuentes seguras y asignarle el rol Creador de tokens de cuenta de servicio.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT \ --member="serviceAccount:service-INSTANCE_PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"
Donde SERVICE_ACCOUNT es la cuenta de servicio que quieres usar y INSTANCE_PROJECT_NUMBER es el número de proyecto de tu instancia de Secure Source Manager.
El SERVICE_ACCOUNT debe tener el formato de un ID de cuenta de servicio numérico o de un correo electrónico, como 123456789876543212345 o mi-cuenta-iam@algundominio.com.
- Permiso de