Freigeben über


Bereitstellen einer privaten ARM-Vorlage mit SAS-Token

Wenn sich Ihre Azure Resource Manager-Vorlage (ARM-Vorlage) in einem Speicherkonto befindet, können Sie den Zugriff auf die Vorlage einschränken, um zu vermeiden, dass sie öffentlich verfügbar gemacht wird. 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.

Hier finden Sie Informationen zum Schützen und Verwalten des Zugriffs auf Ihre privaten ARM-Vorlagen mit Anweisungen zur Vorgehensweise:

  • Erstellen eines Speicherkontos mit gesicherten Containern
  • Vorlage in Speicherkonto hochladen
  • Bereitstellen eines SAS-Tokens während der Bereitstellung

Von Bedeutung

Anstatt Ihre private Vorlage mit einem SAS-Token zu sichern, sollten Sie die Verwendung von Vorlagenspezifikationen in Betracht ziehen. Mit Vorlagenspezifikationen können Sie Ihre Vorlagen für andere Benutzer in Ihrer Organisation freigeben und den Zugriff auf die Vorlagen über Azure RBAC verwalten.

Erstellen eines Speicherkontos mit gesicherten Containern

Das folgende Skript erstellt ein Speicherkonto und einen Container mit öffentlichem Zugriff, der für die Vorlagensicherheit deaktiviert ist.

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 in ein 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

Um eine private Vorlage in einem Speicherkonto bereitzustellen, generieren Sie ein SAS-Token und fügen sie in den URI für die Vorlage ein. Legen Sie die Ablaufzeit so fest, dass ausreichend Zeit für die Bereitstellung bleibt.

Von Bedeutung

Auf das Blob mit der privaten Vorlage kann nur der Kontobesitzer zugreifen. Wenn Sie jedoch ein SAS-Token für das Blob erstellen, kann auf das Blob für alle Benutzer mit diesem URI zugegriffen werden. Wenn ein anderer Benutzer den URI abfangen kann, kann dieser Benutzer auf die Vorlage zugreifen. Ein SAS-Token ist eine gute Möglichkeit, den Zugriff auf Ihre Vorlagen einzuschränken, sie sollten jedoch keine vertraulichen Daten wie Kennwörter 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 für die Verwendung eines SAS-Tokens mit verknüpften Vorlagen finden Sie unter Verwenden verknüpfter Vorlagen mit Azure Resource Manager.

Nächste Schritte