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

Usługa dedykowanego modułu HSM platformy Azure udostępnia urządzenie fizyczne do wyłącznego użytku przez klienta. Daje ono pełną kontrolę administracyjną, ale przenosi na klienta pełną odpowiedzialność za zarządzanie. Ze względu na udostępnienie sprzętu fizycznego firma Microsoft musi kontrolować, w jaki sposób te urządzenia są przydzielane w celu zapewnienia efektywnego zarządzania pojemnością. W związku z tym w ramach subskrypcji platformy Azure usługa dedykowanego modułu HSM zwykle nie będzie widoczna na potrzeby aprowizacji zasobów. Każdy klient platformy Azure, który potrzebuje dostępu do usługi dedykowanego modułu HSM, musi najpierw skontaktować się z pracownikiem odpowiedzialnym za kontakty z klientami w firmie Microsoft w celu zażądania rejestracji w ramach usługi dedykowanego modułu HSM. Aprowizacja będzie możliwa tylko po pomyślnym zakończeniu tego procesu. Celem tego samouczka jest przedstawienie typowego procesu aprowizacji, w którym:

  • klient ma już sieć wirtualną,
  • klient ma maszynę wirtualną,
  • klient potrzebuje dodać zasoby modułu HSM do tego istniejącego środowiska.

Typowa architektura wdrożenia w wielu regionach o wysokiej dostępności może wyglądać następująco:

wdrażanie w wielu regionach

Ten samouczek koncentruje się na dwóch modułach HSM i wymaganej bramie usługi ExpressRoute (zobacz Podsieć 1 powyżej) jest zintegrowana z istniejącą siecią wirtualną (zobacz sieć wirtualna 1 powyżej). Wszystkie inne zasoby to standardowe zasoby platformy Azure. Ten sam proces integracji może zostać użyty dla modułów HSM w podsieci 4 w sieci wirtualnej 3 powyżej.

Uwaga

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

Wymagania wstępne

Dedykowany moduł HSM platformy Azure nie jest obecnie dostępny w witrynie Azure Portal, w związku z tym wszystkie interakcje z usługą będą przeprowadzane za pośrednictwem wiersza polecenia lub przy użyciu programu PowerShell. W tym samouczku zostanie użyty program PowerShell w ramach usługi Azure Cloud Shell. Jeśli dopiero zaczynasz korzystać z programu PowerShell, postępuj zgodnie z instrukcjami wprowadzającymi tutaj: Azure PowerShell Wprowadzenie.

Założenia:

  • Masz przypisanego Menedżera kont Microsoft i spełniasz wymagania pieniężne w wysokości pięciu milionów USD (5 mln USD) lub większego całkowitego zatwierdzonego przychodu platformy Azure rocznie, aby kwalifikować się do dołączania i używania dedykowanego modułu HSM platformy Azure.
  • Masz za sobą proces rejestracji dedykowanego modułu HSM platformy Azure i masz zezwolenie na korzystanie z usługi. Jeśli tak nie jest, skontaktuj się z przedstawicielem firmy Microsoft, aby uzyskać szczegółowe informacje.
  • Masz utworzoną grupę zasobów dla tych zasobów i nowe zasoby wdrożone w ramach tego samouczka zostaną dołączone do tej grupy.
  • Masz utworzoną wymaganą sieć wirtualną, podsieć i maszyny wirtualne zgodnie z powyższym diagramem. Teraz chcesz zintegrować z tym wdrożeniem 2 moduły HSM.

We wszystkich poniższych instrukcjach założono, że została już wyświetlona Azure Portal i otwarto Cloud Shell (wybierz pozycję ">_" w prawym górnym rogu portalu).

Aprowizowanie dedykowanego modułu HSM

Aprowizowanie modułów HSM i integracja z istniejącą siecią wirtualną za pośrednictwem bramy usługi ExpressRoute zostanie zweryfikowane przy użyciu narzędzia wiersza polecenia SSH, aby zapewnić dostępność i podstawową dostępność urządzenia HSM dla wszelkich dalszych działań konfiguracyjnych. Następujące polecenia użyją szablonu usługi Resource Manager do tworzenia zasobów modułu HSM i skojarzonych zasobów sieciowych.

Weryfikowanie rejestracji funkcji

