Cara menyebarkan templat ARM privat dengan token SAS

Saat templat Azure Resource Manager (templat ARM) Anda berada di akun penyimpanan, Anda dapat membatasi akses ke templat agar tidak mengeksposnya secara publik. Anda mengakses templat aman dengan membuat token tanda tangan akses bersama (SAS) untuk templat, dan menyediakan token tersebut selama penyebaran. Artikel ini menjelaskan cara menggunakan Azure PowerShell atau Azure CLI untuk menggunakan templat ARM dengan token SAS.

Anda akan menemukan informasi tentang cara melindungi dan mengelola akses ke templat ARM privat Anda dengan petunjuk tentang cara melakukan hal berikut:

  • Membuat akun penyimpanan dengan kontainer aman
  • Mengunggah templat ke akun penyimpanan
  • Berikan token SAS selama penyebaran

Penting

Sebagai ganti mengamankan templat Anda dengan token SAS, pertimbangkan untuk menggunakan spesifikasi templat. Dengan spesifikasi templat, Anda dapat berbagi templat dengan pengguna lain di organisasi Anda dan mengelola akses ke templat melalui Azure RBAC.

Membuat akun penyimpanan dengan kontainer aman

Skrip berikut membuat akun penyimpanan dan penampung dengan akses publik dimatikan untuk keamanan templat.

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

Mengunggah templat privat ke akun penyimpanan

Sekarang, Anda siap untuk mengunggah templat Anda ke akun penyimpanan. Sediakan jalur ke templat yang ingin Anda gunakan.

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

Berikan token SAS selama penyebaran

Untuk menyebarkan templat pribadi di akun penyimpanan, buat token SAS dan sertakan dalam URI untuk templat. Atur waktu kedaluwarsa untuk memungkinkan cukup waktu menyelesaikan penerapan.

Penting

Blob yang berisi templat hanya dapat diakses oleh pemilik akun. Namun, ketika Anda membuat token SAS untuk blob, blob dapat diakses oleh siapa saja dengan token SAS. Jika pengguna lain menghadang URI dan token SAS, pengguna tersebut dapat mengakses templat. Token SAS adalah cara yang baik untuk membatasi akses ke templat Anda, tetapi Anda tidak boleh menyertakan data sensitif seperti kata sandi secara langsung di templat.

# 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

Untuk contoh penggunaan token SAS dengan templat yang ditautkan, lihat Menggunakan templat tertaut dengan Azure Resource Manager.

Langkah berikutnya