Co to jest usługa Azure Key Vault?What is Azure Key Vault?

Aplikacje w chmurze i używają kluczy kryptograficznych i wpisów tajnych, aby zapewnić informacje, bezpieczne.Cloud applications and services use cryptographic keys and secrets to help keep information secure. Usługa Azure Key Vault chroni klucze i wpisy tajne.Azure Key Vault safeguards these keys and secrets. Korzystając z usługi Key Vault możesz szyfrować klucze uwierzytelniania, klucze konta magazynu, klucze szyfrowania danych, pliki PFX i hasła przy użyciu kluczy chronionych przez sprzętowe moduły zabezpieczeń (HSM).When you use Key Vault, you can encrypt authentication keys, storage account keys, data encryption keys, .pfx files, and passwords by using keys that are protected by hardware security modules (HSMs).

Key Vault pomaga rozwiązać następujące problemy:Key Vault helps solve the following problems:

  • Zarządzanie wpisami tajnymi: Bezpieczne przechowywanie i ściśle kontrolować dostęp do tokenów, hasła, certyfikaty, klucze interfejsu API i innych wpisów tajnych.Secret management: Securely store and tightly control access to tokens, passwords, certificates, API keys, and other secrets.
  • Zarządzanie kluczami: Utwórz i kontrolować klucze szyfrowania, które szyfrowania danych.Key management: Create and control encryption keys that encrypt your data.
  • Zarządzanie certyfikatami: Aprowizacji, zarządzania i wdrażania prywatnych i publicznych certyfikatów Secure Sockets Layer/Transport Layer Security (SSL/TLS) do użytku z platformą Azure i usługi wewnętrznej połączonymi zasobami.Certificate management: Provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with Azure and your internal connected resources.
  • Wpisy tajne, wspierane przez sprzętowe moduły zabezpieczeń Store: Użyj oprogramowania lub ze standardem FIPS 140-2 Level 2 zweryfikowane sprzętowych modułów zabezpieczeń, aby lepiej chronić klucze tajne i klucze.Store secrets backed by HSMs: Use either software or FIPS 140-2 Level 2 validated HSMs to help protect secrets and keys.

Podstawowe pojęciaBasic concepts

Usługa Azure Key Vault jest narzędziem do bezpiecznego przechowywania wpisów tajnych i uzyskiwania do nich dostępu.Azure Key Vault is a tool for securely storing and accessing secrets. Wpis tajny to dowolny zasób, do którego dostęp powinien być ściśle kontrolowany. Przykładowe wpisy tajne to klucze interfejsu API, hasła i certyfikaty.A secret is anything that you want to tightly control access to, such as API keys, passwords, or certificates. Magazyn jest logiczną grupą wpisów tajnych.A vault is logical group of secrets.

