Die Aufgabe SAS Token erstellen erzeugt ein SAS Token, das für den Zugriff auf einen privaten Azure Storage Container verwendet werden kann. Die Aufgabe erhält auch die StorageUri. Beide Variablen können in nachfolgenden Aufgaben verwendet werden, z.B. in der Aufgabe Azure Resource Group Deployment. Dies ist die erste Aufgabe der Infrastructure as Code-Serie. Die Aufgabe finden Sie auf dem Marktplatz und können sie zu Ihrem VSTS-Konto hinzufügen. Der Code ist Open Source und kann auf GitHub gefunden werden.
Die ARM-Vorlage StorageAccount.json sieht wie folgt aus:

Voraussetzungen für die Probe
In diesem Beispiel führe ich eine ARM-Vorlage aus, die verknüpfte ARM-Vorlagen verwendet. Diese verknüpften ARM-Vorlagen werden in einem privaten Azure Storage Container gespeichert. Ich verwende die Aufgabe Azure Resource Group Deployment, um die übergeordnete ARM-Vorlage zu verteilen. Der Azure Storage Container sieht wie folgt aus:
Die ARM-Vorlage StorageAccount.json sieht wie folgt aus:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"Parameter": {
"storageAccountName": {
"Typ": "string"
},
"storageAccountType": {
"Typ": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"
],
"Metadaten": {
"Beschreibung": "Speicher Kontotyp"
}
}
},
"Ressourcen": [
{
"Typ": "Microsoft.Storage/storageAccounts",
"name": "[Parameter('storageAccountName')]",
"apiVersion": "2016-01-01",
"Standort": "[resourceGroup().location]",
"sku": {
"name": "[Parameter('storageAccountType')]"
},
"Art": "Speicherung",
"Eigenschaften": {
}
}
]
}
Die ARM-Vorlage, die auf die StorageAccount.json verweist, sieht wie folgt aus:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"Parameter": {
"storageAccountName": {
"Typ": "string"
},
"_artifactsLocation": {
"Typ": "string",
"Metadaten": {
"Beschreibung": "Ändern Sie diesen Wert in den Namen Ihres Repos, wenn Sie von einem Fork aus deployen.
},
"defaultValue": ""
},
"_artifactsLocationSasToken": {
"Typ": "securestring",
"Metadaten": {
"Beschreibung": "Automatisch generiertes Token für den Zugriff auf _artifactsLocation",
"artifactsLocationSasToken": ""
},
"defaultValue": ""
}
},
"Variablen": {
},
"Ressourcen": [
{
"apiVersion": "2015-01-01",
"Name": "Speicherung",
"Typ": "Microsoft.Ressourcen/Einsätze",
"Eigenschaften": {
"Modus": "Inkrementell",
"templateLink": {
"uri": "[concat(parameters('_artifactsLocation'),'/StorageAccount .json',parameters('_artifactsLocationSasToken'))]",
"contentVersion": "1.0.0.0"
},
"Parameter": {
"storageAccountName": {
"Wert": "[Parameter('storageAccountName')]"
}
}
}
}
],
"Ausgaben": {
}
}
In diesem Beispiel wird die obige ARM-Vorlage in Git gespeichert. Ein Build ist dafür verantwortlich, ein Artefakt dieser ARM-Vorlage zu erstellen, damit es im Release verwendet werden kann. Das Release wird im nächsten Absatz erklärt.
Schritte zur Verwendung und Konfiguration der Aufgabe
- Installieren Sie die Aufgabe in Ihrem VSTS-Konto, indem Sie zum Marketplace navigieren und auf Installieren klicken. Wählen Sie das VSTS-Konto, in dem die Aufgabe bereitgestellt werden soll.
- Fügen Sie die Aufgabe zu Ihrer Version hinzu, indem Sie in Ihrer Version auf Aufgabe hinzufügen klicken und die Kategorie Dienstprogramm auswählen. Klicken Sie auf die Schaltfläche Hinzufügen bei der Aufgabe SAS Token erstellen.

- Konfigurieren Sie die Aufgabe. Wenn die Aufgabe hinzugefügt wird, sieht die Konfiguration wie folgt aus
Alle gelben Felder sind Pflichtfelder.
- Wählen Sie ein AzureRM-Abonnement. Wenn Sie nicht wissen, wie Sie dies konfigurieren können. Lesen Sie diesen Blogpost. (Ich verwende einen Azure Principal mit "Leser"-Rechten nur für die ResourceGroup, die den StorageAccount enthält)- Wählen Sie den Storage Account, für den Sie ein SAS Token erstellen möchten - Geben Sie den Namen des Storage Containers ein - Eine Variable für das SAS Token ist ebenfalls erforderlich. Standardmäßig wird eine Variable mit dem Namen storageToken konfiguriert. Die Konfiguration des Tasks SAS Token erstellen sieht wie folgt aus:
Beachten Sie, dass ich ein ServicePrincipal mit schreibgeschütztem Zugriff auf die Ressourcengruppe verwende, die den StorageAccount mit einem privaten Container enthält. - Konfigurieren Sie die nachfolgenden Aufgaben, die das SAS-Token benötigen. In dem folgenden Beispiel wird die Aufgabe Azure Resource Group Deployment verwendet.
- Konfigurieren Sie die Aufgabe und füllen Sie das Feld Parameter der Vorlage überschreiben mit:
-_artifactsLocation $(storageUri) -_artifactsLocationSasToken (ConvertTo-SecureString '$(storageToken)' -AsPlainText -Force)
Hier werden die Ausgabevariablen der Aufgabe Create SAS Token verwendet. Die Konfiguration der Aufgabe Azure Resource Group Deployment sieht wie folgt aus:
Beachten Sie, dass ich einen anderen Service Principal verwende. Dieser Service Principal ist speziell für dieses Projekt (und diese Umgebung). - Führen Sie die Freigabe aus
Verfasst von
Cristiana
Some bio goes here
Contact
Let’s discuss how we can support your journey.