Samouczek: wdrażanie modułów HSM w istniejącej sieci wirtualnej przy użyciu programu PowerShell

Important

Dedykowany moduł HSM platformy Azure jest wycofywany. Firma Microsoft będzie w pełni obsługiwać istniejących klientów dedykowanego modułu HSM do 31 lipca 2028 r. Nie są akceptowane żadne nowe dołączania klientów. Aby uzyskać szczegółowe informacje i wymagane akcje, zobacz oficjalną aktualizację platformy Azure.

Jeśli jesteś użytkownikiem Azure Dedicated HSM, zobacz Migrowanie z Azure Dedicated HSM do Managed HSM lub Azure Cloud HSM. Moduł HSM w chmurze platformy Azure jest teraz ogólnie dostępny i następca dedykowanego modułu HSM platformy Azure.

Nowi klienci powinni ocenić i wdrożyć rozwiązanie Azure Cloud HSM, Managed HSM lub Azure Key Vault w zależności od wymagań dotyczących obciążeń. Aby uzyskać wskazówki, zobacz Jak wybrać odpowiednie rozwiązanie do zarządzania kluczami platformy Azure.

Usługa Azure Dedicated HSM zapewnia fizyczne urządzenie do wyłącznego użytku klienta, z pełną kontrolą administracyjną i pełną odpowiedzialnością za jego zarządzanie. Ponieważ usługa zapewnia sprzęt fizyczny, Microsoft kontroluje sposób przydzielania tych urządzeń w celu zapewnienia efektywnego zarządzania przepustowością. W związku z tym w ramach subskrypcji Azure usługa Dedicated HSM nie jest zwykle widoczna na potrzeby aprowizacji zasobów. Aby uzyskać dostęp do dedykowanej usługi HSM, musisz skontaktować się z opiekunem klienta firmy Microsoft w celu zażądania rejestracji dedykowanej usługi HSM. Usługę można udostępnić dopiero po pomyślnym zakończeniu tego procesu.

Ten samouczek ma na celu pokazanie typowego procesu provisioningu, w którym:

  • Klient ma już sieć wirtualną
  • Mają wirtualną maszynę
  • Muszą dodać zasoby modułu HSM do istniejącego środowiska.

Typowa wieloregionowa architektura wdrożenia o wysokiej dostępności jest następująca:

Diagram ilustrujący wdrożenie w wielu regionach.

Ten samouczek koncentruje się na parze modułów HSM i wymaganej bramie usługi ExpressRoute (zobacz podsieć 1 powyżej), zintegrowanych z istniejącą siecią wirtualną (zobacz sieć wirtualną 1 powyżej). Wszystkie inne zasoby są standardowymi zasobami Azure. Ten sam proces integracji może być używany dla modułów HSM w podsieci 4 w powyższej sieci wirtualnej 3.

Note

Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Prerequisites

Azure Dedicated HSM nie jest obecnie dostępna w portalu Azure, dlatego wszystkie interakcje z usługą są wykonywane za pośrednictwem wiersza polecenia lub programu PowerShell. W tym samouczku jest używany program PowerShell w Azure Cloud Shell. Jeśli dopiero zaczynasz korzystać z programu PowerShell, postępuj zgodnie z instrukcjami wprowadzającymi tutaj: Azure PowerShell Rozpoczynanie pracy.

Założenia:

  • Aby kwalifikować się do wdrożenia i korzystania z Azure Dedicated HSM, musisz mieć przypisanego menedżera konta Microsoft.
  • Przeszedłeś proces rejestracji Azure Dedicated HSM i zostałeś zatwierdzony do korzystania z usługi. Jeśli nie, skontaktuj się z przedstawicielem ds. kont Microsoft, aby uzyskać szczegółowe informacje.
  • Utworzyłeś grupę zasobów dla tych zasobów i dla nowych zasobów wdrożonych w tym samouczku.
  • Utworzono już niezbędną sieć wirtualną, podsieć i maszyny wirtualne, a teraz chcesz zintegrować 2 moduły HSM z tym wdrożeniem.

