Copier le fichier téléchargé "vault_x.x.x_windows_amd64.zip" sur votre Bastion dans C:\temp.
Ouvrir un cmd shell et exécutez la commande ci-dessous :
mkdir %LOCALAPPDATA%\Vault "C:\Program Files\7-Zip\7z.exe" e c:\temp\vault_x.x.x_windows_amd64.zip "*.*" -o"%LOCALAPPDATA%\Vault"
Intégration Kubernetes
Demande de prérequis Vault sur Kubernetes
Cet article décrit comment demander le prérequis de Vault sur les Services de conteneurs de cegedim.cloud**.**
Un cluster Kubernetes existant est requis pour configurer une intégration avec Vault
Demander le Kubernetes Authorized Endpoint pour Vault + la charte Vault
Pourquoi
Le cluster cegedim Vault a besoin d'accéder directement à l'API Kubernetes (l'accès via Rancher n'est pas pris en charge) et demander l'ajout dans Rancher Apps & Marketplace de la "charte officielle Hashicorp Vaul".
Comment
Utilisez ITCarepour Formuler une demande via le formulaire de demande de support "Toutes autres sollicitations relatives aux Solutions/Outils IT".
Objet de votre demande: Créer un K8S Authorized Endpoint pour Vault et ajouter la charte Vault <CCS ccs2-my-cluster>.
Commentaires:
Merci de configurer sur ce cluster K8S <CCS ccs2-my-cluster>:
- Kubernetes API Authorized Endpoint for Vault connexion
- Ajouter "Official Hashicorp Vaul Chart" dans Rancher Apps & Marketplace
Après la résolution du ticket, allez dans RancherCluster Manager → Cluster → Modifier pour vérifier si l'Authorized EndPoint est activé.
À partir de Rancher Cluster Explorer → Apps & Marketplace, vérifiez si le graphique de la voûte est disponible.
Configurer Vault Injector sur Kubernetes
Cet article décrit comment configurer l'injecteur Vault sur le service Kubernetes fourni par cegedim.cloud**.**
Créer un projet et un espace Vault
Créer un projet : vault
Créer un espace : vault
Déployer Vault Agent Injector
Depuis Rancher, allez dans "Apps & Marketplace" → "Charts".
Recherchez "vault" et sélectionnez "vault - Official HashiCorp Vault Chart".
Sélectionnez l'espace "vault" et nommez votre déploiement "vault-injector"
Allez dans "Values YAML" et recherchez le paramètre "externalVaultAddr" pour définir la valeur avec l'URL de votre cluster de vault : https://<cluster>.vault.cegedim.cloud
Cliquez sur Installer.
Étapes de contrôle
Le déploiement sera créé dans l'espace vault :
ClusterRole :
vault-injector-agent-injector-clusterrole
ServiceAccounts _:_
vault-injector : ce compte de service sera utilisé par vault pour se connecter à l'API Kubernetes.
vault-injector-agent-injector : ce compte de service est utilisé par le vault-injector-agent-injector
CusterRoleBindings :
vault-injector-agent-injector-binding: attache le ClusterRole vault-injector-agent-injector-clusterrole au compte de service vault-injector-agent-injector
vault-injector-server-binding : fournit system:auth-delegator au compte de service vault-injector
Déploiement :
vault-injector-agent-injector
Configuration de la méthode d'authentification Kubernetes sur cegedim Vault
Cet article décrit comment activer la méthode auth de kubernetes pour s'authentifier sur l'instance Vault cegedim.cloud en utilisant un jeton de compte de service Kubernetes.
Conditions préalables :
CLI de Vault
Point d'accès autorisé de Kubernetes pour Vault
certificat kubernetes
Activer Méthode d'authentification Kubernetes sur votre cegedim.cloud Services de conteneurs Depuis Vault CLI configuré et connecté à votre cegedim.cloud Vault instance cluster.
Injecter des secrets dans le chemin du pod /vault/secrets/
Cet article décrit comment déployer la base de données PostgreSQL avec le nom d'utilisateur et le mot de passe stockés dans l'instance Vault.
Conditions préalables :
Cluster Kubernetes cegedim.cloud
Instance Vault cegedim.cloud
CLI de Vault
Kubernetes connecté à Vault
Kubectl
Connectez-vous à votre Vault
#Skip vault verification
set VAULT_SKIP_VERIFY=True
#Set vault address
set VAULT_ADDR="https://<my-vault-cluster>.vault.cegedim.cloud/"
#Get vault status
vault status
#Login on vault by selecting ldap method
vault login -method=ldap username="adm-<your-login>"
Créer le moteur demopostgres
Il est important de préfixer tout engine path par ce chemin statique secret/ sinon vous ne pourrez pas administrer avec le rôle d'administrateur de votre BU.
#Create Engine on vault
vault secrets enable -path=secret/demopostgres kv-v2
Créez votre nom d'utilisateur et votre mot de passe DB Secret
#Create your secret on vault
vault kv put secret/demopostgres/db username="myusername" password="mysecret"
#Check secret
vault kv get secret/demopostgres/db
Créer le fichier de politique de lecture JSON C:\Temp\policy_demopostgres.json
Cette action connecte le compte de service Kubernetes sa-demopostgres, de l'espace de noms vault-demopostgres avec la politique Vault policy_demopostgres.
Le jeton renvoyé après l'authentification est valide pendant 24 heures.
#Create Kubernetes Service Account
kubectl create serviceaccount sa-demopostgres --namespace vault-demopostgres
# Verify that the service account has been created
kubectl get serviceaccounts --namespace vault-demopostgres
Créer le fichier de déploiement vault_demopostgres.yaml
Cet article décrit comment déployer SonarQube une application avec une base de données PostgreSQL dont le nom d'utilisateur et le mot de passe sont stockés dans l'instance Vault de cegedim.cloud.
Conditions préalables :
Cluster Kubernetes cegedim.cloud
Instance Vault cegedim.cloud
CLI de Vault
Kubernetes connecté à Vault
Kubectl
Connectez-vous à votre Vault
#Skip vault verification
set VAULT_SKIP_VERIFY=True
#Set vault address
set VAULT_ADDR="https://<my-vault-cluster>.vault.cegedim.cloud/"
#Get vault status
vault status
#Login on vault by selecting ldap method
vault login -method=ldap username="adm-<your-login>"
Créer le moteur demopostgres
Il est important de préfixer tout engine path par ce chemin statique secret/ sinon vous ne pourrez pas administrer avec le rôle d'administrateur de votre BU.
#Create Engine on vault
vault secrets enable -path=secret/demopostgres kv-v2
Créez votre nom d'utilisateur et votre mot de passe DB Secret (ou réutiliser le DB Secret créé précédemment)
#Create your secret on vault
vault kv put secret/demopostgres/db username="myusername" password="mysecret"
#Check secret
vault kv get secret/demopostgres/db
Créer le fichier de politique de lecture JSON C:\Temp\policy_demopostgres.json
Cette action connecte le compte de service Kubernetes sa-demopostgres, de l'espace de noms vault-demopostgres avec la politique Vault policy_demopostgres.
Le jeton renvoyé après l'authentification est valide pendant 24 heures.
Créer un compte de service Kubernetes (ou réutiliser le compte de service créé précédemment)
#Create Kubernetes Service Account
kubectl create serviceaccount sa-demopostgres --namespace vault-demopostgres
# Verify that the service account has been created
kubectl get serviceaccounts --namespace vault-demopostgres
Créer le fichier de déploiement vault_demosonarqube.yaml