Uwierzytelnianie w usłudze Azure Key Vault
Uwierzytelnianie za pomocą usługi Key Vault współpracuje z identyfikatorem Entra firmy Microsoft, który jest odpowiedzialny za uwierzytelnianie tożsamości dowolnego podmiotu zabezpieczeń. Podmiot zabezpieczeń to wszystko, co może żądać dostępu do zasobów platformy Azure. Obejmuje to:
- Użytkownicy — rzeczywiste osoby z kontami w usłudze Microsoft Entra ID.
- Grupy — kolekcje użytkowników. Uprawnienia podane grupie mają zastosowanie do wszystkich jej członków.
- Jednostki usługi — reprezentują aplikacje lub usługi (a nie osoby). Pomyśl o tym jak o koncie użytkownika dla aplikacji.
W przypadku aplikacji istnieją dwa główne sposoby uzyskiwania jednostki usługi:
Użyj tożsamości zarządzanej (zalecane): platforma Azure tworzy jednostkę usługi i zarządza nią. Aplikacja może bezpiecznie uzyskiwać dostęp do innych usług platformy Azure bez przechowywania poświadczeń. Współpracuje z usługami, takimi jak App Service, Azure Functions i Virtual Machines.
Ręczne rejestrowanie aplikacji: zarejestruj aplikację w identyfikatorze Entra firmy Microsoft. Spowoduje to utworzenie jednostki głównej usługi oraz obiektu aplikacji, który identyfikuje aplikację we wszystkich dzierżawach.
Notatka
Zaleca się użycie tożsamości zarządzanej przypisanej przez system.
Uwierzytelnianie w usłudze Key Vault w kodzie aplikacji
Zestaw SDK usługi Key Vault korzysta z biblioteki klienta tożsamości platformy Azure, która umożliwia bezproblemowe uwierzytelnianie w usłudze Key Vault w środowiskach z tym samym kodem. Poniższa tabela zawiera informacje o bibliotekach klienta usługi Azure Identity:
.NET | Pyton | Jawa | JavaScript |
---|---|---|---|
Azure Identity SDK dla platformy .NET | Azure Identity SDK dla Pythona | Azure Identity SDK Java | JavaScript zestawu Sdk tożsamości platformy Azure |
Uwierzytelnianie w usłudze Key Vault za pomocą interfejsu REST
Tokeny dostępu muszą być wysyłane do usługi przy użyciu nagłówka autoryzacji HTTP:
PUT /keys/MYKEY?api-version=<api_version> HTTP/1.1
Authorization: Bearer <access_token>
Jeśli nie zostanie podany token dostępu, lub jeśli usługa odrzuci token, do klienta zwracany jest błąd HTTP 401
i zawiera nagłówek WWW-Authenticate
, na przykład:
401 Not Authorized
WWW-Authenticate: Bearer authorization="…", resource="…"
Parametry nagłówka WWW-Authenticate
są:
autoryzacja: adres usługi autoryzacji OAuth2, która może służyć do uzyskania tokenu dostępu dla żądania.
resource: nazwa zasobu (
https://vault.azure.net
) do użycia w żądaniu autoryzacji.