Jak wspomniano powyżej, wszelkie działania związane z aprowizacją wymagają, aby usługa dedykowanego modułu HSM była zarejestrowana dla Twojej subskrypcji. Aby to sprawdzić, uruchom następujące polecenie programu PowerShell w Azure Portal Cloud Shell.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

Przed kontynuowaniem polecenie powinno zwrócić stan "Zarejestrowane" (jak pokazano poniżej). Jeśli nie jesteś zarejestrowany w tej usłudze, skontaktuj się z przedstawicielem konta Microsoft.

stan subskrypcji

Tworzenie zasobów modułu HSM

Urządzenie HSM jest aprowizowane w sieci wirtualnej klientów. Oznacza to konieczność użycia podsieci. Zależność modułu HSM umożliwiająca komunikację między siecią wirtualną a urządzeniem fizycznym jest bramą usługi ExpressRoute, a na koniec maszyna wirtualna jest wymagana do uzyskania dostępu do urządzenia HSM przy użyciu oprogramowania klienckiego firmy Thales. W celu ułatwienia użycia te zasoby zostały zebrane w pliku szablonu z odpowiadającym im plikiem parametrów. Te pliki zostaną udostępnione po skontaktowaniu się z firmą Microsoft bezpośrednio pod adresem HSMrequest@Microsoft.com.

Po uzyskaniu tych plików należy zmodyfikować plik parametrów i wstawić preferowane nazwy zasobów. Oznacza to konieczność edytowania wierszy z wartością "value": "".

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

Przykład tych zmian jest następujący:

{
"$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 utworzy sześć zasobów z następującymi informacjami:

  • Podsieć dla modułów HSM w określonej sieci wirtualnej
  • Podsieć dla bramy sieci wirtualnej
  • Brama sieci wirtualnej łącząca sieć wirtualną z urządzeniami HSM
  • Publiczny adres IP bramy
  • Moduł HSM w zasobach sprzętowych 1
  • Moduł HSM w zasobach sprzętowych 2

Po ustawieniu wartości parametrów należy przekazać pliki do Azure Portal Cloud Shell udziału plików do użycia. W Azure Portal kliknij symbol ">_" Cloud Shell w prawym górnym rogu i spowoduje to, że dolna część ekranu będzie środowiskiem poleceń. Opcje są następujące: powłoka BASH i program PowerShell. Należy wybrać powłokę BASH, jeśli nie zostało to wcześniej ustawione.

Powłoka poleceń ma opcję przekazywania/pobierania na pasku narzędzi, którą należy wybrać, aby przekazać pliki szablonów i parametrów do udziału plików:

udział plików

Po przekazaniu plików możesz przystąpić do tworzenia zasobów. Przed utworzeniem nowych zasobów modułu HSM należy sprawdzić, czy istnieją pewne wymagane wstępnie zasoby. Należy mieć sieć wirtualną z zakresami adresów na potrzeby obliczeń, modułów HSM i bramy. Następujące polecenia przedstawiają przykładowy sposób tworzenia takiej sieci wirtualnej.

$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

Uwaga

Najważniejszą czynnością konfiguracyjną, o której należy pamiętać w przypadku sieci wirtualnej, jest konieczność ustawienia delegacji urządzenia HSM na wartość „Microsoft.HardwareSecurityModules/dedicatedHSMs”. Aprowizacja modułu HSM nie będzie możliwa bez tego ustawienia.

Gdy wszystkie wymagania wstępne zostaną spełnione, uruchom następujące polecenie, aby użyć szablonu usługi Resource Manager zapewniającego, że wartości zostały zaktualizowane za pomocą unikatowych nazw (a przynajmniej nazwy grupy zasobów):


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

Wykonywanie tego polecenia powinno zająć około 20 minut. Opcja „-Verbose” służy do ciągłego wyświetlania stanu.

stan aprowizacji

Po pomyślnym wykonaniu tego polecenia, na co wskazywać będzie wyświetlenie komunikatu "provisioningState": "Succeeded", możesz zalogować się do istniejącej maszyny wirtualnej i użyć narzędzia SSH w celu zapewnienia dostępności urządzenia HSM.

Weryfikowanie wdrożenia

Aby zweryfikować, czy urządzenia zostały zaaprowizowane, i wyświetlić atrybuty urządzeń, uruchom następujący zestaw poleceń. Upewnij się, że grupa zasobów została odpowiednio ustawiona, a nazwa zasobu jest dokładnie taka sama 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ż zobaczyć zasoby przy użyciu eksploratora zasobów platformy Azure. W eksploratorze rozwiń pozycję „subskrypcje” po lewej stronie, rozwiń konkretną subskrypcję dla dedykowanego modułu HSM, rozwiń pozycję „grupy zasobów”, rozwiń grupę zasobów, która została użyta, i na koniec wybierz element „zasoby”.

Testowanie wdrożenia

Testowanie wdrożenia polega na nawiązaniu połączenia z maszyną wirtualną, która ma dostęp do modułów HSM, a następnie bezpośrednim nawiązaniu połączenia z urządzeniem HSM. Za pomocą tych akcji można potwierdzić, czy moduł HSM jest osiągalny. Narzędzie SSH jest używane do nawiązywania połączenia z maszyną wirtualną. Polecenie będzie podobne do poniższego, ale zostanie użyta nazwa administratora i nazwa serwera DNS określona w parametrze.

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

Używane hasło 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 znalezionego w portalu dla prefiksu>zasobu <hsm_vnic.


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

Gdy będziesz mieć adres IP, uruchom następujące polecenie:

ssh tenantadmin@<ip address of HSM>

W przypadku powodzenia zostanie wyświetlony monit o podanie hasła. Domyślne hasło to PASSWORD. Moduł HSM wyświetli monit o zmianę hasła. Ustaw silne hasło i skorzystaj z dowolnego mechanizmu, który jest preferowany w Twojej organizacji do przechowywania hasła i zapobiegania jego utracie.

Ważne

Jeśli hasło zostanie utracone, konieczne będzie zresetowanie modułu HSM, co spowoduje 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 tych na poniższym obrazie:

Zrzut ekranu przedstawiający dane wyjściowe polecenia hsm show.

W tym momencie przydzielono wszystkie zasoby na potrzeby wdrożenia modułu HSM o wysokiej dostępności oraz zweryfikowanego dostępu i stanu operacyjnego. Dalsze czynności związane z konfiguracją lub testowaniem obejmują dodatkową pracę z samym modułem HSM. W tym celu należy postępować zgodnie z instrukcjami w podręczniku administrowania modułem HSM Luna 7 w systemie Thales Luna 7, aby zainicjować moduł HSM i utworzyć partycje. Cała dokumentacja i oprogramowanie są dostępne bezpośrednio od firmy Thales do pobrania po zarejestrowaniu się w portalu obsługi klienta firmy Thales i utworzeniu identyfikatora klienta. Pobierz oprogramowanie klienckie w wersji 7.2, aby uzyskać wszystkie wymagane składniki.

Usuwanie lub czyszczenie zasobów

Jeśli skończysz z tylko urządzeniem HSM, można go usunąć jako zasób i wrócić do bezpłatnej puli. Poważnym problemem w takim przypadku są jakiekolwiek poufne dane klienta znajdujące się na urządzeniu. Najlepszym sposobem na "zerowanie" urządzenia jest trzykrotne pobranie hasła administratora modułu HSM (uwaga: nie jest to administrator urządzenia, jest to rzeczywisty administrator modułu HSM). Jako środek bezpieczeństwa w celu ochrony materiału klucza nie można usunąć urządzenia jako zasobu platformy Azure, dopóki nie będzie w stanie zerowanym.

Uwaga

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

Jeśli chcesz usunąć zasób HSM na platformie 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 w tym samouczku zasoby dedykowanego modułu HSM zostaną zaaprowizowane i będą dostępne w Twojej sieci wirtualnej. Teraz możesz uzupełnić to wdrożenie większą ilością zasobów zgodnie z wymaganiami preferowanej architektury wdrażania. Więcej informacji na temat ułatwiania planowania wdrożenia możesz znaleźć w dokumentach z pojęciami. Zalecany jest projekt z dwoma modułami HSM w regionie podstawowym służącym do zapewnienia dostępności na poziomie regału sprzętowego i dwoma modułami HSM w regionie pomocniczym służącym do zapewnienia dostępności regionalnej. Plik szablonu użyty w tym samouczku może zostać w łatwy sposób użyty jako podstawa dla wdrożenia z dwoma modułami HSM, ale konieczne jest zmodyfikowanie jego parametrów w celu spełnienia wymagań.