Poniżej przedstawiono inne ważne terminy:Here are other important terms:

  • Dzierżawa: Dzierżawa to organizacja, która jest właścicielem i określone wystąpienie usług chmurowych firmy Microsoft.Tenant: A tenant is the organization that owns and manages a specific instance of Microsoft cloud services. W większości przypadków służy do odwoływania się do zestawu usług platformy Azure i usługi Office 365 dla organizacji.It’s most often used to refer to the set of Azure and Office 365 services for an organization.

  • Vault właściciel: Właścicielem magazynu można utworzyć magazyn kluczy i korzystaj z pełnego dostępu i kontroli nad nim.Vault owner: A vault owner can create a key vault and gain full access and control over it. Właściciel magazynu może też skonfigurować inspekcję, aby rejestrować, kto uzyskuje dostęp do wpisów tajnych i kluczy.The vault owner can also set up auditing to log who accesses secrets and keys. Administratorzy mogą kontrolować cykl życia klucza.Administrators can control the key lifecycle. Mogą oni wdrażać nowe wersje klucza, tworzyć jego kopie zapasowe i wykonywać powiązane zadania.They can roll to a new version of the key, back it up, and do related tasks.

  • Vault konsumenta: Konsument magazynu mogą wykonywać akcje na zasoby w magazynie kluczy, właściciela magazynu przyznaje dostęp odbiorców.Vault consumer: A vault consumer can perform actions on the assets inside the key vault when the vault owner grants the consumer access. Dostępne akcje zależą od przyznanych uprawnień.The available actions depend on the permissions granted.

  • Zasób: Zasób jest łatwe w zarządzaniu elementu, który jest dostępny za pośrednictwem platformy Azure.Resource: A resource is a manageable item that's available through Azure. Typowe przykłady to maszyna wirtualna, konto magazynu, aplikacji sieci web, bazy danych i sieci wirtualnej.Common examples are virtual machine, storage account, web app, database, and virtual network. Istnieje wiele innych.There are many more.

  • Grupa zasobów: Grupa zasobów to kontener, który zawiera powiązane zasoby dla rozwiązania platformy Azure.Resource group: A resource group is a container that holds related resources for an Azure solution. Grupa zasobów może zawierać wszystkie zasoby dla rozwiązania lub tylko te zasoby, które mają być zarządzane jako grupa.The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Użytkownik decyduje o sposobie przydziału zasobów do grup zasobów pod kątem tego, co jest najbardziej odpowiednie dla danej organizacji.You decide how you want to allocate resources to resource groups, based on what makes the most sense for your organization.

  • Nazwa główna usługi: Jednostka usługi platformy Azure to tożsamość zabezpieczeń, która umożliwia dostęp do określonych zasobów platformy Azure utworzone przez użytkownika aplikacji, usług i narzędzi automatyzacji.Service principal: An Azure service principal is a security identity that user-created apps, services, and automation tools use to access specific Azure resources. Ją traktować jako "tożsamość użytkownika" (nazwa użytkownika i hasło lub certyfikat) z określoną rolą i ściśle kontrolowanymi uprawnieniami.Think of it as a "user identity" (username and password or certificate) with a specific role, and tightly controlled permissions. W odróżnieniu od ogólnej tożsamości użytkownika, jednostka usługi powinna wykonywać tylko określone czynności.A service principal should only need to do specific things, unlike a general user identity. Zwiększa bezpieczeństwo, gdy przyznasz jej tylko poziom minimalne uprawnienia wymagane do wykonywania zadań zarządzania.It improves security if you grant it only the minimum permission level that it needs to perform its management tasks.

  • Azure Active Directory (Azure AD): Usługa Azure AD jest usługa Active Directory dla dzierżawy.Azure Active Directory (Azure AD): Azure AD is the Active Directory service for a tenant. Każdy katalog ma co najmniej jedną domenę.Each directory has one or more domains. Katalog może mieć wiele skojarzonych subskrypcji, ale tylko jedną dzierżawę.A directory can have many subscriptions associated with it, but only one tenant.

  • Identyfikator dzierżawy usługi Azure: Identyfikator dzierżawy jest nietypowy sposób do identyfikowania wystąpienia usługi Azure AD w ramach subskrypcji platformy Azure.Azure tenant ID: A tenant ID is a unique way to identify an Azure AD instance within an Azure subscription.

  • Zarządzane tożsamości: Usługa Azure Key Vault oferuje bezpieczny sposób przechowywania poświadczeń oraz innych kluczy i wpisów tajnych, ale w celu ich pobrania należy uwierzytelnić kod w usłudze Key Vault.Managed identities: Azure Key Vault provides a way to securely store credentials and other keys and secrets, but your code needs to authenticate to Key Vault to retrieve them. Za pomocą tożsamości zarządzanej sprawia, że rozwiązywania tego problemu, prostsze, zapewniając tożsamości automatycznie zarządzanych usług platformy Azure w usłudze Azure AD.Using a managed identity makes solving this problem simpler by giving Azure services an automatically managed identity in Azure AD. Za pomocą tej tożsamości można uwierzytelnić się w usłudze Key Vault lub dowolnej innej usłudze obsługującej uwierzytelnianie usługi Azure AD bez konieczności przechowywania poświadczeń w kodzie.You can use this identity to authenticate to Key Vault or any service that supports Azure AD authentication, without having any credentials in your code. Aby uzyskać więcej informacji, zobacz poniższy obraz i Przegląd zarządzanych tożsamości dla zasobów platformy Azure.For more information, see the following image and the overview of managed identities for Azure resources.

    Diagram przedstawiający sposób zarządzanych tożsamości do pracy z zasobami platformy Azure

AuthenticationAuthentication

