Zelfstudie: PowerShell gebruiken om HSM's te implementeren in een bestaand virtueel netwerk

De service Azure Toegewezen HSM biedt een fysiek apparaat voor gebruik door één klant, met volledige administratieve controle en verantwoordelijkheid voor volledig beheer. Omdat fysieke hardware wordt verstrekt, moet Microsoft regelen hoe deze apparaten worden toegewezen om ervoor te zorgen dat capaciteit effectief wordt beheerd. Als gevolg hiervan is de toegewezen HSM-service binnen een Azure-abonnement normaal gesproken niet zichtbaar voor het inrichten van resources. Elke Azure-klant die toegang nodig heeft tot de Toegewezen HSM-service, moet eerst contact opnemen met de beheerder van zijn Microsoft-account om registratie aan te vragen voor de Toegewezen HSM-service. Pas wanneer dit proces is voltooid, is inrichting mogelijk. In deze zelfstudie wordt een typisch inrichtingsproces getoond, waarin:

  • Een klant al een virtueel netwerk heeft
  • De klant een virtuele machine heeft
  • De klant HSM-resources moet toevoegen aan de bestaande omgeving.

Een typische implementatiearchitectuur met hoge beschikbaarheid in meerdere regio's kan er als volgt uitzien:

implementatie in meerdere regio's

Deze zelfstudie is gericht op een paar HSM's en de vereiste ExpressRoute-gateway (zie Subnet 1 hierboven) die worden geïntegreerd in een bestaand virtueel netwerk (zie VNET 1 hierboven). Alle andere resources zijn standaard Azure-resources. Hetzelfde integratieproces kan worden gebruikt voor HSM's in subnet 4 op VNET 3 hierboven.

Notitie

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

Azure Toegewezen HSM is momenteel niet beschikbaar in de Azure-portal, dus alle interactie met de service loopt via de opdrachtregel of PowerShell. In deze zelfstudie wordt PowerShell in de Azure Cloud Shell gebruikt. Als PowerShell nieuw voor u is, volgt u hier de instructies om aan de slag te gaan: Azure PowerShell Aan de slag.

Veronderstellingen:

  • U hebt een toegewezen Microsoft Account Manager en voldoet aan de financiële vereiste van vijf miljoen ($ 5 miljoen) USD of meer aan totale vastgelegde Azure-omzet per jaar om in aanmerking te komen voor onboarding en gebruik van Azure Dedicated HSM.
  • U hebt het registratieproces voor Azure Toegewezen HSM uitgevoerd en u mag de service gebruiken. Als dat niet het geval is, neemt u contact op met de vertegenwoordiger van uw Microsoft-account voor meer informatie.
  • U hebt een resourcegroep voor deze resources gemaakt en de nieuwe recources die u in deze zelfstudie hebt geïmplementeerd, gaan deel uitmaken van die groep.
  • U hebt het benodigde virtuele netwerk, het subnet en de virtuele machines al gemaakt aan de hand van het diagram hierboven en nu wilt u 2 HSM's integreren in deze implementatie.

In alle onderstaande instructies wordt ervan uitgegaan dat u al naar de Azure Portal bent genavigeerd en dat u de Cloud Shell hebt geopend (selecteer '>_' rechtsboven in de portal).

Een toegewezen HSM inrichten

Het inrichten van de HSM's en de integratie in een bestaand virtueel netwerk via de ExpressRoute-gateway wordt gevalideerd met behulp van het ssh-opdrachtregelprogramma om de bereikbaarheid en de basisbeschikbaarheid van het HSM-apparaat te garanderen voor eventuele verdere configuratieactiviteiten. Voor de volgende opdrachten wordt een Resource Manager-sjabloon gebruikt om de HSM-resources en bijbehorende netwerkresources te maken.

Functieregistratie valideren

Zoals hierboven is uitgelegd, vereist elke inrichtingsactiviteit dat de Toegewezen HSM-service voor uw abonnement wordt geregistreerd. Voer de volgende PowerShell-opdracht uit in de Azure Portal Cloud Shell om dit te valideren.

Get-AzProviderFeature -ProviderNamespace Microsoft.HardwareSecurityModules -FeatureName AzureDedicatedHsm

De opdracht moet de status 'Geregistreerd' retourneren (zoals hieronder wordt weergegeven) voordat u verdergaat. Als u niet bent geregistreerd voor deze service, neemt u contact op met uw Microsoft-accountvertegenwoordiger.

abonnementsstatus

