Les utilisateurs et les comptes de service peuvent utiliser des clés publiques SSH pour s'authentifier auprès des dépôts Secure Source Manager. Cette page explique comment générer une paire de clés SSH, puis l'ajouter en tant que méthode d'authentification dans l'interface Web Secure Source Manager.
Secure Source Manager est compatible avec les types de clés SSH RSA, ECDSA et Ed25519.
Rôles requis
Pour obtenir les autorisations nécessaires pour vous authentifier à l'aide de clés publiques SSH, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour ajouter une clé SSH à un utilisateur :
Accesseur d'instances Secure Source Manager (
roles/securesourcemanager.instanceAccessor
) sur l'instance Secure Source Manager -
Pour ajouter une clé SSH pour un compte de service :
-
Gestionnaire d'instances Secure Source Manager (
roles/securesourcemanager.instanceManager
) sur l'instance Secure Source Manager -
Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service
-
Gestionnaire d'instances Secure Source Manager (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour s'authentifier à l'aide de clés publiques SSH. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Vous devez disposer des autorisations suivantes pour vous authentifier à l'aide de clés publiques SSH :
-
securesourcemanager.sshkeys.createAny
-
Pour attribuer une clé SSH à un compte de service :
iam.serviceAccounts.actAs
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour savoir comment accorder des rôles Secure Source Manager, consultez Contrôle des accès avec IAM et Accorder aux utilisateurs l'accès à l'instance.
Générer une paire de clés
Une paire de clés SSH comprend une clé privée stockée sur votre système local et une clé publique que vous enregistrez à l'aide de Google Cloud.
Linux ou macOS
Installez OpenSSH sur votre système local.
Lorsque vous y êtes invité, saisissez la commande suivante :
ssh-keygen -t [KEY_TYPE] -C "[USER_EMAIL]"
Où :
[USER_EMAIL]
est votre adresse e-mail.[KEY_TYPE]
correspond auxrsa
,ecdsa
oued25519
.
Exemple :
ssh-keygen -t rsa -C "user@example.com"
Lorsque vous y êtes invité, saisissez un emplacement et un nom de fichier pour le fichier de clé publique. Pour accepter l'emplacement et le nom de fichier par défaut, appuyez sur Entrée.
Lorsque vous y êtes invité, laissez la phrase secrète vide et appuyez sur Entrée.
Windows
Installez PuTTY sur votre système local.
Dans le menu Démarrer de Windows, démarrez PuTTYGen.
Dans la fenêtre qui s'affiche, sélectionnez le type de clé dans le champ Paramètres.
Cliquez sur Generate (Générer).
PuTTYGen affiche la chaîne de clé publique générée.
Lorsque vous y êtes invité, laissez la phrase secrète vide et appuyez sur Entrée.
Cliquez sur Enregistrer la clé publique et Enregistrer la clé privée pour enregistrer la paire de clés générée sur votre système local.
Ajouter des clés SSH pour les utilisateurs
- Dans l'interface Web Secure Source Manager, sur la page de l'instance ou du dépôt, cliquez sur le menu Plus d'options.
Cliquez sur Clés SSH utilisateur.
La page Clés SSH de l'utilisateur s'ouvre et affiche la liste des clés que vous avez déjà créées.
Sur la page Clés SSH de l'utilisateur, cliquez sur Ajouter une clé.
Sur la page Add SSH Key (Ajouter une clé SSH), saisissez les valeurs suivantes pour votre clé :
- Titre : ajoutez un titre descriptif pour la clé.
- Clé publique SSH : collez la chaîne de votre clé publique. Pour obtenir votre chaîne de clé publique, exécutez la commande suivante :
cat ~/.ssh/FILENAME.pub
Où
FILENAME
est le nom que vous avez donné au fichier de clé.
Vous pouvez utiliser des clés SSH pour vous authentifier auprès de n'importe quel dépôt Secure Source Manager, à condition de disposer des autorisations nécessaires pour ce dépôt.
Ajouter des clés SSH pour les comptes de service
Pour autoriser l'accès programmatique à votre dépôt, vous pouvez ajouter une clé SSH pour un compte de service.
- Si vous ne disposez pas encore d'un compte de service que vous souhaitez utiliser, créez-en un.
- Dans l'interface Web Secure Source Manager, cliquez sur le menu Plus d'options.
- Cliquez sur Clés SSH du compte de service. La page Clés SSH du compte de service s'ouvre et affiche la liste des clés existantes que vous avez ajoutées.
- Sur la page Clés SSH du compte de service, cliquez sur Ajouter une clé.
Sur la page Ajouter une clé SSH de compte de service, saisissez les valeurs suivantes pour votre clé :
- Title : titre descriptif de la clé
Compte de service : adresse e-mail du compte de service pour lequel vous souhaitez utiliser la clé SSH, au format
SA_NAME@PROJECT_ID.iam.gserviceaccount.com
.Où
SA_NAME
correspond au nom du compte de service.PROJECT_ID
correspond à l'ID du projet dans lequel le compte de service a été créé.
Clé publique SSH : votre clé publique SSH. Pour savoir comment générer une paire de clés SSH, consultez Générer une paire de clés.
Si le compte de service ne se trouve pas dans le même projet que votre instance Secure Source Manager, accordez à l'agent de service Secure Source Manager l'un des rôles ou autorisations suivants sur le compte de service que vous souhaitez utiliser :
- Autorisation
iam.serviceAccounts.signJwt
- Rôle Créateur de jetons du compte de service (
roles/iam.serviceAccountTokenCreator
)
Exécutez la commande suivante pour ajouter une stratégie IAM à votre compte de service Secure Source Manager afin de lui accorder le rôle de créateur de jetons du compte de service.
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"
où SERVICE_ACCOUNT est le compte de service que vous souhaitez utiliser et INSTANCE_PROJECT_NUMBER est le numéro de projet de votre instance Secure Source Manager.
SERVICE_ACCOUNT doit être au format d'un ID de compte de service numérique ou d'une adresse e-mail, comme suit : 123456789876543212345 ou my-iam-account@somedomain.com.
- Autorisation