Tworzenie dynamicznych strategii za pomocą parametrów
Ważne
11 lipca 2026 r. usługa Blueprints (wersja zapoznawcza) zostanie wycofana. Przeprowadź migrację istniejących definicji strategii i przypisań do specyfikacji szablonu i stosów wdrażania. Artefakty strategii mają być konwertowane na szablony JSON usługi ARM lub pliki Bicep używane do definiowania stosów wdrażania. Aby dowiedzieć się, jak utworzyć artefakt jako zasób usługi ARM, zobacz:
W pełni zdefiniowana strategia z różnymi artefaktami, takimi jak grupy zasobów, szablony usługi Azure Resource Manager (szablony usługi ARM), zasady lub przypisania ról, oferuje szybkie tworzenie i spójne tworzenie obiektów na platformie Azure. Aby umożliwić elastyczne korzystanie z tych wzorców projektowych i kontenerów wielokrotnego użytku, usługa Azure Blueprints obsługuje parametry. Parametr tworzy elastyczność zarówno podczas definicji, jak i przypisania, aby zmienić właściwości artefaktów wdrożonych przez strategię.
Prostym przykładem jest artefakt grupy zasobów. Po utworzeniu grupy zasobów ma ona dwie wymagane wartości, które należy podać: nazwę i lokalizację. Podczas dodawania grupy zasobów do strategii, jeśli parametry nie istnieją, należy zdefiniować tę nazwę i lokalizację dla każdego użycia strategii. To powtórzenie spowodowałoby każde użycie strategii w celu utworzenia artefaktów w tej samej grupie zasobów. Zasoby w tej grupie zasobów zostaną zduplikowane i spowodują konflikt.
Uwaga
Nie jest to problem dotyczący dwóch różnych strategii dołączania grupy zasobów o tej samej nazwie. Jeśli grupa zasobów uwzględniona w strategii już istnieje, strategia nadal tworzy powiązane artefakty w tej grupie zasobów. Może to spowodować konflikt, ponieważ dwa zasoby o tej samej nazwie i typie zasobu nie mogą istnieć w ramach subskrypcji.
Rozwiązaniem tego problemu są parametry. Usługa Azure Blueprints umożliwia zdefiniowanie wartości dla każdej właściwości artefaktu podczas przypisywania do subskrypcji. Parametr umożliwia ponowne użycie strategii, która tworzy grupę zasobów i inne zasoby w ramach jednej subskrypcji bez konfliktu.
Parametry strategii
Za pomocą interfejsu API REST parametry można utworzyć w samej strategii. Te parametry różnią się od parametrów dla każdego z obsługiwanych artefaktów. Po utworzeniu parametru w strategii można go użyć przez artefakty w tej strategii. Przykładem może być prefiks nazewnictwa grupy zasobów. Artefakt może użyć parametru strategii, aby utworzyć parametr "głównie dynamiczny". Ponieważ parametr można również zdefiniować podczas przypisywania, ten wzorzec umożliwia spójność, która może być zgodna z regułami nazewnictwa. Aby uzyskać instrukcje, zobacz ustawianie parametrów statycznych — parametr poziomu strategii.
Używanie parametrów secureString i secureObject
Chociaż artefakt szablonu usługi ARM obsługuje parametry typów secureString i secureObject, usługa Azure Blueprints wymaga połączenia z usługą Azure Key Vault. Środek ten zapobiega niebezpiecznej praktyce przechowywania wpisów tajnych wraz z strategią i zachęca do zatrudnienia bezpiecznych wzorców. Usługa Azure Blueprints obsługuje tę miarę zabezpieczeń, wykrywając włączenie dowolnego z bezpiecznych parametrów w artefaktu szablonu usługi ARM. Następnie usługa wyświetla monit podczas przypisywania dla następujących właściwości usługi Key Vault na wykryty bezpieczny parametr:
- Identyfikator zasobu usługi Key Vault
- Nazwa wpisu tajnego usługi Key Vault
- Wersja wpisu tajnego usługi Key Vault
Jeśli przypisanie strategii używa tożsamości zarządzanej przypisanej przez system, przywołyną usługę Key Vault musi istnieć w tej samej subskrypcji, do której przypisano definicję strategii.
Jeśli przypisanie strategii używa tożsamości zarządzanej przypisanej przez użytkownika, odwołanie do usługi Key Vault może istnieć w scentralizowanej subskrypcji. Tożsamość zarządzana musi mieć odpowiednie uprawnienia w usłudze Key Vault przed przypisaniem strategii.
Ważne
W obu przypadkach usługa Key Vault musi mieć opcję Włącz dostęp do usługi Azure Resource Manager na potrzeby wdrożenia szablonu skonfigurowanego na stronie Zasady dostępu. Aby uzyskać wskazówki dotyczące włączania tej funkcji, zobacz Key Vault — włączanie wdrażania szablonu.
Aby uzyskać więcej informacji na temat usługi Azure Key Vault, zobacz Omówienie usługi Key Vault.
Typy parametrów
Parametry statyczne
Wartość parametru zdefiniowana w definicji strategii jest nazywana parametrem statycznym, ponieważ każde użycie strategii spowoduje wdrożenie artefaktu przy użyciu tej wartości statycznej. W przykładzie grupy zasobów, chociaż nie ma sensu dla nazwy grupy zasobów, może to mieć sens dla lokalizacji. Następnie każde przypisanie strategii utworzy grupę zasobów, niezależnie od tego, co jest wywoływane podczas przypisywania, w tej samej lokalizacji. Ta elastyczność umożliwia selektywne określenie, co jest wymagane, a co można zmienić podczas przypisywania.
Ustawianie parametrów statycznych w portalu
W okienku po lewej stronie wybierz pozycję Wszystkie usługi. Wyszukaj i wybierz pozycję Strategie.
Wybierz pozycję Definicje strategii w lewej części strony.
Wybierz istniejącą strategię, a następnie wybierz pozycję Edytuj strategię LUB wybierz pozycję + Utwórz strategię i wypełnij informacje na karcie Podstawy .
Wybierz pozycję Dalej: Artefakty LUB wybierz kartę Artefakty .
Artefakty dodane do strategii, które mają opcje parametrów, wyświetlają X parametrów Y wypełnionych w kolumnie Parametry . Wybierz wiersz artefaktu, aby edytować parametry artefaktu.
Na stronie Edytowanie artefaktu są wyświetlane opcje wartości odpowiednie dla wybranego artefaktu. Każdy parametr artefaktu ma tytuł, pole wartości i pole wyboru. Ustaw pole na niezaznaczone, aby ustawić go jako parametr statyczny. W poniższym przykładzie tylko lokalizacja jest parametrem statycznym, ponieważ jest niezaznaczone, a pole wyboru Nazwa grupy zasobów jest zaznaczone.
Ustawianie parametrów statycznych z interfejsu API REST
Każdy identyfikator URI interfejsu API REST zawiera używane zmienne, które musisz zastąpić własnymi wartościami:
{YourMG}
— zastąp nazwą swojej grupy zarządzania{subscriptionId}
— zastąp swoim identyfikatorem subskrypcji
Parametr poziomu strategii
Podczas tworzenia strategii za pomocą interfejsu API REST można utworzyć parametry strategii. W tym celu użyj następującego identyfikatora URI interfejsu API REST i formatu treści:
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint?api-version=2018-11-01-preview
Treść żądania
{ "properties": { "description": "This blueprint has blueprint level parameters.", "targetScope": "subscription", "parameters": { "owners": { "type": "array", "metadata": { "description": "List of AAD object IDs that is assigned Owner role at the resource group" } } }, "resourceGroups": { "storageRG": { "description": "Contains the resource template deployment and a role assignment." } } } }
Po utworzeniu parametru poziomu strategii można go użyć w artefaktach dodanych do tej strategii. Poniższy przykład interfejsu API REST tworzy artefakt przypisania roli w strategii i używa parametru poziomu strategii.
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/roleOwner?api-version=2018-11-01-preview
Treść żądania
{ "kind": "roleAssignment", "properties": { "resourceGroup": "storageRG", "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635", "principalIds": "[parameters('owners')]" } }
W tym przykładzie właściwość principalIds używa parametru poziomu strategii właścicieli przy użyciu wartości [parameters('owners')]
. Ustawienie parametru artefaktu przy użyciu parametru poziomu strategii jest nadal przykładem parametru statycznego. Nie można ustawić parametru poziomu strategii podczas przypisywania strategii i będzie to ta sama wartość dla każdego przypisania.
Parametr poziomu artefaktu
Tworzenie parametrów statycznych na artefaktie jest podobne, ale przyjmuje wartość prostą zamiast używać parameters()
funkcji. Poniższy przykład tworzy dwa parametry statyczne, tagName i tagValue. Wartość każdej z nich jest udostępniana bezpośrednio i nie używa wywołania funkcji.
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{YourMG}/providers/Microsoft.Blueprint/blueprints/MyBlueprint/artifacts/policyStorageTags?api-version=2018-11-01-preview
Treść żądania
{ "kind": "policyAssignment", "properties": { "description": "Apply storage tag and the parameter also used by the template to resource groups", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/49c88fc8-6fd1-46fd-a676-f12d1d3a4c71", "parameters": { "tagName": { "value": "StorageType" }, "tagValue": { "value": "Premium_LRS" } } } }
Parametry dynamiczne
Przeciwieństwem parametru statycznego jest parametr dynamiczny. Ten parametr nie jest zdefiniowany w strategii, ale zamiast tego jest zdefiniowany podczas każdego przypisania strategii. W przykładzie grupy zasobów użycie parametru dynamicznego ma sens dla nazwy grupy zasobów. Zawiera inną nazwę dla każdego przypisania strategii. Aby uzyskać listę funkcji strategii, zobacz dokumentację funkcji strategii.
Ustawianie parametrów dynamicznych w portalu
W okienku po lewej stronie wybierz pozycję Wszystkie usługi. Wyszukaj i wybierz pozycję Strategie.
Wybierz pozycję Definicje strategii w lewej części strony.
Kliknij prawym przyciskiem myszy strategię, którą chcesz przypisać. Wybierz pozycję Przypisz strategię LUB wybierz strategię, którą chcesz przypisać, a następnie użyj przycisku Przypisz strategię.
Na stronie Przypisywanie strategii znajdź sekcję Parametry artefaktu. Każdy artefakt z co najmniej jednym parametrem dynamicznym wyświetla artefakt i opcje konfiguracji. Przed przypisaniem strategii podaj wymagane wartości do parametrów. W poniższym przykładzie Nazwa jest parametrem dynamicznym, który należy zdefiniować w celu ukończenia przypisania strategii.
Ustawianie parametrów dynamicznych z interfejsu API REST
Ustawianie parametrów dynamicznych podczas przypisywania odbywa się przez bezpośrednie wprowadzenie wartości. Zamiast używać funkcji, takiej jak parameters(), podana wartość jest odpowiednim ciągiem. Artefakty dla grupy zasobów są definiowane z właściwościami "nazwa szablonu", nazwa i lokalizacja . Wszystkie inne parametry dołączonego artefaktu są definiowane w parametrach z parą <nazwy> i klucza wartości. Jeśli strategia jest skonfigurowana dla parametru dynamicznego, który nie jest udostępniany podczas przypisywania, przypisanie zakończy się niepowodzeniem.
Identyfikator URI interfejsu API REST
PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Blueprint/blueprintAssignments/assignMyBlueprint?api-version=2018-11-01-preview
Treść żądania
{ "properties": { "blueprintId": "/providers/Microsoft.Management/managementGroups/{YourMG} /providers/Microsoft.Blueprint/blueprints/MyBlueprint", "resourceGroups": { "storageRG": { "name": "StorageAccount", "location": "eastus2" } }, "parameters": { "storageAccountType": { "value": "Standard_GRS" }, "tagName": { "value": "CostCenter" }, "tagValue": { "value": "ContosoIT" }, "contributors": { "value": [ "7be2f100-3af5-4c15-bcb7-27ee43784a1f", "38833b56-194d-420b-90ce-cff578296714" ] }, "owners": { "value": [ "44254d2b-a0c7-405f-959c-f829ee31c2e7", "316deb5f-7187-4512-9dd4-21e7798b0ef9" ] } } }, "identity": { "type": "systemAssigned" }, "location": "westus" }
Następne kroki
- Zobacz listę funkcji strategii.
- Uzyskaj informacje na temat cyklu życia strategii.
- Dowiedz się, jak dostosować kolejność sekwencjonowania strategii.
- Dowiedz się, jak używać blokowania zasobów strategii.
- Dowiedz się, jak zaktualizować istniejące przypisania.
- Rozwiązywanie problemów podczas przypisywania strategii za pomocą ogólnych procedur rozwiązywania problemów.