Share via


Hoe een privé ARM-sjabloon te implementeren met SAS-token

Wanneer uw Azure Resource Manager-sjabloon (ARM-sjabloon) zich in een opslagaccount bevindt, kunt u de toegang tot de sjabloon beperken om te voorkomen dat deze openbaar wordt gemaakt. U krijgt toegang tot een beveiligde sjabloon door een SAS-token (Shared Access Signature) voor de sjabloon te maken en dat token tijdens de implementatie op te geven. In dit artikel wordt uitgelegd hoe u Azure PowerShell of Azure CLI gebruikt om een ARM-sjabloon met een SAS-token veilig te implementeren.

U vindt informatie over het beveiligen en beheren van de toegang tot uw persoonlijke ARM-sjablonen met aanwijzingen over hoe u het volgende kunt doen:

  • Maak een opslagaccount aan met een beveiligde container
  • Sjabloon uploaden naar opslagaccount
  • SAS-token opgeven tijdens de implementatie

Belangrijk

In plaats van uw privésjabloon te beveiligen met een SAS-token, kunt u overwegen sjabloonspecificaties te gebruiken. Met sjabloonspecificaties kunt u uw sjablonen delen met andere gebruikers in uw organisatie en de toegang tot de sjablonen beheren via Azure RBAC.

Maak een opslagaccount aan met een beveiligde container

Met het volgende script worden een opslagaccount en container gemaakt waarbij openbare toegang is uitgeschakeld voor sjabloonbeveiliging.

New-AzResourceGroup `
  -Name ExampleGroup `
  -Location "Central US"
New-AzStorageAccount `
  -ResourceGroupName ExampleGroup `
  -Name {your-unique-name} `
  -Type Standard_LRS `
  -Location "Central US"
Set-AzCurrentStorageAccount `
  -ResourceGroupName ExampleGroup `
  -Name {your-unique-name}
New-AzStorageContainer `
  -Name templates `
  -Permission Off

Upload een privésjabloon naar een opslagaccount

Nu bent u klaar om uw sjabloon te uploaden naar het opslagaccount. Geef het pad op naar de sjabloon die u wilt gebruiken.

Set-AzStorageBlobContent `
  -Container templates `
  -File c:\Templates\azuredeploy.json

SAS-token opgeven tijdens de implementatie

Als u een privésjabloon in een opslagaccount wilt implementeren, genereert u een SAS-token en neemt u dit op in de URI voor de sjabloon. Stel de vervaltijd zo in, dat er genoeg tijd is om de implementatie te voltooien.

Belangrijk

De blob met de privésjabloon is alleen toegankelijk voor de accounteigenaar. Wanneer u echter een SAS-token voor de blob maakt, is de blob toegankelijk voor iedereen met die URI. Als een andere gebruiker de URI onderschept, heeft die gebruiker toegang tot de sjabloon. Een SAS-token is een goede manier om de toegang tot uw sjablonen te beperken, maar u moet geen gevoelige gegevens zoals wachtwoorden rechtstreeks in de sjabloon opnemen.

# get the URI with the SAS token
$templateuri = New-AzStorageBlobSASToken `
  -Container templates `
  -Blob azuredeploy.json `
  -Permission r `
  -ExpiryTime (Get-Date).AddHours(2.0) -FullUri

# provide URI with SAS token during deployment
New-AzResourceGroupDeployment `
  -ResourceGroupName ExampleGroup `
  -TemplateUri $templateuri

Zie Gekoppelde sjablonen gebruiken met Azure Resource Manager voor een voorbeeld van het gebruik van een SAS-token met gekoppelde sjablonen.

Volgende stappen