Configurer la méthode d'authentification OIDC
Pour configurer la méthode d'authentification OIDC dans HashiCorp Vault, vous pouvez Utiliser une commande de l'interface de ligne de commande ou Utiliser l'API. Pour la méthode API, vous pouvez utiliser soit HCP Vault Dedicated, soit HCP Vault.
Utiliser une commande de l'interface de ligne de commande
Cette configuration utilise le chemin de montage oidc par défaut. Si vous avez créé un chemin personnalisé (par exemple, okta-oidc), vous devez mettre à jour la variable path pour l'intégration dans Okta.
- Exécutez cette commande pour faire d'OIDC la méthode d'authentification par défaut :
#!/bin/bash vault auth enable oidc - Exécutez cette commande pour créer un rôle nommé
vault-role-okta-default:#!/bin/bash vault write auth/oidc/role/vault-role-okta-default \ bound_audiences="$OKTA_CLIENT_ID" \ allowed_redirect_uris="$VAULT_ADDR/ui/vault/auth/oidc/oidc/callback" \ allowed_redirect_uris="http://localhost:8250/oidc/callback" \ user_claim="sub" \ token_policies="default" - Exécutez cette commande pour configurer la méthode d'authentification OIDC :
#!/bin/bash vault write auth/oidc/config \ oidc_discovery_url="https://$OKTA_DOMAIN" \ oidc_client_id="$OKTA_CLIENT_ID" \ oidc_client_secret="$OKTA_CLIENT_SECRET" \ default_role="vault-role-okta-default"Dans HCP Vault,
oidc_discovery_url,oidc_client_idetoidc_client_secretsont définis sur les variables que vous avez configurées à la section précédente. - Exécutez cette commande pour afficher les méthodes d'authentification activées :
#!/bin/bash vault auth list
Utiliser l'API
Effectuez ces étapes dans HCP Vault Dedicated ou HCP Vault.
HCP Vault Dedicated
- Envoyez une requête qui active la méthode d'authentification OIDC au point de terminaison
sys/auth/oidc:curl --header "X-Vault-Token: $VAULT_TOKEN" \ --header "X-Vault-Namespace: $VAULT_NAMESPACE" \ --request POST \ --data '{"type": "oidc"}' \ $VAULT_ADDR/v1/sys/auth/oidc - Envoyez une requête qui contient la définition de rôle
vault-role-okta-default:#!/bin/bash tee vault-role-okta-default.json <<EOF { "bound_audiences": "$OKTA_CLIENT_ID", "allowed_redirect_uris": [ "$VAULT_ADDR/ui/vault/auth/oidc/oidc/callback", "http://localhost:8250/oidc/callback" ], "user_claim": "sub", "token_policies": ["default"] } EOFallowed_redirect_urisdans la requête utilisent les URL de rappel que vous avez définies dans la section précédente.user_claimindique à l'app comment identifier chaque utilisateur unique. Consultez OpenID Connect and OAuth 2.0 pour plus d'informations. - Envoyez une requête pour configurer le rôle
vault-role-okta-admin:curl --header "X-Vault-Token: $VAULT_TOKEN" \ --header "X-Vault-Namespace: $VAULT_NAMESPACE" \ --request POST \ --data @vault-role-okta-default.json \ $VAULT_ADDR/v1/auth/oidc/role/vault-role-okta-default - Envoyez une requête qui contient la définition de la configuration OIDC :
Dans HCP Vault,tee oidc_config.json <<EOF { "oidc_discovery_url": "https://$OKTA_DOMAIN", "oidc_client_id": "$OKTA_CLIENT_ID", "oidc_client_secret": "$OKTA_CLIENT_SECRET", "default_role": "vault-role-okta-default" } EOFoidc_discovery_url,oidc_client_idetoidc_client_secretsont définis sur les variables que vous avez configurées à la section précédente. De plus,default_roleest défini survault-role-okta-default. - Envoyez une requête qui active la méthode d'authentification OIDC :
curl --header "X-Vault-Token: $VAULT_TOKEN" \ --header "X-Vault-Namespace: $VAULT_NAMESPACE" \ --request POST \ --data @oidc_config.json \ $VAULT_ADDR/v1/auth/oidc/config
HCP Vault
- Envoyez une requête qui active la méthode d'authentification OIDC au point de terminaison
auth/oidc:curl --header "X-Vault-Token: $VAULT_TOKEN" \ --request POST \ --data '{"type": "oidc"}' \ $VAULT_ADDR/v1/sys/auth/oidc - Envoyez une requête qui contient la définition de rôle
vault-role-okta-default.#!/bin/bash tee vault-role-okta-default.json <<EOF { "bound_audiences": "$OKTA_CLIENT_ID", "allowed_redirect_uris": [ "$VAULT_ADDR/ui/vault/auth/oidc/oidc/callback", "http://localhost:8250/oidc/callback" ], "user_claim": "sub", "token_policies": ["default"] } EOF - Envoyez une requête qui crée le rôle
vault-role-okta-default:curl --header "X-Vault-Token: $VAULT_TOKEN" \ --request POST \ --data @vault-role-okta-default.json \ $VAULT_ADDR/v1/auth/oidc/role/vault-role-okta-default - Envoyez une requête qui contient la définition de la configuration OIDC :
#!/bin/bash tee oidc_config.json <<EOF { "oidc_discovery_url": "https://$OKTA_DOMAIN", "oidc_client_id": "$OKTA_CLIENT_ID", "oidc_client_secret": "$OKTA_CLIENT_SECRET", "default_role": "vault-role-okta-default"} EOF - Envoyez une requête qui active la méthode d'authentification OIDC :
curl --header "X-Vault-Token: $VAULT_TOKEN" \ --request POST \ --data @oidc_config.json \ $VAULT_ADDR/v1/auth/oidc/config
Étape suivante