Een privé-ARM-sjabloon met SAS-token implementeren

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 opent een beveiligde sjabloon door een SAS-token (Shared Access Signature) voor de sjabloon te maken en dat token op te geven tijdens de implementatie. 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 toegang tot uw persoonlijke ARM-sjablonen met instructies voor het volgende:

  • Opslagaccount maken met beveiligde container
  • Sjabloon uploaden naar opslagaccount
  • SAS-token opgeven tijdens de implementatie

Belangrijk

In plaats van uw persoonlijke sjabloon te beveiligen met een SAS-token, kunt u overwegen om 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.

Opslagaccount maken met beveiligde container

Met het volgende script maakt u een opslagaccount en container met openbare toegang 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

Persoonlijke sjabloon uploaden naar opslagaccount

U bent nu 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 het 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 persoonlijke sjabloon is alleen toegankelijk voor de accounteigenaar. Maar als u een SAS-token voor de blob maakt, is de blob toegankelijk voor iedereen met die URI. Als een andere gebruiker de URI onderschept, kan die gebruiker toegang krijgen tot de sjabloon. Een SAS-token is een goede manier om de toegang tot uw sjablonen te beperken, maar u mag geen gevoelige gegevens zoals wachtwoorden rechtstreeks in de sjabloon toevoegen.

# 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