przewodnik dewelopera Azure Key Vault

Azure Key Vault to usługa w chmurze, która zapewnia bezpieczny magazyn kluczy kryptograficznych, wpisów tajnych i certyfikatów oraz zarządzanie nimi. Ten przewodnik pomaga deweloperom zintegrować Key Vault ze swoimi aplikacjami.

Przegląd

Azure Key Vault umożliwia:

  • Bezpieczny magazyn: chroń klucze, tajne dane i certyfikaty bez konieczności pisania specjalnego kodu zabezpieczeń.
  • Uproszczone zarządzanie kluczami: scentralizowanie operacji kryptograficznych i zarządzania cyklem życia kluczy.
  • Klucze należące do klienta: umożliwia klientom zarządzanie własnymi kluczami podczas skupiania się na podstawowych funkcjach aplikacji.
  • Zarządzanie kluczami zewnętrznymi: używaj kluczy do podpisywania i szyfrowania, zachowując je poza aplikacją.

Aby uzyskać ogólne informacje na temat Azure Key Vault, zobacz Informacje Azure Key Vault.

Scenariusze dla deweloperów

Typowe zadania deweloperów z Key Vault obejmują:

  • Przechowywanie i odzyskiwanie sekretów: Zarządzaj bezpiecznie parametrami połączenia, hasłami, kluczami API i tokenami SAS. Aby uzyskać więcej informacji, zobacz O tajemnicach.
  • Użyj kluczy do szyfrowania i podpisywania: wykonaj operacje kryptograficzne bez uwidaczniania materiału klucza w aplikacji. Aby uzyskać więcej informacji, zobacz About keys (Informacje o kluczach).
  • Zarządzanie certyfikatami: automatyzowanie aprowizacji, odnawiania i wdrażania certyfikatów dla protokołu SSL/TLS. Aby uzyskać więcej informacji, zobacz About certificates (Informacje o certyfikatach).

Publiczne wersje zapoznawcze

Microsoft okresowo publikuje publiczne wersje zapoznawcze nowych funkcji Key Vault. Aby wypróbować funkcje w wersji zapoznawczej i przekazać opinię, skontaktuj się z zespołem pod adresem azurekeyvault@microsoft.com. Aby uzyskać informacje o najnowszych funkcjach i aktualizacjach, sprawdź Co nowego w Azure Key Vault.

Tworzenie magazynów kluczy i zarządzanie nimi

Key Vault używa modelu dostępu opartego na dwóch płaszczyznach:

  • Kontrola płaszczyzny: zarządza samym zasobem Key Vault (tworzenie, usuwanie, aktualizowanie właściwości, przypisywanie zasad dostępu). Operacje są zarządzane za pośrednictwem Azure Resource Manager. Aby uzyskać informacje na temat kontroli dostępu, zobacz Przydziel zasady dostępu Key Vault.
  • płaszczyzna Data: zarządza danymi przechowywanymi w Key Vault (klucze, wpisy tajne, certyfikaty). Dostęp jest kontrolowany za pomocą Azure RBAC z Key Vault.

Użyj wstępnie zdefiniowanej roli Key Vault Kontrybutor, aby udzielić dostępu do zarządzania zasobom Key Vault. Aby uzyskać więcej informacji na temat uwierzytelniania i autoryzacji, zobacz Authentication w Azure Key Vault.

Bezpieczeństwo sieci