W poniższych instrukcjach założono, że jesteś w portalu Azure i otworzyłeś Cloud Shell (wybierz pozycję ">_" w prawym górnym rogu portalu).

Aprowizowanie dedykowanego modułu HSM

Aprowizowanie modułów HSM i integrowanie z istniejącą siecią wirtualną za pośrednictwem bramy usługi ExpressRoute jest weryfikowane przy użyciu narzędzia wiersza polecenia SSH w celu zapewnienia osiągalności i podstawowej dostępności urządzenia HSM na potrzeby dalszych działań konfiguracyjnych. Poniższe polecenia używają szablonu Resource Manager do tworzenia zasobów modułu HSM i skojarzonych zasobów sieciowych.

Weryfikacja rejestracji funkcji

Jak wspomniano, każde działanie aprowizacji wymaga zarejestrowania dedykowanej usługi HSM dla Twojej subskrypcji. Aby to zweryfikować, uruchom następujące polecenie programu PowerShell w portalu Azure Cloud Shell.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

Polecenie powinno zwrócić status „Zarejestrowane”, zanim przejdziesz dalej. Jeśli nie zarejestrowano Cię w tej usłudze, skontaktuj się z przedstawicielem konta Microsoft.

Stan subskrypcji.

Tworzenie zasobów HSM

Urządzenie HSM jest wdrażane w sieci wirtualnej klientów, co wymaga podsieci. Wymaganym elementem dla modułu HSM, umożliwiającym komunikację między siecią wirtualną a urządzeniem fizycznym, jest brama usługi ExpressRoute, a na koniec do uzyskania dostępu do urządzenia HSM przy użyciu oprogramowania klienckiego firmy Thales wymagana jest maszyna wirtualna.

Zasób dedykowanego modułu HSM można utworzyć przy użyciu szablonu usługi ARM na podstawie poniższego przykładu. Należy zaktualizować parametry, zastępując wiersze zawierające ciąg "value":"" swoimi preferowanymi nazwami zasobów.

  • namingInfix Prefiks nazw zasobów HSM
  • ExistingVirtualNetworkName Nazwa sieci wirtualnej używanej dla modułów HSM
  • DedicatedHsmResourceName1 Nazwa zasobu HSM w stemplu centrum danych 1
  • DedicatedHsmResourceName2 Nazwa zasobu HSM w stemplu centrum danych 2
  • hsmSubnetRange Zakres adresów IP podsieci dla modułów HSM
  • ERSubnetRange Zakres adresów IP podsieci dla bramy sieci wirtualnej

Przykład tych zmian wygląda następująco:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "namingInfix": {
      "value": "MyHSM"
    },
    "ExistingVirtualNetworkName": {
      "value": "MyHSM-vnet"
    },
    "DedicatedHsmResourceName1": {
      "value": "HSM1"
    },
    "DedicatedHsmResourceName2": {
      "value": "HSM2"
    },
    "hsmSubnetRange": {
      "value": "10.0.2.0/24"
    },
    "ERSubnetRange": {
      "value": "10.0.255.0/26"
    },
  }
}

Skojarzony plik szablonu Resource Manager tworzy sześć zasobów z następującymi informacjami:

  • Podsieć modułów HSM w określonej sieci wirtualnej
  • Podsieć dla bramy sieci wirtualnej
  • Brama sieci wirtualnej, która łączy sieć wirtualną z urządzeniami HSM
  • Publiczny adres IP bramy
  • Moduł HSM w stemplu 1
  • Moduł HSM w stemplu 2

Po ustawieniu wartości parametrów pliki należy przesłać do udziału plików usługi Cloud Shell w portalu Azure do użycia. W portalu Azure wybierz symbol ">_" Cloud Shell w prawym górnym rogu, co sprawia, że dolna część ekranu jest środowiskiem poleceń. Opcje to BASH i PowerShell i należy wybrać powłokę BASH, jeśli nie jest jeszcze ustawiona.

Wybierz opcję przesyłania/pobierania na pasku narzędzi, aby przekazać pliki szablonu i parametrów do udziału plików:

Udział sieciowy.

Po przekazaniu plików możesz przystąpić do tworzenia zasobów.