Aby wykonać dowolne operacje w usłudze Key Vault, należy najpierw uwierzytelnić się do niego.To do any operations with Key Vault, you first need to authenticate to it. Istnieją trzy sposoby uwierzytelniania w usłudze Key Vault:There are three ways to authenticate to Key Vault:

  • Zarządzane tożsamości dla zasobów platformy Azure: Podczas wdrażania aplikacji na maszynie wirtualnej na platformie Azure, można przypisać tożsamość się z maszyną wirtualną, która ma dostęp do usługi Key Vault.Managed identities for Azure resources: When you deploy an app on a virtual machine in Azure, you can assign an identity to your virtual machine that has access to Key Vault. Można także przypisać tożsamości innych zasobów platformy Azure.You can also assign identities to other Azure resources. Zaletą tego podejścia jest to, że aplikacja lub usługa nie jest zarządzanie obrót pierwszy wpis tajny.The benefit of this approach is that the app or service isn't managing the rotation of the first secret. Azure automatycznie przełącza tożsamości.Azure automatically rotates the identity. Najlepszym rozwiązaniem jest firma Microsoft zaleca tego podejścia.We recommend this approach as a best practice.
  • Podmiot zabezpieczeń i certyfikat usługi: Można użyć nazwy głównej usługi i jest skojarzony certyfikat, który ma dostęp do usługi Key Vault.Service principal and certificate: You can use a service principal and an associated certificate that has access to Key Vault. Nie zalecamy tego podejścia, ponieważ właściciel aplikacji lub deweloper musi Obróć certyfikatuWe don't recommend this approach because the application owner or developer must rotate the certificate.
  • Nazwa główna usługi i klucza tajnego: Chociaż można używać nazwy głównej usługi i klucza tajnego do uwierzytelniania w usłudze Key Vault, nie zalecamy tego.Service principal and secret: Although you can use a service principal and a secret to authenticate to Key Vault, we don't recommend it. Trudno jest automatyczna rotacja ładowania początkowego klucza tajnego, który jest używany do uwierzytelniania w usłudze Key Vault.It's hard to automatically rotate the bootstrap secret that's used to authenticate to Key Vault.

Role usługi Key VaultKey Vault roles

Użyj poniższej tabeli, aby lepiej zrozumieć, w jaki sposób usługa Key Vault może pomóc deweloperom i administratorom zabezpieczeń w spełnianiu ich potrzeb.Use the following table to better understand how Key Vault can help to meet the needs of developers and security administrators.

RolaRole Opis problemuProblem statement Rozwiązanie usługi Azure Key VaultSolved by Azure Key Vault
Deweloper aplikacji platformy AzureDeveloper for an Azure application "Chcę napisać aplikację dla platformy Azure, która używa kluczy do podpisywania i szyfrowania.“I want to write an application for Azure that uses keys for signing and encryption. Ale chcę, aby te klucze znajdowały się poza moją aplikacją tak, aby rozwiązanie było odpowiednie dla aplikacji rozproszonej geograficznie.But I want these keys to be external from my application so that the solution is suitable for an application that's geographically distributed.

Chcę także, aby klucze i wpisy tajne były chronione, ale bez konieczności samodzielnego pisania kodu.I want these keys and secrets to be protected, without having to write the code myself. Powinny też być łatwe w użyciu w moich aplikacjach i mieć optymalną wydajność”.I also want these keys and secrets to be easy for me to use from my applications, with optimal performance.”
√ Klucze są przechowywane w magazynie i w razie potrzeby wywoływane przez identyfikator URI.√ Keys are stored in a vault and invoked by URI when needed.

√ Klucze są chronione przez platformę Azure przy użyciu branżowych standardów dotyczących algorytmów, długości klucza i sprzętowych modułów zabezpieczeń (HSM, hardware security module).√ Keys are safeguarded by Azure, using industry-standard algorithms, key lengths, and hardware security modules.

√ Klucze są przetwarzane w modułach HSM, które znajdują się w tych samych centrach danych platformy Azure co aplikacje.√ Keys are processed in HSMs that reside in the same Azure datacenters as the applications. Ta metoda zapewnia większą niezawodność i mniejsze opóźnienia niż klucze przechowywane w osobnej lokalizacji, na przykład lokalnie.This method provides better reliability and reduced latency than keys that reside in a separate location, such as on-premises.
Deweloper oprogramowania jako usługi (SaaS)Developer for software as a service (SaaS) „Nie chcę ponosić odpowiedzialności ani mieć potencjalnych problemów względem kluczy i kluczy tajnych dzierżawy moich klientów.“I don’t want the responsibility or potential liability for my customers’ tenant keys and secrets.

