Zabezpieczenia usługi Azure Key Vault

Ukończone

Usługa Azure Key Vault chroni klucze kryptograficzne, certyfikaty (i klucze prywatne skojarzone z certyfikatami) oraz wpisy tajne (takie jak parametry połączenia i hasła) w chmurze. Podczas przechowywania poufnych i krytycznych danych biznesowych należy jednak wykonać kroki w celu zmaksymalizowania bezpieczeństwa magazynów i przechowywanych w nich danych.

Bezpieczeństwo sieci

Możesz zmniejszyć narażenie magazynów, określając, które adresy IP mają do nich dostęp. Punkty końcowe usługi sieci wirtualnej dla usługi Azure Key Vault umożliwiają ograniczenie dostępu do określonej sieci wirtualnej. Punkty końcowe umożliwiają również ograniczenie dostępu do listy zakresów adresów IPv4 (protokół internetowy w wersji 4). Każdy użytkownik nawiązujący połączenie z magazynem kluczy spoza tych źródeł nie ma dostępu.

Po wprowadzeniu reguł zapory użytkownicy mogą odczytywać dane z usługi Key Vault tylko wtedy, gdy ich żądania pochodzą z dozwolonych sieci wirtualnych lub zakresów adresów IPv4. Dotyczy to również uzyskiwania dostępu do usługi Key Vault z witryny Azure Portal. Mimo że użytkownicy mogą przejść do magazynu kluczy z witryny Azure Portal, mogą nie być w stanie wyświetlić listy kluczy, wpisów tajnych lub certyfikatów, jeśli ich maszyna kliencka nie znajduje się na liście dozwolonych.

Usługa Azure Private Link umożliwia dostęp do usługi Azure Key Vault i hostowanych przez platformę Azure usług klientów/partnerów za pośrednictwem prywatnego punktu końcowego w sieci wirtualnej. Prywatny punkt końcowy platformy Azure to interfejs sieciowy, który łączy Cię prywatnie i bezpiecznie z usługą obsługiwaną przez usługę Azure Private Link. Prywatny punkt końcowy używa prywatnego adresu IP z sieci wirtualnej, efektywnie przenosząc usługę do sieci wirtualnej. Cały ruch do usługi może być kierowany przez prywatny punkt końcowy, dlatego nie są potrzebne żadne bramy, urządzenia translatora adresów sieciowych, połączenia usługi ExpressRoute lub sieci VPN albo publiczne adresy IP. Ruch między siecią wirtualną a usługą odbywa się za pośrednictwem sieci szkieletowej firmy Microsoft, eliminując ekspozycję z publicznego Internetu. Możesz nawiązać połączenie z wystąpieniem zasobu platformy Azure, zapewniając najwyższy poziom szczegółowości kontroli dostępu.

Protokół TRANSPORT Layer Security (TLS) i Protokół protokołu transferu hipertekstowego (HTTPS)

Fronton usługi Key Vault (płaszczyzna danych) jest serwerem wielodostępnym. Oznacza to, że magazyny kluczy od różnych klientów mogą współdzielić ten sam publiczny adres IP. Aby osiągnąć izolację, każde żądanie HTTP jest uwierzytelniane i autoryzowane niezależnie od innych żądań.

Protokół HTTPS umożliwia klientowi uczestnictwo w negocjacjach protokołu TLS. Klienci mogą wymusić wersję protokołu TLS i za każdym razem, gdy klient to zrobi, całe połączenie będzie używać odpowiedniej ochrony na poziomie. Usługa Key Vault obsługuje wersje protokołów TLS 1.2 i 1.3.

Opcje uwierzytelniania usługi Key Vault

