Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 :
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
sur l'instance Secure Source Manager
Pour attribuer une clé SSH à un compte de service :
iam.serviceAccounts.actAs
sur le compte de service
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 aux rsa, ecdsa ou ed25519.
Exemple :
ssh-keygen-trsa-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.
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 more_vertPlus 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 more_vertPlus 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.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Authenticate using SSH public keys\n\nUsers and service accounts can use SSH public keys to authenticate to\nSecure Source Manager repositories. This page describes how to generate an\nSSH key pair, and then add it as an authentication method in the\nSecure Source Manager web interface.\n\nSecure Source Manager supports RSA, ECDSA, and Ed25519 SSH key types.\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to authenticate using SSH public keys,\n\nask your administrator to grant you the\nfollowing IAM roles:\n\n- To add an SSH key for a user: [Secure Source Manager Instance Accessor](/iam/docs/roles-permissions/securesourcemanager#securesourcemanager.instanceAccessor) (`roles/securesourcemanager.instanceAccessor`) on the Secure Source Manager instance\n- To add an SSH key for a service account:\n - [Secure Source Manager Instance Manager](/iam/docs/roles-permissions/securesourcemanager#securesourcemanager.instanceManager) (`roles/securesourcemanager.instanceManager`) on the Secure Source Manager instance\n - [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`) on the service account\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThese predefined roles contain\n\nthe permissions required to authenticate using SSH public keys. To see the exact permissions that are\nrequired, expand the **Required permissions** section:\n\n\n#### Required permissions\n\nThe following permissions are required to authenticate using SSH public keys:\n\n- ` ``securesourcemanager.sshkeys.createAny` on the Secure Source Manager instance\n- To assign an SSH key to a service account: ` ``iam.serviceAccounts.actAs` on the service account\n\n\nYou might also be able to get\nthese permissions\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nFor information on granting Secure Source Manager roles,\nsee [Access control with IAM](/secure-source-manager/docs/access-control) and\n[Grant users instance access](/secure-source-manager/docs/grant-users-instance-access).\n\nGenerate a key pair\n-------------------\n\nAn SSH key pair consists of a private key that resides on your local system and\na public key that you register with Google Cloud. \n\n### Linux or macOS\n\n1. Install\n [OpenSSH](https://www.openssh.com/)\n on your local system.\n\n2. At a command prompt, enter the following command:\n\n ssh-keygen -t [KEY_TYPE] -C \"[USER_EMAIL]\"\n\n Where:\n - `[USER_EMAIL]` is your email address.\n - `[KEY_TYPE]` is one of `rsa`, `ecdsa`, or `ed25519`.\n\n For example: \n\n ssh-keygen -t rsa -C \"user@example.com\"\n\n 1. When prompted, enter a location and filename for the public key file.\n To accept the default location and filename, press **Enter**.\n\n 2. When prompted, leave the passphrase empty and press **Enter**.\n\n### Windows\n\n1. Install\n [PuTTY](https://www.putty.org/)\n on your local system.\n\n2. From the Windows **Start** menu, start PuTTYGen.\n\n3. In the window that opens, select the key type from the **Parameters**\n field.\n\n4. Click **Generate**.\n\n PuTTYGen displays the generated public key string.\n5. When prompted, leave the passphrase empty and press **Enter**.\n\n6. To save the key pair you generated to your local system, click\n **Save Public Key** and **Save Private Key**.\n\nAdd SSH keys for users\n----------------------\n\n1. In the Secure Source Manager web interface, from the instance or repository page, click the more_vert **more options** menu.\n2. Click **User SSH keys**.\n\n The **User SSH keys** page opens, and a list of\n any existing keys you've created is displayed.\n3. In the **User SSH keys** page, click **Add key**.\n\n4. In the **Add SSH Key** page, enter the following values for your key:\n\n 1. **Title**: add a descriptive title for the key.\n 2. **SSH public key**: paste your public key string. To get your public key string, run the following command:\n\n cat ~/.ssh/\u003cvar translate=\"no\"\u003eFILENAME\u003c/var\u003e.pub\n\n Where \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eFILENAME\u003c/code\u003e\u003c/var\u003e is the name you gave the key file.\n\nYou can use SSH keys to authenticate to any Secure Source Manager repository\nprovided you have the needed permissions on that repository.\n\nAdd SSH keys for service accounts\n---------------------------------\n\nTo allow programmatic access to your repository, you can add an SSH key for a\nservice account.\n\n1. If you don't already have a service account that you want to use, [create a service account](/iam/docs/creating-managing-service-accounts#creating).\n2. From the Secure Source Manager web interface, click the more_vert **more options** menu.\n3. Click **Service account SSH keys** . The **Service account SSH keys** page opens, and a list of any existing keys you've added is displayed.\n4. In the **Service account SSH keys** page, click **Add key**.\n5. In the **Add service account SSH key** page, enter the following values\n for your key:\n\n 1. **Title**: a descriptive title for the key\n 2. **Service account** : the service account email for the service\n account you want to use the SSH key in the format\n \u003cvar translate=\"no\"\u003eSA_NAME\u003c/var\u003e`@`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.iam.gserviceaccount.com`\n\n Where\n - \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eSA_NAME\u003c/code\u003e\u003c/var\u003e is the service account name.\n - \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ePROJECT_ID\u003c/code\u003e\u003c/var\u003e is the project ID of the project the service account was created in.\n 3. **SSH Public Key** : Your public SSH key. See\n [Generate a key pair](#generate-key-pair) for information on how to\n generate an SSH key pair.\n\n6. If the service account is not in the same project as your\n Secure Source Manager instance, give Secure Source Manager's\n [service agent](/iam/docs/service-agents)\n one of the following roles or permissions on the service account you want to\n use:\n\n - `iam.serviceAccounts.signJwt` permission\n - Service Account Token Creator (`roles/iam.serviceAccountTokenCreator`) role\n\n\n Run the following command to add an IAM policy to your\n Secure Source Manager service account to grant it the Service Account\n Token Creator role. \n\n gcloud iam service-accounts add-iam-policy-binding \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT\u003c/var\u003e \\\n --member=\"serviceAccount:service-\u003cvar translate=\"no\"\u003eINSTANCE_PROJECT_NUMBER\u003c/var\u003e@gcp-sa-sourcemanager.iam.gserviceaccount.com\" \\\n --role=\"roles/iam.serviceAccountTokenCreator\"\n\n Where \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT\u003c/var\u003e is the service account you want to use and\n \u003cvar translate=\"no\"\u003eINSTANCE_PROJECT_NUMBER\u003c/var\u003e is the project number of your\n Secure Source Manager instance.\n\n The \u003cvar translate=\"no\"\u003eSERVICE_ACCOUNT\u003c/var\u003e should be formatted either as a numeric\n service account ID or as an email, like this: 123456789876543212345 or\n my-iam-account@somedomain.com.\n\nWhat's next\n-----------\n\n- [Connect to Cloud Build](/secure-source-manager/docs/connect-cloud-build).\n- [Connect to Jenkins](/secure-source-manager/docs/connect-jenkins)."]]