HSM-resources maken

Een HSM-apparaat is ingericht in het virtueel netwerk van een klant. Dit impliceert de vereiste voor een subnet. Een afhankelijkheid voor de HSM om communicatie tussen het virtuele netwerk en het fysieke apparaat mogelijk te maken, is een ExpressRoute-gateway en ten slotte is een virtuele machine vereist voor toegang tot het HSM-apparaat met behulp van de Thales-clientsoftware. Deze resources zijn voor het gebruiksgemak verzameld in een sjabloonbestand met bijbehorend parameterbestand. Neem rechtstreeks via HSMrequest@Microsoft.com contact op met Microsoft voor de bestanden.

Wanneer u de bestanden hebt, moet u het parameterbestand bewerken om uw voorkeursnamen voor resources in te voegen. Dit betekent dat u de regels met 'waarde' moet bewerken.

  • namingInfix Voorvoegsel voor namen van HSM-resources
  • ExistingVirtualNetworkName Naam van het virtuele netwerk dat voor de HSM's wordt gebruikt
  • DedicatedHsmResourceName1 Naam van de HSM-resource in datacenter stempel 1
  • DedicatedHsmResourceName2 Naam van de HSM-resource in datacenter stempel 2
  • hsmSubnetRange IP-adresbereik van subnet voor HSM's
  • ERSubnetRange IP-adresbereik van subnet voor VNET-gateway

Hier volgt een voorbeeld van deze wijzigingen:

{
"$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"
    },
  }
}

Het gekoppelde Resource Manager sjabloonbestand maakt zes resources met deze informatie:

  • Een subnet voor de HSM's in het opgegeven VNET
  • Een subnet voor de gateway van het virtuele netwerk
  • Een virtuele-netwerkgateway die het VNET verbindt met de HSM-apparaten
  • Een openbaar IP-adres voor de gateway
  • Een HSM in stempel 1
  • Een HSM in stempel 2

Zodra de parameterwaarden zijn ingesteld, moeten de bestanden worden geüpload naar Azure Portal Cloud Shell bestandsshare voor gebruik. Klik in de Azure Portal op het Cloud Shell symbool '>_' rechtsboven. Hierdoor wordt het onderste gedeelte van het scherm een opdrachtomgeving. De opties hiervoor zijn BASH en PowerShell, en u moet BASH selecteren als dat nog niet is gebeurd.

De opdrachtshell heeft een optie Uploaden/Downloaden op de werkbalk. Selecteer deze om de sjabloon en parameterbestanden te uploaden naar de bestandsshare:

bestandsshare

Zodra de bestanden zijn geüpload, kunt u resources maken. Voordat u nieuwe HSM-resources maakt, controleert u eerst of de volgende vereiste resources aanwezig zijn. U moet een virtueel netwerk hebben met subnetbereiken voor compute, HSM's en gateway. De volgende opdrachten zijn een voorbeeld van hoe een dergelijk virtueel netwerk wordt gemaakt.

$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

Notitie

De belangrijkste configuratie die u voor het virtuele netwerk moet onthouden, is dat het subnet voor het HSM-apparaat delegaties moet hebben die zijn ingesteld op 'Microsoft.HardwareSecurityModules/dedicatedHSMs'. De HSM-inrichting werkt anders niet.

Wanneer aan alle vereisten is voldaan, voert u de volgende opdracht uit om de Resource Manager-sjabloon te gebruiken om te zorgen dat de waarden worden bijgewerkt met uw unieke namen (in ieder geval de naam van de resourcegroep):


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

Het duurt ongeveer 20 minuten om deze opdracht te voltooien. Het gebruik van de optie '-verbose' zorgt ervoor dat de status voortdurend wordt weergegeven.

inrichtingsstatus

Wanneer de opdracht is voltooid, wat wordt weergegeven door 'provisioningState': 'Succeeded', kunt u zich aanmelden bij uw bestaande virtuele machine en SSH gebruiken om de beschikbaarheid van het HSM-apparaat te garanderen.

De implementatie controleren

Voer de volgende opdrachtenset uit om te controleren of de apparaten zijn ingericht en de apparaatkenmerken weer te geven. Controleer of de resourcegroep op de juiste wijze is ingesteld en de resourcenaam overeenkomt met die in het parameterbestand.


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

inrichtingsstatus