Podczas tworzenia magazynu kluczy w subskrypcji platformy Azure jest on automatycznie skojarzony z dzierżawą microsoft Entra subskrypcji. Wszystkie osoby wywołujące w obu płaszczyznach muszą zarejestrować się w tej dzierżawie i uwierzytelnić się w celu uzyskania dostępu do magazynu kluczy. W obu przypadkach aplikacje mogą uzyskiwać dostęp do usługi Key Vault na trzy sposoby:

  • Tylko aplikacja: aplikacja reprezentuje jednostkę usługi lub tożsamość zarządzaną. Ta tożsamość jest najbardziej typowym scenariuszem dla aplikacji, które okresowo muszą uzyskiwać dostęp do certyfikatów, kluczy lub wpisów tajnych z magazynu kluczy. Aby ten scenariusz działał, identyfikator objectId aplikacji musi być określony w zasadach dostępu, a identyfikator applicationId nie może być określony lub musi mieć wartość null.
  • Tylko użytkownik: użytkownik uzyskuje dostęp do magazynu kluczy z dowolnej aplikacji zarejestrowanej w dzierżawie. Przykłady tego typu dostępu obejmują program Azure PowerShell i witrynę Azure Portal. Aby ten scenariusz działał, identyfikator objectId użytkownika musi być określony w zasadach dostępu, a identyfikator applicationId nie może być określony lub musi mieć wartość null.
  • Aplikacja plus-użytkownik (czasami nazywana tożsamością złożoną): użytkownik jest wymagany do uzyskania dostępu do magazynu kluczy z określonej aplikacji, a aplikacja musi używać przepływu uwierzytelniania w imieniu (OBO) w celu personifikacji użytkownika. Aby ten scenariusz działał, w zasadach dostępu muszą być określone zarówno identyfikatory applicationId, jak i objectId. Identyfikator applicationId identyfikuje wymaganą aplikację, a identyfikator objectId identyfikuje użytkownika. Obecnie ta opcja nie jest dostępna dla płaszczyzny danych RBAC platformy Azure.

We wszystkich typach dostępu aplikacja uwierzytelnia się za pomocą identyfikatora Microsoft Entra. Aplikacja używa dowolnej obsługiwanej metody uwierzytelniania na podstawie typu aplikacji. Aplikacja uzyskuje token dla zasobu w płaszczyźnie w celu udzielenia dostępu. Zasób jest punktem końcowym na płaszczyźnie zarządzania lub danych na podstawie środowiska platformy Azure. Aplikacja używa tokenu i wysyła żądanie interfejsu API REST do usługi Key Vault.

Model pojedynczego mechanizmu uwierzytelniania w obu płaszczyznach ma kilka korzyści:

  • Organizacje mogą kontrolować dostęp centralnie do wszystkich magazynów kluczy w organizacji.
  • Jeśli użytkownik odejdzie, natychmiast utraci dostęp do wszystkich magazynów kluczy w organizacji.
  • Organizacje mogą dostosowywać uwierzytelnianie przy użyciu opcji w usłudze Microsoft Entra ID, takich jak włączenie uwierzytelniania wieloskładnikowego na potrzeby dodatkowych zabezpieczeń.

Omówienie modelu dostępu

Dostęp do magazynu kluczy jest kontrolowany za pomocą dwóch interfejsów: płaszczyzny zarządzania i płaszczyzny danych. Płaszczyzna zarządzania to miejsce, w którym zarządzasz samą usługą Key Vault. Operacje na tej płaszczyźnie obejmują tworzenie i usuwanie magazynów kluczy, pobieranie właściwości usługi Key Vault i aktualizowanie zasad dostępu. Płaszczyzna danych to miejsce, w którym pracujesz z danymi przechowywanymi w magazynie kluczy. Możesz dodawać, usuwać i modyfikować klucze, wpisy tajne i certyfikaty.

Obie płaszczyzny używają identyfikatora Entra firmy Microsoft do uwierzytelniania. W przypadku autoryzacji płaszczyzna zarządzania korzysta z kontroli dostępu opartej na rolach (RBAC) platformy Azure, a płaszczyzna danych używa zasad dostępu usługi Key Vault i kontroli dostępu na podstawie ról platformy Azure na potrzeby operacji płaszczyzny danych usługi Key Vault.

Aby uzyskać dostęp do magazynu kluczy w obu płaszczyznach, wszystkie osoby wywołujące (użytkownicy lub aplikacje) muszą mieć odpowiednie uwierzytelnianie i autoryzację. Uwierzytelnianie ustanawia tożsamość obiektu wywołującego. Autoryzacja określa, które operacje może wykonywać obiekt wywołujący. Uwierzytelnianie usługi Key Vault działa w połączeniu z usługą Microsoft Entra ID, która umożliwia uwierzytelnianie tożsamości każdego podmiotu zabezpieczeń.

