S’authentifier auprès d’Azure Key Vault

Effectué

L’authentification avec Key Vault fonctionne avec l’ID Microsoft Entra, qui est responsable de l’authentification de l’identité d’un principal de sécurité donné. Un principal de sécurité est tout ce qui peut demander l’accès aux ressources Azure. Cela inclut les éléments suivants :

  • Utilisateurs : personnes réelles avec des comptes dans Microsoft Entra ID.
  • Groupes : collections d’utilisateurs. Les autorisations accordées au groupe s’appliquent à tous ses membres.
  • Principaux de services – représentent des applications ou des services (et non des personnes). Considérez-le comme un compte d’utilisateur pour une application.

Pour les applications, il existe deux façons principales d’obtenir un principal de service :

  • Utilisez une identité managée (recommandée) : Azure crée et gère le principal de service pour vous. L’application peut accéder en toute sécurité à d’autres services Azure sans stocker d’informations d’identification. Fonctionne avec des services tels que App Service, Azure Functions et machines virtuelles.

  • Inscrivez l’application manuellement : vous inscrivez l’application dans l’ID Microsoft Entra. Cela crée un principal de service et un objet d’application qui identifie l’application sur tous les locataires.

Remarque

Il est recommandé d’utiliser une identité managée affectée par le système.

Authentification auprès de Key Vault dans le code d’application

Le Kit de développement logiciel (SDK) Key Vault utilise la bibliothèque de client Azure Identity, qui permet une authentification transparente auprès de Key Vault dans les environnements avec le même code. Le tableau suivant fournit des informations sur les bibliothèques clientes Azure Identity :

.NET Python Java JavaScript
Kit de développement logiciel (SDK) Azure Identity .NET Kit de développement logiciel (SDK) Azure Identity Python Kit de développement logiciel (SDK) Azure Identity SDK Java kit de développement logiciel (SDK) Azure Identity JavaScript

Authentification auprès de Key Vault avec REST

Les jetons d’accès doivent être envoyés au service à l’aide de l’en-tête d’autorisation HTTP :

PUT /keys/MYKEY?api-version=<api_version>  HTTP/1.1  
Authorization: Bearer <access_token>

Lorsqu’un jeton d’accès n’est pas fourni ou lorsque le service rejette un jeton, une HTTP 401 erreur est retournée au client et inclut l’en-tête WWW-Authenticate , par exemple :

401 Not Authorized  
WWW-Authenticate: Bearer authorization="…", resource="…"

Les paramètres de l’en-tête WWW-Authenticate sont les suivants :

  • autorisation : adresse du service d’autorisation OAuth2 qui peut être utilisée pour obtenir un jeton d’accès pour la demande.

  • ressource : nom de la ressource (https://vault.azure.net) à utiliser dans la demande d’autorisation.

Autres ressources