Jak wdrożyć prywatny szablon usługi ARM z tokenem SAS
Gdy szablon usługi Azure Resource Manager (szablon usługi ARM) znajduje się na koncie magazynu, możesz ograniczyć dostęp do szablonu, aby uniknąć publicznego ujawnienia go. Uzyskujesz dostęp do zabezpieczonego szablonu, tworząc token sygnatury dostępu współdzielonego (SAS) dla szablonu i podając ten token podczas wdrażania. W tym artykule wyjaśniono, jak używać programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure do bezpiecznego wdrażania szablonu usługi ARM przy użyciu tokenu SAS.
Informacje na temat ochrony dostępu do prywatnych szablonów usługi ARM i zarządzania nimi można znaleźć, wykonując następujące czynności:
- Tworzenie konta magazynu z zabezpieczonym kontenerem
- Przekazywanie szablonu do konta magazynu
- Podawanie tokenu SAS podczas wdrażania
Ważne
Zamiast zabezpieczać szablon prywatny przy użyciu tokenu SAS, rozważ użycie specyfikacji szablonu. Dzięki specyfikacjom szablonu możesz udostępniać szablony innym użytkownikom w organizacji i zarządzać dostępem do szablonów za pośrednictwem kontroli dostępu opartej na rolach platformy Azure.
Tworzenie konta magazynu z zabezpieczonym kontenerem
Poniższy skrypt tworzy konto magazynu i kontener z wyłączonym dostępem publicznym dla zabezpieczeń szablonu.
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
Przekazywanie szablonu prywatnego do konta magazynu
Teraz możesz przekazać szablon do konta magazynu. Podaj ścieżkę do szablonu, którego chcesz użyć.
Set-AzStorageBlobContent `
-Container templates `
-File c:\Templates\azuredeploy.json
Podawanie tokenu SAS podczas wdrażania
Aby wdrożyć szablon prywatny na koncie magazynu, wygeneruj token SAS i dołącz go do identyfikatora URI szablonu. Ustaw czas wygaśnięcia, aby umożliwić wystarczającą ilość czasu na ukończenie wdrożenia.
Ważne
Obiekt blob zawierający szablon prywatny jest dostępny tylko dla właściciela konta. Jednak podczas tworzenia tokenu SAS dla obiektu blob obiekt blob jest dostępny dla każdego, kto ma ten identyfikator URI. Jeśli inny użytkownik przechwytuje identyfikator URI, ten użytkownik może uzyskać dostęp do szablonu. Token SAS to dobry sposób ograniczania dostępu do szablonów, ale nie należy dołączać poufnych danych, takich jak hasła bezpośrednio w szablonie.
# 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
Przykład użycia tokenu SAS z połączonymi szablonami można znaleźć w temacie Using linked templates with Azure Resource Manager (Używanie połączonych szablonów z usługą Azure Resource Manager).
Następne kroki
- Aby zapoznać się z wprowadzeniem do wdrażania szablonów, zobacz Wdrażanie zasobów przy użyciu szablonów usługi ARM i programu Azure PowerShell.
- Aby zdefiniować parametry w szablonie, zobacz Tworzenie szablonów.