Postup nasazení privátní šablony ARM s tokenem SAS

Pokud je šablona Azure Resource Manager (šablona ARM) umístěná v účtu úložiště, můžete k ní omezit přístup, abyste ji veřejně nevystavily. K zabezpečené šabloně přistupujete vytvořením tokenu sdíleného přístupového podpisu (SAS) pro šablonu a poskytnutím tohoto tokenu během nasazení. Tento článek vysvětluje, jak pomocí Azure PowerShell nebo Azure CLI bezpečně nasadit šablonu ARM s tokenem SAS.

Informace o ochraně a správě přístupu k privátním šablonám ARM najdete v následujících pokynů:

  • Vytvoření účtu úložiště se zabezpečeným kontejnerem
  • Nahrání šablony do účtu úložiště
  • Poskytnutí tokenu SAS během nasazení

Důležité

Místo zabezpečení privátní šablony tokenem SAS zvažte použití specifikací šablony. Díky specifikacím šablon můžete šablony sdílet s ostatními uživateli ve vaší organizaci a spravovat přístup k šablonám prostřednictvím Azure RBAC.

Vytvoření účtu úložiště se zabezpečeným kontejnerem

Následující skript vytvoří účet úložiště a kontejner s vypnutým veřejným přístupem pro zabezpečení šablon.

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

Nahrání privátní šablony do účtu úložiště

Teď můžete šablonu nahrát do účtu úložiště. Zadejte cestu k šabloně, kterou chcete použít.

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

Poskytnutí tokenu SAS během nasazení

Pokud chcete nasadit privátní šablonu v účtu úložiště, vygenerujte token SAS a zahrňte ho do identifikátoru URI šablony. Nastavte čas vypršení platnosti tak, aby byl dostatek času k dokončení nasazení.

Důležité

Objekt blob obsahující privátní šablonu je přístupný jenom pro vlastníka účtu. Když ale pro objekt blob vytvoříte token SAS, bude objekt blob přístupný komukoli s tímto identifikátorem URI. Pokud identifikátor URI zachytí jiný uživatel, bude mít k šabloně přístup. Token SAS je dobrý způsob, jak omezit přístup k šabloně, ale neměli byste do šablony zahrnovat citlivá data, jako jsou hesla.

# 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

Příklad použití tokenu SAS s propojenými šablonami najdete v tématu Použití propojených šablon s Azure Resource Manager.

Další kroky