Przed utworzeniem nowych zasobów modułu HSM wymagane są pewne zasoby wstępne. Musisz mieć sieć wirtualną z zakresami podsieci dla obliczeń, modułów HSM i bramy. Poniższe polecenia służą jako przykład tego, co mogłoby utworzyć taką sieć wirtualną.

$compute = New-AzVirtualNetworkSubnetConfig `
  -Name compute `
  -AddressPrefix 10.2.0.0/24
$delegation = New-AzDelegation `
  -Name "myDelegation" `
  -ServiceName "Microsoft.HardwareSecurityModules/dedicatedHSMs"

$hsmsubnet = New-AzVirtualNetworkSubnetConfig ` 
  -Name hsmsubnet ` 
  -AddressPrefix 10.2.1.0/24 ` 
  -Delegation $delegation 


$gwsubnet= New-AzVirtualNetworkSubnetConfig `
  -Name GatewaySubnet `
  -AddressPrefix 10.2.255.0/26


New-AzVirtualNetwork `
  -Name myHSM-vnet `
  -ResourceGroupName myRG `
  -Location westus `
  -AddressPrefix 10.2.0.0/16 `
  -Subnet $compute, $hsmsubnet, $gwsubnet

Note

Najważniejszą konfiguracją dla sieci wirtualnej jest to, że podsieć urządzenia HSM musi mieć delegowanie ustawione na "Microsoft. HardwareSecurityModules/dedicatedHSMs". W przeciwnym razie aprowizacja modułu HSM nie działa.

Po spełnieniu wszystkich wymagań wstępnych i zaktualizowaniu szablonu Resource Manager przy użyciu unikatowych nazw (co najmniej nazwy grupy zasobów) uruchom następujące polecenie:


New-AzResourceGroupDeployment -ResourceGroupName myRG `
     -TemplateFile .\Deploy-2HSM-toVNET-Template.json `
     -TemplateParameterFile .\Deploy-2HSM-toVNET-Params.json `
     -Name HSMdeploy -Verbose

Wykonanie tego polecenia powinno potrwać około 20 minut. Użyta opcja "-verbose" gwarantuje, że stan jest stale wyświetlany.

Wdrażanie dedykowanego modułu HSM.

Po pomyślnym zakończeniu, sygnalizowanym przez parametr "provisioningState": "Succeeded", możesz zalogować się do istniejącej maszyny wirtualnej i użyć protokołu SSH, aby zapewnić dostępność urządzenia HSM.

Weryfikacja wdrożenia

Aby sprawdzić, czy urządzenia zostały skonfigurowane i zobaczyć atrybuty urządzeń, uruchom następujący zestaw poleceń. Upewnij się, że grupa zasobów jest odpowiednio ustawiona, a nazwa zasobu jest dokładnie tak samo jak w pliku parametrów.


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG"
$resourceName = "HSM1"  
Get-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName

Stan aprowizacji.

Teraz będzie można również wyświetlić zasoby przy użyciu eksploratora zasobów Azure. Po przejściu do eksploratora rozwiń węzeł "subscriptions" po lewej stronie, rozwiń konkretną subskrypcję dedykowanego modułu HSM, rozwiń węzeł "resource groups", rozwiń użytą grupę zasobów, a na koniec wybierz element "resources".

Testowanie wdrożenia

Testowanie wdrożenia to przypadek nawiązywania połączenia z maszyną wirtualną, która może uzyskiwać dostęp do modułów HSM, a następnie łączyć się bezpośrednio z urządzeniem HSM. Te akcje potwierdzają, że moduł HSM jest osiągalny. Narzędzie SSH służy do nawiązywania połączenia z maszyną wirtualną. Polecenie będzie podobne do poniższego, ale z nazwą administratora i nazwą DNS określoną w parametrze .

ssh adminuser@hsmlinuxvm.westus.cloudapp.azure.com

Hasło do użycia to hasło z pliku parametrów. Po zalogowaniu się do maszyny wirtualnej z systemem Linux możesz zalogować się do modułu HSM przy użyciu prywatnego adresu IP znajdującego się w portalu dla zasobu >prefix< hsm_vnic.


(Get-AzResource -ResourceGroupName myRG -Name HSMdeploy -ExpandProperties).Properties.networkProfile.networkInterfaces.privateIpAddress

Gdy masz adres IP, uruchom następujące polecenie:

ssh tenantadmin@<ip address of HSM>

Jeśli operacja się powiedzie, pojawi się monit o podanie hasła. Domyślne hasło to PASSWORD. Moduł HSM poprosi o zmianę hasła, więc ustaw silne hasło i użyj dowolnego mechanizmu preferowanego przez Twoją organizację do przechowywania hasła i zapobiegania jego utracie.

Important

Jeśli utracisz to hasło, moduł HSM będzie musiał zostać zresetowany i oznacza to utratę kluczy.

Po nawiązaniu połączenia z urządzeniem HSM przy użyciu protokołu SSH uruchom następujące polecenie, aby upewnić się, że moduł HSM działa.

hsm show

Dane wyjściowe powinny wyglądać podobnie do przedstawionego poniżej obrazu:

Zrzut ekranu przedstawiający dane wyjściowe polecenia show modułu HSM.

W tym momencie przydzielono wszystkie zasoby na potrzeby wdrożenia o wysokiej dostępności z dwoma modułami HSM oraz zweryfikowano dostęp i stan operacyjny. Każda dalsza konfiguracja lub testowanie wymaga więcej pracy z samym urządzeniem HSM. W tym celu należy postępować zgodnie z instrukcjami w przewodniku administracyjnym modułu HSM Thales Luna 7, aby zainicjować moduł HSM i utworzyć partycje. Cała dokumentacja i oprogramowanie są dostępne bezpośrednio z firmy Thales do pobrania po zarejestrowaniu się w portalu pomocy technicznej klienta firmy Thales i mieć identyfikator klienta. Pobierz oprogramowanie klienckie w wersji 7.2, aby uzyskać wszystkie wymagane składniki.

Usuń lub wyczyść zasoby

Jeśli korzystasz już tylko z urządzenia HSM, można je usunąć jako zasób i zwrócić do wolnej puli. Oczywistym problemem podczas wykonywania tej czynności są wszelkie poufne dane klientów, które są na urządzeniu. Najlepszym sposobem na „wyzerowanie” urządzenia jest trzykrotne błędne wprowadzenie hasła administratora HSM (uwaga: nie chodzi o administratora urządzenia, lecz o właściwego administratora HSM). Jako środek bezpieczeństwa w celu ochrony materiału kryptograficznego nie można usunąć urządzenia jako zasobu Azure, dopóki nie będzie w stanie wyzerowanym.

Note

Jeśli masz problem z konfiguracją urządzenia firmy Thales, skontaktuj się z pomocą techniczną firmy Thales.

Jeśli chcesz usunąć zasób HSM w Azure, możesz użyć następującego polecenia zastępując zmienne "$" unikatowymi parametrami:


$subid = (Get-AzContext).Subscription.Id
$resourceGroupName = "myRG" 
$resourceName = "HSMdeploy"  
Remove-AzResource -Resourceid /subscriptions/$subId/resourceGroups/$resourceGroupName/providers/Microsoft.HardwareSecurityModules/dedicatedHSMs/$resourceName 

Następne kroki

Po wykonaniu kroków opisanych w samouczku zasoby dedykowanego modułu HSM są aprowizowane i dostępne w sieci wirtualnej. Teraz jesteś w stanie uzupełnić to wdrożenie większą ilością zasobów zgodnie z wymaganiami wybranej architektury wdrożenia. Aby uzyskać więcej informacji na temat planowania wdrożenia, zobacz dokumenty Koncepcje. Zalecany jest projekt z dwoma modułami HSM w regionie podstawowym, który odpowiada dostępności na poziomie stojaka, oraz dwoma modułami HSM w regionie zapasowym, które odpowiadają za dostępność regionalną. Plik szablonu używany w tym samouczku można łatwo użyć jako podstawy dla wdrożenia dwóch modułów HSM, ale musi mieć zmodyfikowane parametry, aby spełnić wymagania.