====== Proxy d'application : générer et utiliser un certificat pour les applications publiées avec Azure Key Vault ====== ===== Présentation ===== * Certificat de signature SAML * Géré dans Azure Key Vault * Attaché à une App Registration * Renouvellement automatique via GitHub Actions * Zéro interruption (chevauchement des certificats) Architecture globale dans Entra ID: App Registration ├─ Certificats OAuth ├─ GitHub Actions (OIDC) ├─ Key Vault └─ Microsoft Graph GitHub Actions │ ▼ (OIDC, sans secret) Azure Entra ID │ ▼ Azure Key Vault ←─── Génération / rotation du certificat │ ▼ App Registration (SAML) * Pas de secrets dans GitHub * Authentification par OIDC Federated Credentials * Conformité Microsoft / Zero Trust Cas standard Microsoft OAuth : * Protocole : OAuth 2.0 / OpenID Connect * Méthode d’authentification : client\_secret\_post ou client\_secret\_basic * Objet Entra ID utilisé : Inscription d’application * SAML : NON => Application d’entreprise NON requise ^ Élément ^ Gérer SAML ^ Gérer certificats / secrets & automation ^ |Inscription d'applications| NON | OUI | |Applications d'entreprise| OUI | NON | ===== Prérequis Entra ID ===== * Une App Registration existante * Type : Single tenant * Usage : SAML * Un Key Vault * SKU Standard * Soft delete activé (par défaut) ===== Créer un Key Vaults (coffres de clé) ===== * créer un Key Vaults : * choisir l'abonnement * créer un groupe de ressources * définir le nom du coffre de clé * choisir la région et le niveau tarifaire standard Lien d'information sur la tarification : https://azure.microsoft.com/fr-fr/pricing/details/key-vault/ * Accéder au coffre de clé : * dans le contrôle d'accès (IAM), donner le rôle **Agent des certificats Key Vault** plutôt que **Administrateur Key Vault** à l'utilisateur qui va créer et gérer les certificats * l'Onglet **Attributions de rôles** permet de vérifier les rôles affectés ===== Création de l’App Registration dans le Portail Azure ===== * Accéder au **portail Azure** puis **Microsoft Entra ID**. * Choisir **Inscription d'applications**. * Puis **Nouvelle inscription** : * Nom : signature-Valadon, * Type de compte : Locataire uniquement, * URI de redirection Web : https://your-domain/api/auth/callback/microsoft * Cliquer sur **S'inscrire**. Noter : * ID client * ID du Tenant Définir les autorisations d'API suivantes : * openid * profile * email * User.Read ==== Créer le secret client ==== * dans **Certificats et secrets** * Choisir **Nouveau secret client** * Description : **app-secret** * Date d'expiration : 24 mois * Puis **Ajouter** Noter le secret client ==== Vérification ==== * Dans Authentification : l'URI de redirection Web doit être https://your-domain/api/auth/callback/microsoft * Dans Authentification puis l'onglet **Paramètres** : * ne pas cocher **Jetons d’accès (utilisés pour les flux implicites)** ni. **Jetons d’ID (utilisés pour les flux implicites et hybrides)** * ne pas activer les flux clients publics * ne pas configurer de verrou de propriété d'instance d'application ===== Créer un certificat ===== * accéder au coffre de clé * dans la rubrique **Objets**, choisir **Certificats** * Cliquer sur **+ Générer / Importer** * Définir les paramètres suivants : * Method : Generate * Name : documenso-cert * Type : Self-signed * Subject : CN=sign.educ-valadon-limoges.fr * Validité : 24 mois * Type de contenu : PCKS#12 * Type d'actions de la durée de vie : Renouveller en fonction d'un pourcentage de la durée de vie * pourcentage de la durée de vie : 80% Cliquer sur Créer jouter le rôle : Agent des secrets Key Vault ===== Export du certificat ===== Une fois créé : * cliquer sur le certificat * puis télécharger : * .PFX (nécessaire pour proxy / serveur) * .CER (public uniquement) ===== Configurer Azure Application Proxy ===== * Dasn le Portail Azure accéder à l'application d'entreprise Étape A — Installer le connecteur 👉 Sur ton serveur interne : Azure → Application Proxy Télécharger le connector L’installer ✅ Le serveur devient un point d’accès interne sécurisé ===== Automatisation GitHub (rotation du secret) ===== * App Registration => Certificates & secrets => Informations d'identité fédérées * Choisir **Ajouter un justificatif** avec les paramètres suivants : * Scenario : Actions GitHub déployant des ressources Azure * epo : ORG/REPO Branch : main