Przewodnik dewelopera usługi Azure Key Vault
Usługa Azure Key Vault umożliwia bezpieczny dostęp do poufnych informacji z poziomu aplikacji:
- Klucze, wpisy tajne i certyfikaty są chronione bez konieczności samodzielnego pisania kodu i łatwego używania ich z aplikacji.
- Umożliwiasz klientom posiadanie własnych kluczy, wpisów tajnych i certyfikatów oraz zarządzanie nimi, dzięki czemu można skoncentrować się na dostarczaniu podstawowych funkcji oprogramowania. W ten sposób aplikacje nie będą ponosić odpowiedzialności ani potencjalnej odpowiedzialności za klucze dzierżawy, wpisy tajne i certyfikaty klientów.
- Aplikacja może używać kluczy do podpisywania i szyfrowania, ale zachować zarządzanie kluczami poza aplikacją. Aby uzyskać więcej informacji, zobacz About keys (Informacje o kluczach).
- Możesz zarządzać poświadczeniami, takimi jak hasła, klucze dostępu i tokeny SAS, przechowując je w usłudze Key Vault jako wpisy tajne. Aby uzyskać więcej informacji, zobacz About secrets (Informacje o wpisach tajnych).
- Zarządzanie certyfikatami. Aby uzyskać więcej informacji, zobacz About certificates (Informacje o certyfikatach).
Aby uzyskać ogólne informacje na temat usługi Azure Key Vault, zobacz About Azure Key Vault (Informacje o usłudze Azure Key Vault).
Publiczne wersje zapoznawcze
Okresowo udostępniamy publiczną wersję zapoznawcza nowej funkcji usługi Key Vault. Wypróbuj funkcje publicznej wersji zapoznawczej i daj nam znać, co myślisz za pośrednictwem azurekeyvault@microsoft.comadresu e-mail z naszą opinią.
Tworzenie magazynów kluczy i zarządzanie nimi
Podobnie jak w przypadku innych usług platformy Azure usługa Key Vault jest zarządzana za pośrednictwem usługi Azure Resource Manager. Usługa Azure Resource Manager to usługa wdrażania i zarządzania dla platformy Azure. Można jej użyć do tworzenia, aktualizowania i usuwania zasobów na koncie platformy Azure.
Kontrola dostępu oparta na rolach (RBAC) platformy Azure kontroluje dostęp do warstwy zarządzania, znanej również jako płaszczyzna zarządzania. Płaszczyzna zarządzania w usłudze Key Vault służy do tworzenia magazynów kluczy i ich atrybutów oraz zarządzania nimi, w tym zasad dostępu. Płaszczyzna danych służy do zarządzania kluczami, certyfikatami i wpisami tajnymi.
Możesz użyć wstępnie zdefiniowanej roli Współautor usługi Key Vault, aby udzielić dostępu do zarządzania usłudze Key Vault.
Interfejsy API i zestawy SDK do zarządzania magazynem kluczy
Interfejs wiersza polecenia platformy Azure | PowerShell | Interfejs API REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie | Odwołanie Szybki start |
Odwołanie | Odwołanie | Odwołanie | Odwołanie |
Aby uzyskać informacje o pakietach instalacyjnych i kodzie źródłowym, zobacz Biblioteki klienta.
Uwierzytelnianie w usłudze Key Vault w kodzie
Usługa Key Vault używa uwierzytelniania Entra firmy Microsoft, które wymaga podmiotu zabezpieczeń firmy Microsoft Entra w celu udzielenia dostępu. Podmiot zabezpieczeń firmy Microsoft Entra może być użytkownikiem, jednostką usługi aplikacji, tożsamością zarządzaną dla zasobów platformy Azure lub grupą dowolnego z tych typów.
Najlepsze rozwiązania dotyczące uwierzytelniania
Zalecamy użycie tożsamości zarządzanej dla aplikacji wdrożonych na platformie Azure. Jeśli używasz usług platformy Azure, które nie obsługują tożsamości zarządzanych lub jeśli aplikacje są wdrażane lokalnie, jednostka usługi z certyfikatem jest możliwą alternatywą. W tym scenariuszu certyfikat powinien być przechowywany w usłudze Key Vault i często obracany.
Użyj jednostki usługi z wpisem tajnym dla środowisk deweloperskich i testowych. Użyj podmiotu zabezpieczeń użytkownika na potrzeby programowania lokalnego i usługi Azure Cloud Shell.
W każdym środowisku zalecamy następujące podmioty zabezpieczeń:
- Środowisko produkcyjne: tożsamość zarządzana lub jednostka usługi z certyfikatem.
- Środowiska testowe i programistyczne: tożsamość zarządzana, jednostka usługi z certyfikatem lub jednostka usługi z wpisem tajnym.
- Programowanie lokalne: jednostka użytkownika lub jednostka usługi z wpisem tajnym.
Biblioteki klienta tożsamości platformy Azure
Powyższe scenariusze uwierzytelniania są obsługiwane przez bibliotekę klienta tożsamości platformy Azure i zintegrowane z zestawami SDK usługi Key Vault. Bibliotekę klienta tożsamości platformy Azure można używać w środowiskach i platformach bez konieczności zmieniania kodu. Biblioteka automatycznie pobiera tokeny uwierzytelniania od użytkowników, którzy są zalogowani do użytkownika platformy Azure za pośrednictwem interfejsu wiersza polecenia platformy Azure, programu Visual Studio, programu Visual Studio Code i innych środków.
Aby uzyskać więcej informacji na temat biblioteki klienta tożsamości platformy Azure, zobacz:
.NET | Python | Java | JavaScript |
---|---|---|---|
Zestaw AZURE Identity SDK platformy .NET | Zestaw Sdk tożsamości platformy Azure dla języka Python | Azure Identity SDK Java | JavaScript zestawu Sdk tożsamości platformy Azure |
Uwaga
Zalecamy bibliotekę uwierzytelniania aplikacji dla zestawu .NET SDK usługi Key Vault w wersji 3, ale jest ona teraz przestarzała. Aby przeprowadzić migrację do zestawu .NET SDK usługi Key Vault w wersji 4, postępuj zgodnie ze wskazówkami dotyczącymi migracji appAuthentication do usługi Azure.Identity.
Aby uzyskać samouczki dotyczące uwierzytelniania w usłudze Key Vault w aplikacjach, zobacz:
- Używanie usługi Azure Key Vault z maszyną wirtualną na platformie .NET
- Używanie usługi Azure Key Vault z maszyną wirtualną w języku Python
- Łączenie usługi Key Vault z aplikacją internetową platformy Azure na platformie .NET przy użyciu tożsamości zarządzanej
Zarządzanie kluczami, certyfikatami i wpisami tajnymi
Uwaga
Zestawy SDK dla platform .NET, Python, Java, JavaScript, PowerShell i interfejsu wiersza polecenia platformy Azure są częścią procesu wydawania funkcji usługi Key Vault za pośrednictwem publicznej wersji zapoznawczej i ogólnej dostępności z pomocą zespołu ds. usługi Key Vault. Dostępne są inne klienci zestawu SDK dla usługi Key Vault, ale są kompilowane i obsługiwane przez poszczególne zespoły SDK w usłudze GitHub i udostępniane w harmonogramie zespołów.
Płaszczyzna danych kontroluje dostęp do kluczy, certyfikatów i wpisów tajnych. Zasady dostępu do magazynu lokalnego lub kontrola dostępu na podstawie ról platformy Azure można użyć do kontroli dostępu za pośrednictwem płaszczyzny danych.
Interfejsy API i zestawy SDK dla kluczy
Interfejs wiersza polecenia platformy Azure | PowerShell | Interfejs API REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie | Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Inne biblioteki
Klient kryptografii dla usługi Key Vault i zarządzanego modułu HSM
Ten moduł zawiera klienta kryptografii dla modułu klienta kluczy usługi Azure Key Vault dla języka Go.
Uwaga
Ten projekt nie jest obsługiwany przez zespół zestawu Azure SDK, ale jest zgodny z klientami kryptografii w innych obsługiwanych językach.
Język | Odwołanie |
---|---|
Go | Odwołanie |
Interfejsy API i zestawy SDK dla certyfikatów
Interfejs wiersza polecenia platformy Azure | PowerShell | Interfejs API REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie | Nie dotyczy | Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Interfejsy API i zestawy SDK dla wpisów tajnych
Interfejs wiersza polecenia platformy Azure | PowerShell | Interfejs API REST | Resource Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie | Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Odwołanie Szybki start |
Użycie wpisów tajnych
Usługa Azure Key Vault umożliwia przechowywanie tylko wpisów tajnych dla aplikacji. Przykłady wpisów tajnych, które powinny być przechowywane w usłudze Key Vault, to:
- Wpisy tajne aplikacji klienckiej
- Parametry połączeń
- Passwords
- Klucze dostępu współdzielonego
- Klucze SSH
Wszelkie informacje związane z wpisem tajnym, takie jak nazwy użytkowników i identyfikatory aplikacji, mogą być przechowywane jako tag w kluczu tajnym. W przypadku innych poufnych ustawień konfiguracji należy użyć aplikacja systemu Azure Configuration.
Informacje
Aby uzyskać informacje o pakietach instalacyjnych i kodzie źródłowym, zobacz Biblioteki klienta.
Aby uzyskać informacje o zabezpieczeniach płaszczyzny danych dla usługi Key Vault, zobacz Funkcje zabezpieczeń usługi Azure Key Vault.
Używanie usługi Key Vault w aplikacjach
Aby korzystać z najnowszych funkcji usługi Key Vault, zalecamy używanie dostępnych zestawów SDK usługi Key Vault do używania wpisów tajnych, certyfikatów i kluczy w aplikacji. Zestawy SDK usługi Key Vault i interfejs API REST są aktualizowane w miarę wydawania nowych funkcji dla produktu i przestrzegają najlepszych rozwiązań i wytycznych.
W przypadku podstawowych scenariuszy istnieją inne biblioteki i rozwiązania integracji do uproszczonego użycia, które są obsługiwane przez partnerów firmy Microsoft lub społeczności open source.
W przypadku certyfikatów można użyć:
- Rozszerzenie maszyny wirtualnej usługi Key Vault, które zapewnia automatyczne odświeżanie certyfikatów przechowywanych w magazynie kluczy platformy Azure. Aby uzyskać więcej informacji, zobacz:
- integracja usługi aplikacja systemu Azure, która może importować i automatycznie odświeżać certyfikaty z usługi Key Vault. Aby uzyskać więcej informacji, zobacz Importowanie certyfikatu z usługi Key Vault.
W przypadku wpisów tajnych można użyć:
- Wpisy tajne usługi Key Vault z ustawieniami aplikacji usługi App Service. Aby uzyskać więcej informacji, zobacz Use Key Vault references for App Service and Azure Functions (Używanie odwołań usługi Key Vault dla usług App Service i Azure Functions).
- Odwołania do usługi Key Vault z usługą aplikacja systemu Azure Configuration w celu usprawnienia dostępu aplikacji do konfiguracji i wpisów tajnych. Aby uzyskać więcej informacji, zobacz Use Key Vault references in aplikacja systemu Azure Configuration (Używanie odwołań do usługi Key Vault w konfiguracji aplikacja systemu Azure).
Przykłady kodu
Aby zapoznać się z kompletnymi przykładami używania usługi Key Vault z aplikacjami, zobacz Przykłady kodu usługi Azure Key Vault.
Wskazówki specyficzne dla zadania
Następujące artykuły i scenariusze zawierają wskazówki specyficzne dla zadań dotyczące pracy z usługą Azure Key Vault:
- Aby uzyskać dostęp do magazynu kluczy, aplikacja kliencka musi mieć dostęp do wielu punktów końcowych dla różnych funkcji. Zobacz Uzyskiwanie dostępu do usługi Key Vault za zaporą.
- Aplikacja w chmurze uruchomiona na maszynie wirtualnej platformy Azure wymaga certyfikatu. Jak uzyskać ten certyfikat na tej maszynie wirtualnej? Zobacz Rozszerzenie maszyny wirtualnej usługi Key Vault dla rozszerzenia maszyny wirtualnej systemu Windows lub Key Vault dla systemu Linux.
- Aby przypisać zasady dostępu przy użyciu interfejsu wiersza polecenia platformy Azure, programu PowerShell lub witryny Azure Portal, zobacz Przypisywanie zasad dostępu usługi Key Vault.
- Aby uzyskać wskazówki dotyczące używania i cyklu życia magazynu kluczy oraz różnych obiektów magazynu kluczy z włączonym usuwaniem nietrwałym, zobacz Zarządzanie odzyskiwaniem usługi Azure Key Vault z usuwaniem nietrwałym i ochroną przed przeczyszczeniem.
- Jeśli podczas wdrażania musisz przekazać bezpieczną wartość (na przykład hasło) jako parametr, możesz przechowywać wartość jako wpis tajny w magazynie kluczy i odwoływać się do wartości w innych szablonach usługi Resource Manager. Zobacz Używanie usługi Azure Key Vault do przekazywania bezpiecznych wartości parametrów podczas wdrażania.
Integracja z usługą Key Vault
Następujące usługi i scenariusze używają lub integrują się z usługą Key Vault:
- Szyfrowanie magazynowane umożliwia kodowanie (szyfrowanie) danych podczas ich utrwalania. Klucze szyfrowania danych są często szyfrowane przy użyciu klucza szyfrowania kluczy w usłudze Azure Key Vault w celu dalszego ograniczenia dostępu.
- Usługa Azure Information Protection umożliwia zarządzanie własnym kluczem dzierżawy. Na przykład zamiast zarządzać kluczem dzierżawy przez firmę Microsoft (ustawienie domyślne) możesz zarządzać własnym kluczem dzierżawy, aby zachować zgodność z określonymi przepisami dotyczącymi organizacji. Zarządzanie własnym kluczem dzierżawy jest również nazywane użyciem własnego klucza (BYOK).
- Usługa Azure Private Link umożliwia dostęp do usług platformy Azure (na przykład azure Key Vault, Azure Storage i Azure Cosmos DB) oraz usług klienta/partnera hostowanych przez platformę Azure za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej.
- Integracja usługi Key Vault z usługą Azure Event Grid umożliwia użytkownikom powiadamianie o zmianie stanu wpisu tajnego przechowywanego w usłudze Key Vault. Nowe wersje wpisów tajnych można dystrybuować do aplikacji lub obracać wpisy tajne bliskie wygaśnięcia, aby zapobiec awariom.
- Chroń wpisy tajne usługi Azure DevOps przed niechcianym dostępem w usłudze Key Vault.
- Użyj wpisów tajnych przechowywanych w usłudze Key Vault, aby nawiązać połączenie z usługą Azure Storage z usługi Azure Databricks.
- Skonfiguruj i uruchom dostawcę usługi Azure Key Vault dla sterownika CSI magazynu wpisów tajnych na platformie Kubernetes.
Omówienie i pojęcia dotyczące usługi Key Vault
Aby dowiedzieć się więcej o:
- Funkcja umożliwiająca odzyskiwanie usuniętych obiektów, niezależnie od tego, czy usunięcie było przypadkowe, czy zamierzone, zobacz Omówienie usuwania nietrwałego usługi Azure Key Vault.
- Podstawowe pojęcia dotyczące ograniczania przepustowości i uzyskiwania podejścia do aplikacji można znaleźć w temacie Wskazówki dotyczące ograniczania przepustowości usługi Azure Key Vault.
- Relacje między regionami i obszarami zabezpieczeń można znaleźć w temacie Azure Key Vault security worlds and geographic granice.