Zabezpieczenia usługi Azure Key Vault
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.
Ten artykuł zawiera omówienie funkcji zabezpieczeń i najlepszych rozwiązań dotyczących usługi Azure Key Vault.
Uwaga
Aby uzyskać kompleksową listę zaleceń dotyczących zabezpieczeń usługi Azure Key Vault, zobacz Punkt odniesienia zabezpieczeń dla usługi Azure Key Vault.
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. Aby uzyskać szczegółowe informacje, zobacz Punkty końcowe usługi dla sieci wirtualnej dla usługi Azure Key Vault
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. Aby uzyskać instrukcje implementacji, zobacz Konfigurowanie zapór i sieci wirtualnych usługi Azure Key Vault
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. Nie jest wówczas wymagane użycie bram, urządzeń NAT, połączeń ExpressRoute, połączeń VPN ani publicznych adresów 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. Aby uzyskać instrukcje implementacji, zobacz Integrowanie usługi Key Vault z usługą Azure Private Link
PROTOKOŁY TLS i HTTPS
- Fronton usługi Key Vault (płaszczyzna danych) to serwer wielodostępny. 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.
Uwaga
Wersję protokołu TLS używaną przez klientów można monitorować, monitorując dzienniki usługi Key Vault za pomocą przykładowego zapytania Kusto tutaj.
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ł,
objectId
aplikacja musi być określona w zasadach dostępu i nie może być określonaapplicationId
lub musi być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ł,
objectId
użytkownik musi być określony w zasadach dostępu iapplicationId
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ł, należy określić zarówno w zasadach dostępu, jak
applicationId
iobjectId
. ElementapplicationId
identyfikuje wymaganą aplikację iobjectId
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. Aby dowiedzieć się więcej, przejrzyj cały przepływ uwierzytelniania.
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 identyfikatorze Entra firmy Microsoft, takich jak włączenie uwierzytelniania wieloskładnikowego na potrzeby dodatkowych zabezpieczeń.
Aby uzyskać więcej informacji, zobacz Podstawy uwierzytelniania usługi Key Vault.
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 za pomocą usługi Key Vault działa w połączeniu z identyfikatorem Entra firmy Microsoft, który jest odpowiedzialny za uwierzytelnianie tożsamości dowolnego 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.
Aby uzyskać więcej informacji na temat uwierzytelniania w usłudze Key Vault, zobacz Uwierzytelnianie w usłudze Azure Key Vault.
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.
Aby uzyskać więcej informacji, zobacz Omówienie dostępu warunkowego
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.
W poniższej tabeli przedstawiono punkty końcowe dla płaszczyzn zarządzania i danych.
Płaszczyzna dostępu | Punkty końcowe dostępu | Operacje | 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, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, recover, backup, restore, purge, rotate (wersja zapoznawcza), getrotationpolicy (wersja zapoznawcza), setrotationpolicy (wersja zapoznawcza), release(preview) Certyfikaty: managecontacts, getissuers, listissuers, setissuers, deleteissuers, manageissuers, get, list, create, import, update, delete, recover, backup, restore, purge 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ą key vault Contributor
rolę 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.
Istnieje kilka wstępnie zdefiniowanych ról. Jeśli wstępnie zdefiniowana rola nie odpowiada Twoim potrzebom, możesz zdefiniować własną rolę. Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach platformy Azure: role wbudowane.
Ważne
W przypadku korzystania z modelu uprawnień zasad dostępu użytkownik z Contributor
rolą , Key Vault Contributor
lub dowolną inną rolą obejmującą Microsoft.KeyVault/vaults/write
uprawnienia do płaszczyzny zarządzania magazynu kluczy może udzielić sobie dostępu do płaszczyzny danych, ustawiając zasady dostępu usługi Key Vault. Aby zapobiec nieautoryzowanemu dostępowi i zarządzaniu magazynami kluczy, kluczami, wpisami tajnymi i certyfikatami, należy ograniczyć dostęp roli Współautor do magazynów kluczy w modelu uprawnień zasad dostępu. Aby ograniczyć to ryzyko, zalecamy użycie modelu uprawnień Kontrola dostępu oparta na rolach (RBAC), który ogranicza zarządzanie uprawnieniami do ról "Właściciel" i "Administrator dostępu użytkowników", co pozwala na wyraźne rozdzielenie operacji zabezpieczeń i obowiązków administracyjnych. Aby uzyskać więcej informacji, zobacz Przewodnik RBAC usługi Key Vault i Co to jest kontrola dostępu oparta na rolach platformy Azure?
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.
Aby uzyskać więcej informacji, zobacz
- Kontrola dostępu oparta na rolach platformy Azure dla operacji płaszczyzny danych usługi Key Vault.
- Zasady dostępu usługi Key Vault
Rejestrowanie i monitorowanie
Rejestrowanie usługi Key Vault zapisuje informacje o działaniach wykonywanych w magazynie. Aby uzyskać szczegółowe informacje, zobacz Rejestrowanie usługi Key Vault.
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. Aby uzyskać szczegółowe informacje, zobacz Monitorowanie usługi Key Vault za pomocą usługi Azure Event Grid
Ważne jest również, aby monitorować kondycję magazynu kluczy, aby upewnić się, że usługa działa zgodnie z oczekiwaniami. Aby dowiedzieć się, jak to zrobić, zobacz Monitorowanie i zgłaszanie alertów dla usługi Azure Key Vault.
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. Aby uzyskać szczegółowe informacje, zobacz Omówienie usuwania nietrwałego usługi Azure Key Vault.
Należy również regularnie wykonywać kopie zapasowe magazynu podczas aktualizowania/usuwania/tworzenia obiektów w magazynie.