Zmniejszenie narażenia sieci przez skonfigurowanie prywatnych punktów końcowych, zapór lub punktów końcowych usługi. Aby uzyskać kompleksowe wskazówki dotyczące zabezpieczeń sieci, w tym opcje konfiguracji od większości do najmniej restrykcyjnych, zobacz Secure your Azure Key Vault: Network Security and Configure Azure Key Vault networking settings(

API i SDK do zarządzania sejfem kluczy

Poniższa tabela zawiera zestawy SDK i przewodniki szybkiego startu dotyczące zarządzania operacjami płaszczyzny sterowania zasobami Key Vault. Aby uzyskać najnowsze wersje i instrukcje dotyczące instalacji, zobacz Biblioteki klienta.

Azure CLI PowerShell interfejs API REST Menedżer Zasobów .NET Python Java JavaScript
Referencja
Szybki start
Referencja
Szybki start
Referencja Referencja
Szybki start
Referencja Referencja Referencja Referencja

Zaloguj się do Key Vault za pomocą kodu

Key Vault używa uwierzytelniania Microsoft Entra, które wymaga podmiotu zabezpieczeń Microsoft Entra w celu przydzielenia dostępu. Podmiot zabezpieczeń Microsoft Entra może być użytkownikiem, podmiotem usługi aplikacji, zarządzaną tożsamością dla zasobów Azure lub grupą dowolnego z tych typów.

Najlepsze rozwiązania dotyczące uwierzytelniania

W przypadku aplikacji wdrożonych w Azure użyj tożsamości zarządzanych, aby wyeliminować konieczność przechowywania poświadczeń w kodzie. Aby uzyskać szczegółowe wskazówki dotyczące uwierzytelniania oraz zalecenia dotyczące jednostek zabezpieczeń dla różnych środowisk (produkcyjne, deweloperskie, lokalne), zobacz Uwierzytelnianie w Azure Key Vault i Bezpieczeństwo Azure Key Vault.

biblioteki klienta usługi Azure Identity

Powyższe scenariusze uwierzytelniania są obsługiwane przez bibliotekę klienta Azure Identity i zintegrowaną z zestawami SDK Key Vault. Bibliotekę klienta Azure Identity 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 Azure za pośrednictwem Azure CLI, Visual Studio, Visual Studio Code i innych środków.

Aby uzyskać więcej informacji na temat biblioteki klienta Azure Identity, zobacz:

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

Uwaga

Zalecaliśmy App Authentication library dla zestawu SDK Key Vault .NET w wersji 3, ale jest teraz przestarzała. Aby przeprowadzić migrację do Key Vault .NET SDK w wersji 4, postępuj zgodnie z instrukcjami migracji z AppAuthentication do Azure.Identity.

Aby uzyskać samouczki dotyczące uwierzytelniania w aplikacjach do Key Vault, zobacz:

Zarządzanie kluczami, certyfikatami i wpisami tajnymi

Uwaga

Zestawy SDK dla .NET, Python, Java, JavaScript, PowerShell i Azure CLI są częścią procesu wydawania funkcji Key Vault poprzez wersję publiczną i ogólną dostępność przy wsparciu zespołu ds. usług Key Vault. Inni klienci zestawu SDK dla Key Vault są dostępni, ale są kompilowane i obsługiwane przez poszczególne zespoły zestawu SDK w GitHub i udostępniane w harmonogramie zespołów. Aby zapoznać się z najnowszymi wersjami zestawu SDK i pakietami instalacyjnymi, zobacz Biblioteki klienta.

Płaszczyzna danych kontroluje dostęp do kluczy, certyfikatów i sekretów. Kontrolę dostępu na płaszczyźnie danych można realizować za pomocą Azure RBAC dla Key Vault.

API i SDK dla kluczy

W poniższej tabeli wymieniono zestawy SDK i przewodniki szybkiego startu do pracy z kluczami (operacje na płaszczyźnie danych). Aby uzyskać więcej informacji na temat kluczy, zobacz About keys (Informacje o kluczach).

Azure CLI PowerShell interfejs API REST Menedżer Zasobów .NET Python Java JavaScript
Referencja
Szybki start
Referencja
Szybki start
Referencja Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start

Inne biblioteki

Klient kryptografii dla Key Vault i zarządzanej usługi HSM

Ten moduł zawiera klienta kryptografii dla modułu klienta Azure Key Vault Keys dla języka Go.

Uwaga

Ten projekt nie jest obsługiwany przez zespół Azure SDK, ale jest zgodny z klientami kryptografii w innych obsługiwanych językach.

Język Źródło
Go Referencja

Interfejsy API i zestawy SDK dla certyfikatów

W poniższej tabeli wymieniono pakiety SDK i przewodniki szybkiego startu dotyczące pracy z certyfikatami (operacje na płaszczyźnie danych). Aby uzyskać więcej informacji na temat certyfikatów, zobacz About certificates (Informacje o certyfikatach).

Azure CLI PowerShell interfejs API REST Menedżer Zasobów .NET Python Java JavaScript
Referencja
Szybki start
Referencja
Szybki start
Referencja N/A Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start

Interfejsy API i zestawy SDK do zarządzania tajemnicami

W poniższej tabeli wymieniono zestawy SDK i przewodniki szybkiego startu dotyczące pracy z tajnymi danymi (operacje płaszczyzny danych). Aby uzyskać więcej informacji na temat tajemnic, zobacz About secrets.

Azure CLI PowerShell interfejs API REST Menedżer Zasobów .NET Python Java JavaScript
Referencja
Szybki start
Referencja
Szybki start
Referencja Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start
Referencja
Szybki start

Użycie tajemnic

Użyj Azure Key Vault do przechowywania wyłącznie tajnych informacji dla swojej aplikacji. Przykłady wpisów tajnych, które powinny być przechowywane w Key Vault obejmują:

  • Sekrety aplikacji klienckiej
  • Łańcuchy połączenia
  • Hasła
  • Klucze dostępu współdzielonego
  • Klucze SSH

Wszelkie informacje związane z tajemnicami, takie jak nazwy użytkowników i identyfikatory aplikacji, mogą być przechowywane jako tag w sekrecie. W przypadku innych poufnych ustawień konfiguracji należy użyć Azure App Configuration.

Aby uzyskać informacje o pakietach instalacyjnych i kodzie źródłowym, zobacz Biblioteki klienta.

Używanie Key Vault w aplikacjach

Aby korzystać z najnowszych funkcji w Key Vault, zalecamy używanie dostępnych zestawów SDK Key Vault do używania wpisów tajnych, certyfikatów i kluczy w aplikacji. Zestawy SDK 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 z obsługą partnerów Microsoft lub społeczności open source.

W przypadku certyfikatów można użyć:

Dla tajemnic można użyć:

  • Tajne informacje Key Vault z ustawieniami aplikacji App Service. Aby uzyskać więcej informacji, zobacz Use Key Vault references for App Service and Azure Functions (Informacje o usłudze App Service i Azure Functions.
  • Odwołania do usługi Key Vault we współpracy z Azure App Configuration w celu usprawnienia dostępu aplikacji do konfiguracji i tajemnic. Aby uzyskać więcej informacji, zobacz Używanie odwołań do Key Vault w Azure App Configuration.

Przykłady kodu

Aby zapoznać się z kompletnymi przykładami używania Key Vault z aplikacjami, zobacz Azure Key Vault przykłady kodu.

Wskazówki specyficzne dla zadania

Następujące artykuły i scenariusze zawierają wskazówki specyficzne dla zadań dotyczące pracy z Azure Key Vault:

Integracja z Key Vault

Następujące usługi i scenariusze używają lub integrują się z Key Vault:

  • Szyfrowanie w spoczynku umożliwia szyfrowanie danych w momencie ich przechowywania. Klucze szyfrowania danych są często szyfrowane za pomocą klucza do szyfrowania kluczy w Azure Key Vault, aby dodatkowo ograniczyć dostęp.
  • Azure Information Protection umożliwia zarządzanie własnym kluczem dzierżawy. Na przykład, zamiast zarządzania kluczem dzierżawy przez Microsoft (ustawienie domyślne), możesz zarządzać własnym kluczem dzierżawy, aby spełnić określone przepisy dotyczące twojej organizacji. Zarządzanie własnym kluczem dzierżawy jest również nazywane przynoszeniem własnego klucza (BYOK).
  • Azure Private Link umożliwia dostęp do usług Azure (na przykład Azure Key Vault, Azure Storage i Azure Cosmos DB) oraz usług klientów/partnerów hostowanych na platformie Azure za pośrednictwem prywatnego węzła w swojej wirtualnej sieci.
  • Key Vault integracja z Azure Event Grid umożliwia użytkownikom otrzymywanie powiadomień o zmianie statusu tajemnicy przechowywanej w Key Vault. Nowe wersje sekretów można dystrybuować do aplikacji lub rotować te, które są zbliżające się do wygaśnięcia, aby zapobiec awariom.
  • Chroń wpisy tajne Azure DevOps przed niepożądanym dostępem w usłudze Key Vault.
  • Użyj tajemnic przechowywanych w Key Vault, aby połączyć się z Azure Storage z Azure Databricks.
  • Skonfiguruj i uruchom dostawcę Azure Key Vault dla Secrets Store CSI driver na platformie Kubernetes.

Ciągłość biznesowa i odzyskiwanie po awarii

Key Vault zapewnia wbudowane odzyskiwanie po awarii z automatyczną replikacją regionalną. W przypadku wdrożeń produkcyjnych włącz miękkie usuwanie i ochronę przed usuwaniem ostatecznym oraz zaimplementuj regularne kopie zapasowe. Aby uzyskać więcej informacji, zobacz Azure Key Vault dostępność i nadmiarowość, Azure Key Vault odzyskiwanie i Azure Key Vault kopie zapasowe.

Wydajność i skalowalność   

Podczas tworzenia aplikacji korzystających z Key Vault należy wziąć pod uwagę następujące najlepsze rozwiązania dotyczące wydajności i skalowalności:

  • Limity Service: Key Vault ma limity usługi dla transakcji na jeden skarbiec na jeden region. Przekroczenie tych limitów powoduje ograniczenie przepustowości. Aby uzyskać więcej informacji, zobacz Azure Key Vault limity usług.
  • Wskazówki dotyczące ograniczania przepustowości: Zaimplementuj logikę ponawiania przy użyciu wycofywania wykładniczego, aby obsłużyć odpowiedzi ograniczania przepustowości. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące ograniczania zasobów w Azure Key Vault.
  • Caching: Buforowanie wpisów tajnych i certyfikatów w aplikacji w celu zmniejszenia liczby wywołań Key Vault i poprawy wydajności.
  • Zarządzanie połączeniami: Ponownie używaj połączeń HTTP do Key Vault, jeśli to możliwe, aby zmniejszyć opóźnienia i zwiększyć wydajność.

Monitorowanie i rejestrowanie

Włącz rejestrowanie i monitorowanie pod kątem zabezpieczeń, zgodności i rozwiązywania problemów. Konfigurowanie ustawień diagnostycznych, powiadomień usługi Event Grid i alertów dotyczących zdarzeń krytycznych. Aby uzyskać szczegółowe wskazówki, zobacz Monitorowanie Azure Key Vault, Rejestrowanie Azure Key Vault, Monitorowanie Key Vault za pomocą Azure Event Grid i Secure your Azure Key Vault: Logging and Wykrywanie zagrożeń.

Typowe parametry i wzorce żądań

Podczas pracy z interfejsem API REST Key Vault pomocne jest zrozumienie typowych parametrów i wzorców żądań/odpowiedzi:

  • Wersje API: Key Vault używa wersjonowanych interfejsów API. Zawsze określ wersję interfejsu API w żądaniach.
  • Żądania uwierzytelniania: informacje na temat sposobu uzyskiwania i użycia tokenów uwierzytelniania, w tym typowych nagłówków żądań i formatów odpowiedzi. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie, żądania i odpowiedzi.
  • Kody błędów: Zapoznaj się z typowymi kodami błędów interfejsu API REST, aby bezpiecznie obsługiwać błędy. Aby uzyskać więcej informacji, zobacz Azure Key Vault kody błędów interfejsu API REST.

Rozwiązywanie problemów

Aby uzyskać pomoc dotyczącą rozwiązywania typowych problemów:

Najlepsze rozwiązania dotyczące zabezpieczeń

Aby uzyskać kompleksowe wskazówki dotyczące zabezpieczeń, takie jak zarządzanie tożsamościami i dostępem, ochrona danych, zgodność, ład i strategie tworzenia kopii zapasowych, zobacz Secure your Azure Key Vault.

Dodatkowe zasoby

Koncepcje Key Vault

Zarządzanie i operacje

Społeczność i wsparcie

  • Microsoft Q& A — Zadaj pytania i uzyskaj odpowiedzi od społeczności.
  • Stack Overflow for Key Vault - Techniczne Pytania i Odpowiedzi od deweloperów.
  • Azure Feedback — Przesyłanie żądań funkcji i opinii.