Come distribuire un modello di Resource Manager privato con token di firma di accesso condiviso

Quando il modello di Azure Resource Manager si trova in un account di archiviazione, è possibile limitare l'accesso al modello per evitare di esporlo pubblicamente. È possibile accedere a un modello protetto creando un token di firma di accesso condiviso per il modello e specificando tale token durante la distribuzione. Questo articolo illustra come usare Azure PowerShell o l'interfaccia della riga di comando di Azure per distribuire in modo sicuro un modello di Resource Manager con un token di firma di accesso condiviso.

Sono disponibili informazioni su come proteggere e gestire l'accesso ai modelli di Azure Resource Manager privato con indicazioni su come eseguire le operazioni seguenti:

  • Creare un account di archiviazione con un contenitore protetto
  • Caricare il modello nell'account di archiviazione
  • Fornire il token SAS in fase di distribuzione

Importante

Invece di proteggere il modello privato con un token di firma di accesso condiviso, è consigliabile usare le specifiche del modello. Con le specifiche di modello, è possibile condividere i modelli con altri utenti dell'organizzazione e gestire l'accesso ai modelli tramite il controllo degli accessi in base al ruolo di Azure.

Creare un account di archiviazione con un contenitore protetto

Lo script seguente crea un account di archiviazione e un contenitore con accesso pubblico disattivato per la sicurezza del modello.

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

Caricare un modello privato nell'account di archiviazione

A questo momento, si è pronti per caricare il modello nell'account di archiviazione. Specificare il percorso del modello da usare.

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

Fornire il token SAS in fase di distribuzione

Per distribuire un modello privato in un account di archiviazione, generare un token di firma di accesso condiviso e includerlo nell'URI del modello. Impostare l'ora di scadenza in modo da garantire un tempo sufficiente per completare la distribuzione.

Importante

Il BLOB contenente il modello privato è accessibile solo al proprietario dell'account. Tuttavia, quando si crea un token di firma di accesso condiviso per il BLOB, quest'ultimo sarà accessibile a tutti gli utenti con quell'URI. Se l'URI viene intercettato da un altro utente, quest'ultimo sarà in grado di accedere al modello. Usare un token di firma di accesso condiviso è un buon metodo per limitare l'accesso ai modelli, ma è necessario non includere direttamente nel modello dati sensibili come le password.

# 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

Per un esempio sull'uso di un token di firma di accesso condiviso con modelli collegati, vedere Uso di modelli collegati con Azure Resource Manager.

Passaggi successivi