Podmiot zabezpieczeń to obiekt reprezentujący użytkownika, grupę, usługę lub aplikację żądającą dostępu do zasobów platformy Azure. Platforma Azure przypisuje unikatowy identyfikator obiektu do każdego podmiotu zabezpieczeń.

  • Podmiot zabezpieczeń użytkownika identyfikuje osobę, która ma profil w identyfikatorze Entra firmy Microsoft.
  • Podmiot zabezpieczeń grupy identyfikuje zestaw użytkowników utworzonych w identyfikatorze Entra firmy Microsoft. Wszystkie role lub uprawnienia przypisane do grupy są przyznawane wszystkim użytkownikom w grupie.
  • Jednostka usługi jest typem podmiotu zabezpieczeń, który identyfikuje aplikację lub usługę, czyli fragment kodu, a nie użytkownika lub grupy. Identyfikator obiektu jednostki usługi jest znany jako jego identyfikator klienta i działa jak jego nazwa użytkownika. Klucz tajny klienta lub certyfikat jednostki usługi działa jak jego hasło. Wiele usług platformy Azure obsługuje przypisywanie tożsamości zarządzanej za pomocą zautomatyzowanego zarządzania identyfikatorem klienta i certyfikatem. Tożsamość zarządzana to najbezpieczniejsza i zalecana opcja uwierzytelniania na platformie Azure.

Dostęp warunkowy

Usługa Key Vault zapewnia obsługę zasad dostępu warunkowego firmy Microsoft Entra. Korzystając z zasad dostępu warunkowego, możesz zastosować odpowiednie mechanizmy kontroli dostępu do usługi Key Vault, gdy jest to konieczne, aby zapewnić bezpieczeństwo organizacji i pozostawać poza sposobem użytkownika, gdy nie jest to konieczne.

Dostęp uprzywilejowany

Autoryzacja określa, które operacje może wykonywać obiekt wywołujący. Autoryzacja w usłudze Key Vault korzysta z kontroli dostępu opartej na rolach (RBAC) platformy Azure na płaszczyźnie zarządzania oraz zasad dostępu RBAC platformy Azure lub usługi Azure Key Vault na płaszczyźnie danych.

Dostęp do magazynów odbywa się za pośrednictwem dwóch interfejsów lub płaszczyzn. Te płaszczyzny to płaszczyzna zarządzania i płaszczyzna danych.

  • Płaszczyzna zarządzania to miejsce, w którym zarządzasz samą usługą Key Vault i jest interfejsem używanym do tworzenia i usuwania magazynów. Możesz tam również odczytywać właściwości magazynu kluczy i zarządzać zasadami dostępu.
  • Płaszczyzna danych umożliwia pracę z danymi przechowywanymi w magazynie kluczy. Możesz dodawać, usuwać i modyfikować klucze, wpisy tajne i certyfikaty.

Aplikacje uzyskują dostęp do płaszczyzn za pośrednictwem punktów końcowych. Mechanizmy kontroli dostępu dla obu płaszczyzn działają niezależnie. Aby udzielić aplikacji dostępu do używania kluczy w magazynie kluczy, należy udzielić dostępu do płaszczyzny danych przy użyciu kontroli dostępu opartej na rolach platformy Azure lub zasad dostępu usługi Key Vault. Aby udzielić użytkownikowi dostępu do odczytu do właściwości i tagów usługi Key Vault, ale nie ma dostępu do danych (kluczy, wpisów tajnych lub certyfikatów), należy udzielić dostępu do płaszczyzny zarządzania za pomocą kontroli dostępu opartej na rolach platformy Azure.

Płaszczyzna dostępu Punkty końcowe dostępu Operations Mechanizm kontroli dostępu
Płaszczyzna zarządzania Cały świat:
management.azure.com:443

Platforma Microsoft Azure obsługiwana przez firmę 21Vianet:
management.chinacloudapi.cn:443

Wersja platformy Azure dla administracji USA:
management.usgovcloudapi.net:443

Niemiecka wersja platformy Azure:
management.microsoftazure.de:443
Tworzenie, odczytywanie, aktualizowanie i usuwanie magazynów kluczy

Ustawianie zasad dostępu usługi Key Vault

Ustawianie tagów usługi Key Vault
Kontrola dostępu na podstawie ról platformy Azure
Płaszczyzna danych Cały świat:
<nazwa_magazynu>.vault.azure.net:443

Platforma Microsoft Azure obsługiwana przez firmę 21Vianet:
<nazwa_magazynu>.vault.azure.cn:443

Wersja platformy Azure dla administracji USA:
<nazwa_magazynu>.vault.usgovcloudapi.net:443

