doc-locale/fr-fr/integration/vault.md
{{< details >}}
{{< /details >}}
Vault est une application de gestion des secrets proposée par HashiCorp. Elle vous permet de stocker et de gérer des informations sensibles telles que des variables d'environnement secrètes, des clés de chiffrement et des jetons d'authentification.
Vault propose un accès basé sur l'identité, ce qui signifie que les utilisateurs de Vault peuvent s'authentifier via plusieurs de leurs fournisseurs cloud préférés.
Le contenu suivant explique comment les utilisateurs de Vault peuvent s'authentifier via GitLab en utilisant notre fonctionnalité d'authentification OpenID.
Vous devez d'abord créer une application GitLab pour obtenir un ID d'application et un secret permettant de s'authentifier dans Vault. Pour ce faire, connectez-vous à GitLab et suivez ces étapes :
OpenID Connect (OIDC) n'est pas activé dans Vault par défaut.
Pour activer le fournisseur d'authentification OIDC dans Vault, ouvrez une session de terminal et exécutez la commande suivante :
vault auth enable oidc
Vous devriez voir la sortie suivante dans le terminal :
Success! Enabled oidc auth method at: oidc/
Pour fournir à Vault l'ID d'application et le secret générés par GitLab et permettre à Vault de s'authentifier via GitLab, exécutez la commande suivante dans le terminal :
vault write auth/oidc/config \
oidc_discovery_url="https://gitlab.com" \
oidc_client_id="<your_application_id>" \
oidc_client_secret="<your_secret>" \
default_role="demo" \
bound_issuer="localhost"
Remplacez <your_application_id> et <your_secret> par l'ID d'application et le secret générés pour votre application.
Vous devriez voir la sortie suivante dans le terminal :
Success! Data written to: auth/oidc/config
Vous devez indiquer à Vault les Redirect URIs et les portées fournis à GitLab lors de la création de l'application.
Exécutez la commande suivante dans le terminal :
vault write auth/oidc/role/demo - <<EOF
{
"user_claim": "sub",
"allowed_redirect_uris": "<your_vault_instance_redirect_uris>",
"bound_audiences": "<your_application_id>",
"oidc_scopes": "<openid>",
"role_type": "oidc",
"policies": "demo",
"ttl": "1h",
"bound_claims": { "groups": ["<yourGroup/yourSubgrup>"] }
}
EOF
Remplacez :
<your_vault_instance_redirect_uris> par les URI de redirection correspondant à l'emplacement où votre instance Vault est exécutée<your_application_id> par l'ID d'application généré pour votre applicationLe champ oidc_scopes doit inclure openid.
Cette configuration est enregistrée sous le nom du rôle que vous créez. Cet exemple crée un rôle demo.
[!warning] Si vous utilisez une instance GitLab.com publique, vous devez spécifier
bound_claimspour n'autoriser l'accès qu'aux membres de votre groupe ou projet. Dans le cas contraire, toute personne disposant d'un compte public peut accéder à votre instance Vault.
Accédez à l'interface utilisateur de Vault. Par exemple : http://127.0.0.1:8200/ui/vault/auth?with=oidc.
Si la méthode OIDC n'est pas sélectionnée, ouvrez la liste déroulante et sélectionnez-la.
Sélectionnez Sign in With GitLab, ce qui ouvre une boîte de dialogue :
Pour autoriser Vault à se connecter via GitLab, sélectionnez Autoriser. Vous êtes alors redirigé vers l'interface utilisateur de Vault en tant qu'utilisateur authentifié.
Vous pouvez également vous connecter à Vault en utilisant le CLI Vault.
Pour vous connecter avec la configuration de rôle créée dans l'exemple précédent, exécutez la commande suivante dans votre terminal :
vault login -method=oidc port=8250 role=demo
Cette commande définit :
role=demo afin que Vault sache quelle configuration vous souhaitez utiliser pour vous connecter.-method=oidc pour configurer Vault afin d'utiliser la méthode de connexion OIDC.port=8250 pour définir le port vers lequel GitLab doit effectuer la redirection. Ce numéro de port doit correspondre au port fourni à GitLab lors de la liste des URI de redirection.Après avoir exécuté cette commande, un lien devrait apparaître dans le terminal.
Ouvrez ce lien dans un navigateur web :
Vous devriez voir dans le terminal :
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.