U kunt nu ook de resources zien met behulp van de Azure-resourceverkenner. In de Explorer vouwt u aan de linkerkant 'Subscriptions' uit. Vouw achtereenvolgens uw specifieke abonnement voor Toegewezen HSM, 'Resource Groups' en de gebruikte resourcegroep uit. Selecteer tot slot het item 'Resources'.

De implementatie testen

Om de implementatie te testen, maakt u verbinding met een virtuele machine die toegang heeft tot de HSM('s) en maakt u vervolgens rechtstreeks verbinding met het HSM-apparaat. Deze acties bevestigen dat de HSM bereikbaar is. Het SSH-hulpprogramma wordt gebruikt om verbinding te maken met de virtuele machine. De opdracht is vergelijkbaar met de volgende, maar met de beheerdersnaam en DNS-naam die u hebt opgegeven in de parameter.

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

Gebruik het wachtwoord uit het parameterbestand. Nadat u bent aangemeld bij de Linux-VM, kunt u zich aanmelden bij de HSM met behulp van het privé-IP-adres in de portal voor het resourcevoorvoegsel <>hsm_vnic.


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

Wanneer u het IP-adres hebt, voert u de volgende opdracht uit:

ssh tenantadmin@<ip address of HSM>

Als dit lukt, wordt u gevraagd om een wachtwoord. Het standaardwachtwoord is PASSWORD. De HSM vraagt u om het wachtwoord te wijzigen. Stel een sterk wachtwoord in en gebruik het mechanisme waaraan uw organisatie de voorkeur geeft om het wachtwoord op te slaan en verlies te voorkomen.

Belangrijk

Als u dit wachtwoord kwijtraakt, moet de HSM opnieuw worden ingesteld, wat verlies van uw codes betekent.

Wanneer u met behulp van SSH bent verbonden met het HSM-apparaat, voert u de volgende opdracht uit om ervoor te zorgen dat de HSM operationeel is.

hsm show

De uitvoer moet er uitzien als in de afbeelding hieronder wordt weergegeven:

Schermopname van de uitvoer van de opdracht hsm show.

Op dit moment hebt u alle resources toegewezen voor een maximaal beschikbare, twee HSM-implementaties en gevalideerde toegang en operationele status. Voor verdere configuratie of tests is meer werk met het HSM-apparaat zelf vereist. Hiervoor moet u de instructies in hoofdstuk 7 van de Thales Luna 7 HSM-beheerhandleiding volgen om de HSM te initialiseren en partities te maken. Alle documentatie en software zijn rechtstreeks vanuit Thales beschikbaar om te downloaden zodra u bent geregistreerd in de Thales-klantondersteuningsportal en een klant-id hebt. Download versie 7.2 van de clientsoftware om alle vereiste onderdelen op te halen.

Resources verwijderen of opschonen

Als u klaar bent met alleen het HSM-apparaat, kan het worden verwijderd als een resource en worden teruggestuurd naar de gratis pool. Uiteraard moet u zorg dragen voor eventuele vertrouwelijke gegevens van klanten die zich op het apparaat bevinden. De beste manier om een apparaat 'zeroize' te maken, is door het HSM-beheerderswachtwoord drie keer verkeerd te krijgen (opmerking: dit is geen apparaatbeheerder, het is de werkelijke HSM-beheerder). Als veiligheidsmaatregel voor het beveiligen van sleutelmateriaal kan het apparaat niet worden verwijderd als een Azure-resource totdat het de status Zeroized heeft.

Notitie

Als u problemen hebt met de configuratie van een Thales-apparaat, neemt u contact op met Thales-klantondersteuning.

Als u de HSM-resource in Azure wilt verwijderen, kunt u de volgende opdracht gebruiken om de $-variabelen te vervangen door uw unieke parameters:


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

Volgende stappen

Wanneer u de stappen in de zelfstudie hebt voltooid, zijn toegewezen HSM-resources ingericht en beschikbaar in uw virtuele netwerk. U kunt deze implementatie nu aanvullen met meer resources, zoals vereist door de implementatiearchitectuur van uw voorkeur. Zie de Concepts-documenten voor meer informatie over het plannen van een implementatie. Een ontwerp met twee HSM's in een primaire regio voor beschikbaarheid op rekniveau, en twee HSM's in een secundaire regio voor regionale beschikbaarheid wordt aanbevolen. Het sjabloonbestand dat in deze zelfstudie wordt gebruikt, kan eenvoudig worden gebruikt als basis voor een implementatie met twee HSM's, maar de parameters ervan moeten worden gewijzigd om te voldoen aan uw vereisten.