Niemiecka wersja platformy Azure:
<nazwa_magazynu>.vault.microsoftazure.de:443
Klucze: szyfrowanie, odszyfrowywanie, zawijaniekey, znak, weryfikacja, pobieranie, lista, tworzenie, aktualizacja, importowanie, usuwanie, odzyskiwanie, przywracanie, przeczyszczanie, obracanie (wersja zapoznawcza), getrotationpolicy (wersja zapoznawcza), setrotationpolicy (wersja zapoznawcza), release (wersja zapoznawcza)

Certyfikaty: zarządzanie kontaktami, getissuers, wystawcami list, ustawianie wystawców, usuwanie wystawców, zarządzanie wystawcami, pobieranie, tworzenie, importowanie, aktualizowanie, usuwanie, odzyskiwanie, tworzenie kopii zapasowej, przywracanie, czyszczenie

Wpisy tajne: pobieranie, wyświetlanie listy, ustawianie, usuwanie, odzyskiwanie, tworzenie kopii zapasowej, przywracanie, przeczyszczanie
Zasady dostępu usługi Key Vault lub kontrola dostępu na podstawie ról platformy Azure

Zarządzanie dostępem administracyjnym do usługi Key Vault

Podczas tworzenia magazynu kluczy w grupie zasobów można zarządzać dostępem przy użyciu identyfikatora Entra firmy Microsoft. Możesz przyznać użytkownikom lub grupom możliwość zarządzania magazynami kluczy w grupie zasobów. Dostęp można udzielić na określonym poziomie zakresu, przypisując odpowiednie role platformy Azure. Aby udzielić użytkownikowi dostępu do zarządzania magazynami kluczy, należy przypisać wstępnie zdefiniowaną rolę Współautor magazynu kluczy do użytkownika w określonym zakresie. Do roli platformy Azure można przypisać następujące poziomy zakresów:

  • Subskrypcja: rola platformy Azure przypisana na poziomie subskrypcji ma zastosowanie do wszystkich grup zasobów i zasobów w ramach tej subskrypcji.
  • Grupa zasobów: rola platformy Azure przypisana na poziomie grupy zasobów ma zastosowanie do wszystkich zasobów w tej grupie zasobów.
  • Określony zasób: rola platformy Azure przypisana dla określonego zasobu ma zastosowanie do tego zasobu. W tym przypadku zasób jest określonym magazynem kluczy.

W przypadku korzystania z modelu uprawnień zasad dostępu, jeśli użytkownik ma Contributor uprawnienia do płaszczyzny zarządzania magazynu kluczy, użytkownik może udzielić sobie dostępu do płaszczyzny danych, ustawiając zasady dostępu usługi Key Vault. Należy ściśle kontrolować, kto ma Contributor dostęp do magazynów kluczy za pomocą modelu uprawnień zasad dostępu, aby upewnić się, że tylko autoryzowane osoby mogą uzyskiwać dostęp do magazynów kluczy, kluczy, wpisów tajnych i certyfikatów oraz zarządzać nimi. Zaleca się użycie nowego modelu uprawnień kontroli dostępu na podstawie ról (RBAC), aby uniknąć tego problemu. W modelu uprawnień RBAC zarządzanie uprawnieniami jest ograniczone do ról „Właściciel” i „Administrator dostępu użytkowników”, co umożliwia rozdzielenie między rolami obowiązków z zakresu operacji zabezpieczeń i z zakresu ogólnych operacji administracyjnych.

Kontrolowanie dostępu do danych usługi Key Vault

Dostęp do kluczy, certyfikatów i wpisów tajnych usługi Key Vault można kontrolować przy użyciu zasad dostępu na podstawie ról platformy Azure lub usługi Key Vault.

Rejestrowanie i monitorowanie

Rejestrowanie usługi Key Vault zapisuje informacje o działaniach wykonywanych w magazynie.

Możesz zintegrować usługę Key Vault z usługą Event Grid, aby otrzymywać powiadomienia o zmianie stanu klucza, certyfikatu lub wpisu tajnego przechowywanego w magazynie kluczy.

Ważne jest również, aby monitorować kondycję magazynu kluczy, aby upewnić się, że usługa działa zgodnie z oczekiwaniami.

Tworzenie kopii zapasowych i odzyskiwanie

Funkcja usuwania nietrwałego i przeczyszczania usługi Azure Key Vault umożliwia odzyskiwanie usuniętych magazynów i obiektów magazynu.

Należy również regularnie wykonywać kopie zapasowe magazynu podczas aktualizowania/usuwania/tworzenia obiektów w magazynie.