Bereitstellen einer privaten ARM-Vorlage mit SAS-Token

Wenn sich Ihre ARM-Vorlage (Azure Resource Manager) in einem Speicherkonto befindet, können Sie den Zugriff auf die Vorlage beschränken, um deren öffentliche Bereitstellung zu vermeiden. Sie greifen auf eine gesicherte Vorlage zu, indem Sie ein SAS-Token (Shared Access Signature) für die Vorlage erstellen und dieses Token während der Bereitstellung bereitstellen. In diesem Artikel wird erläutert, wie Sie Azure PowerShell oder Azure CLI verwenden, um eine ARM-Vorlage mit einem SAS-Token sicher bereitzustellen.

Sie finden Informationen darüber, wie Sie den Zugriff auf Ihre privaten ARM-Vorlagen schützen und verwalten können, sowie Anleitungen zu den folgenden Schritten:

  • Erstellen eines Speicherkontos mit einem gesicherten Container
  • Hochladen der Vorlage in das Speicherkonto
  • Bereitstellen eines SAS-Tokens während der Bereitstellung

Wichtig

Anstatt Ihre private Vorlage mit einem SAS-Token zu sichern, sollten Sie die Verwendung von Vorlagenspezifikationen in Erwägung ziehen. Mit Vorlagenspezifikationen können Sie Ihre Vorlagen mit anderen Benutzern in Ihrer Organisation teilen und den Zugriff auf die Vorlagen über Azure RBAC verwalten.

Erstellen eines Speicherkontos mit einem gesicherten Container

Das folgende Skript erstellt ein Speicherkonto und einen Container mit deaktiviertem öffentlichem Zugriff für die Vorlagensicherheit.

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

Hochladen einer privaten Vorlage zum Speicherkonto

Jetzt können Sie Ihre Vorlage in das Speicherkonto hochladen. Geben Sie den Pfad zu der Vorlage an, die Sie verwenden möchten.

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

Bereitstellen eines SAS-Tokens während der Bereitstellung

Generieren Sie zum Bereitstellen einer privaten Vorlage in einem Speicherkonto ein SAS-Token, und fügen Sie es dem URI für die Vorlage hinzu. Legen Sie die Ablaufzeit so fest, dass ausreichend Zeit für die Bereitstellung bleibt.

Wichtig

Auf den Blob, der die private Vorlage enthält, hat nur der Kontobesitzer Zugriff. Wenn Sie jedoch ein SAS-Token für das Blob erstellen, können andere Benutzer über diesen URI auf das Blob zugreifen. Wenn ein anderer Benutzer den URI abfängt, hat dieser Benutzer Zugriff auf die Vorlage. Ein SAS-Token ist eine gute Möglichkeit zum Einschränken des Zugriffs auf Ihre Vorlagen. Sie sollten allerdings Kennwörter auf keinen Fall direkt in die Vorlage einschließen.

# 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

Ein Beispiel der Verwendung eines SAS-Tokens mit verknüpften Vorlagen finden Sie unter Verwenden von verknüpften Vorlagen mit Azure Resource Manager.

Nächste Schritte