Chcę, aby klienci mogli niezależnie zarządzać swoimi kluczami. Dzięki temu będę w stanie się skupić na tym, co robię najlepiej – na tworzeniu podstawowych funkcji oprogramowania”.I want customers to own and manage their keys so that I can concentrate on doing what I do best, which is providing the core software features.”
√ Klienci mogą importować własne klucze do platformy Azure i zarządzać nimi.√ Customers can import their own keys into Azure, and manage them. Gdy aplikacja SaaS musi wykonać operacje kryptograficzne przy użyciu kluczy klientów, usługa Key Vault wykonuje te operacje w imieniu aplikacji.When a SaaS application needs to perform cryptographic operations by using customers’ keys, Key Vault does these operations on behalf of the application. Aplikacja nie ma wglądu w klucze klientów.The application does not see the customers’ keys.
Chief Security Officer (CSO)Chief security officer (CSO) „Chcę wiedzieć, że nasze aplikacje są zgodne z modułami HSM w trybie FIPS 140-2 poziom 2 w celu bezpiecznego zarządzania kluczami.“I want to know that our applications comply with FIPS 140-2 Level 2 HSMs for secure key management.

Chcę się upewnić, że moja organizacja kontroluje cykl życia klucza i monitoruje jego użycie.I want to make sure that my organization is in control of the key lifecycle and can monitor key usage.

I chociaż korzystamy z wielu usług i zasobów platformy Azure, chcę mieć możliwość zarządzania kluczami z jednej lokalizacji na platformie Azure”.And although we use multiple Azure services and resources, I want to manage the keys from a single location in Azure.”
√ Moduły HSM są zweryfikowane w trybie FIPS 140-2 poziom 2.√ HSMs are FIPS 140-2 Level 2 validated.

√ Usługa Key Vault jest zaprojektowana w taki sposób, aby firma Microsoft nie miała wglądu w Twoje klucze ani nie mogła ich wyodrębnić.√ Key Vault is designed so that Microsoft does not see or extract your keys.

√ Użycie klucza jest rejestrowane w czasie niemal rzeczywistym.√ Key usage is logged in near real time.

√ Magazyn zapewnia jeden interfejs, niezależnie od tego, jak wiele magazynów masz na platformie Azure, które regiony są przez nie obsługiwane oraz które aplikacje ich używają.√ The vault provides a single interface, regardless of how many vaults you have in Azure, which regions they support, and which applications use them.

Każdy posiadacz subskrypcji Azure może tworzyć magazyny kluczy i z nich korzystać.Anybody with an Azure subscription can create and use key vaults. Mimo że usługa Key Vault przynosi korzyści deweloperom i administratorom zabezpieczeń, można zaimplementować i zarządzane przez administratora organizacji, który zarządza innymi usługami platformy Azure.Although Key Vault benefits developers and security administrators, it can be implemented and managed by an organization’s administrator who manages other Azure services. Na przykład administrator może zalogować się przy użyciu subskrypcji platformy Azure, utworzyć magazyn dla organizacji, w której chcesz przechowywać klucze, a następnie odpowiedzialne za zadania operacyjne, takie jak te:For example, this administrator can sign in with an Azure subscription, create a vault for the organization in which to store keys, and then be responsible for operational tasks like these:

  • Tworzenie lub importowanie klucza lub klucza tajnegoCreate or import a key or secret
  • Odwoływanie lub usuwanie klucza lub klucza tajnegoRevoke or delete a key or secret
  • Zezwalanie użytkownikom lub aplikacjom na dostęp do magazynu kluczy, aby mogli zarządzać kluczami i kluczami tajnymi lub używać ichAuthorize users or applications to access the key vault, so they can then manage or use its keys and secrets
  • Konfigurowanie użycia klucza (na przykład rejestrowanie lub szyfrowanie)Configure key usage (for example, sign or encrypt)
  • Monitorowanie użycia kluczaMonitor key usage

Administrator daje deweloperom identyfikatory URI w celu wywoływania z aplikacji.This administrator then gives developers URIs to call from their applications. Administrator ten zawiera też informacje rejestrowania użycia klucza do administratora zabezpieczeń.This administrator also gives key usage logging information to the security administrator.

Omówienie sposobu działania usługi Azure Key Vault

Deweloperzy mogą również zarządzać kluczami bezpośrednio za pomocą interfejsów API.Developers can also manage the keys directly, by using APIs. Aby uzyskać więcej informacji, zobacz artykuł Przewodnik dewelopera usługi Key Vault.For more information, see the Key Vault developer's guide.

Kolejne krokiNext steps

Dowiedz się, jak zabezpieczanie własnego magazynu.Learn how to secure your vault.

Usługa Azure Key Vault jest dostępna w większości regionów.Azure Key Vault is available in most regions. Aby uzyskać więcej informacji, zobacz stronę Cennik usługi Key Vault.For more information, see the Key Vault pricing page.