Configurer la méthode d'authentification OIDC
Pour configurer la méthode d'authentification OIDC dans HashCorp 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_idet oidc_client_secret sont définis sur les variables que vous avez configurées dans 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"]
}
EOF
allowed_redirect_uris dans la requête utilisent les URL de rappel que vous avez définies dans la section précédente. user_claim indique à l'app comment identifier chaque utilisateur unique. Voir OpenID Connect and OAuth 2.0 pour plus d'informations.
- Envoyez une requête pour configurer le rôlevault-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 : 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 Dans HCP Vault, les oidc_discovery_url, oidc_client_id et oidc_client_secret sont définies sur les variables que vous avez configurées dans la section précédente. De plus, default_role est défini sur supervisory-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
