Verifiëren bij Azure Key Vault
Verificatie met Key Vault werkt met Microsoft Entra-id, die verantwoordelijk is voor het verifiëren van de identiteit van een bepaalde beveiligingsprincipaal. Een beveiligingsprincipaal is alles wat toegang tot Azure-resources kan aanvragen. Dit omvat:
- Gebruikers: echte mensen met accounts in Microsoft Entra ID.
- Groepen : verzamelingen gebruikers. Machtigingen die aan de groep zijn verleend, zijn van toepassing op alle leden.
- Serviceprincipals zijn entiteiten die applicaties of toepassingen vertegenwoordigen (niet personen). U kunt het zien als een gebruikersaccount voor een app.
Voor toepassingen zijn er twee manieren om een service-principal te verkrijgen:
Gebruik een beheerde identiteit (aanbevolen): Azure maakt en beheert de service-principal voor u. De app heeft veilig toegang tot andere Azure-services zonder referenties op te slaan. Werkt met services zoals App Service, Azure Functions en Virtual Machines.
Registreer de app handmatig: u registreert de app in Microsoft Entra ID. Hiermee maakt u een service principal en een app-object dat de app identificeert in alle tenants.
Notitie
Het is raadzaam om een door het systeem toegewezen beheerde identiteit te gebruiken.
Verificatie voor Key Vault in toepassingscode
Key Vault SDK maakt gebruik van de Azure Identity-clientbibliotheek, waarmee naadloze verificatie naar Key Vault in omgevingen met dezelfde code mogelijk is. De volgende tabel bevat informatie over de Azure Identity-clientbibliotheken:
| .NET | Python | Java | Javascript |
|---|---|---|---|
| Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Authenticatie voor Key Vault met REST
Toegangstokens moeten naar de service worden verzonden met behulp van de HTTP-autorisatieheader:
PUT /keys/MYKEY?api-version=<api_version> HTTP/1.1
Authorization: Bearer <access_token>
Wanneer er geen toegangstoken wordt opgegeven of wanneer de service een token weigert, wordt er een HTTP 401 fout geretourneerd naar de client en wordt de WWW-Authenticate header opgenomen, bijvoorbeeld:
401 Not Authorized
WWW-Authenticate: Bearer authorization="…", resource="…"
De parameters in de WWW-Authenticate header zijn:
autorisatie: het adres van de OAuth2-autorisatieservice die kan worden gebruikt om een toegangstoken voor de aanvraag te verkrijgen.
resource: de naam van de resource (
https://vault.azure.net) die moet worden gebruikt in de autorisatieaanvraag.