Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W miarę dojrzewania organizacji może być konieczne zdefiniowanie i przypisanie zasad lub kontroli dostępu opartej na rolach (RBAC) platformy Azure w dzierżawie firmy Microsoft Entra. Szablony na poziomie dzierżawy umożliwiają deklaratywne stosowanie zasad i przypisywanie ról na poziomie globalnym.
Wskazówka
Zalecamy Bicep, ponieważ oferuje te same możliwości co szablony ARM, a składnia jest łatwiejsza do użycia. Aby dowiedzieć się więcej, zobacz Wdrożenia dzierżawy.
Obsługiwane zasoby
Nie wszystkie typy zasobów można wdrożyć na poziomie dzierżawy. Ta sekcja zawiera listę obsługiwanych typów zasobów.
W przypadku kontroli dostępu opartej na rolach platformy Azure (RBAC) platformy Azure użyj:
W przypadku szablonów zagnieżdżonych, które są wdrażane w grupach zarządzania, subskrypcjach lub grupach zasobów, użyj:
Do tworzenia grup zarządzania użyj:
Aby utworzyć subskrypcje, użyj:
Do zarządzania kosztami użyj:
- billingProfiles (profile rozliczeniowe)
- billingRoleAssignments
- instrukcje
- invoiceSections (fakturaSekcje)
- manifest
Aby skonfigurować portal, użyj:
Wbudowane definicje zasad to zasoby na poziomie dzierżawy, ale nie można wdrażać niestandardowych definicji zasad w dzierżawie. Aby zapoznać się z przykładem przypisywania wbudowanej definicji zasad do zasobu, zobacz przykład tenantResourceId.
Schemat
Schemat używany dla wdrożeń dzierżawy różni się od schematu dla wdrożeń grup zasobów.
W przypadku szablonów użyj:
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
...
}
Schemat pliku parametrów jest taki sam dla wszystkich zakresów wdrożenia. W przypadku plików parametrów użyj:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
...
}
Wymagany dostęp
Podmiot zabezpieczeń wdrażający szablon musi mieć uprawnienia do tworzenia zasobów w zakresie dzierżawy. Podmiot zabezpieczeń musi mieć uprawnienia do wykonywania akcji wdrażania (Microsoft.Resources/deployments/*
) i utworzenia zasobów zdefiniowanych w szablonie. Na przykład aby utworzyć grupę zarządzania, podmiot zabezpieczeń musi mieć uprawnienie Współautor w zakresie dzierżawy. Aby utworzyć przypisania ról, podmiot zabezpieczeń musi mieć uprawnienie Właściciel.
Administrator globalny identyfikator entra firmy Microsoft nie ma automatycznie uprawnień do przypisywania ról. Aby włączyć wdrożenia szablonów w zakresie dzierżawy, administrator globalny musi wykonać następujące czynności:
Podnieś poziom dostępu do konta, aby administrator globalny mógł przypisywać role. Aby uzyskać więcej informacji, zobacz Podnoszenie poziomu dostępu w celu zarządzania wszystkimi subskrypcjami platformy Azure i grupami zarządzania.
Przypisz właściciela lub współautora do podmiotu zabezpieczeń, który musi wdrożyć szablony.
New-AzRoleAssignment -SignInName "[userId]" -Scope "/" -RoleDefinitionName "Owner"
az role assignment create --assignee "[userId]" --scope "/" --role "Owner"
Podmiot zabezpieczeń ma teraz wymagane uprawnienia do wdrożenia szablonu.
Polecenia wdrażania
Polecenia dla wdrożeń dzierżaw są inne niż polecenia dla wdrożeń grup zasobów.
W przypadku interfejsu wiersza polecenia platformy Azure użyj polecenia az deployment tenant create:
az deployment tenant create \
--name demoTenantDeployment \
--location WestUS \
--template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/tenant-deployments/new-mg/azuredeploy.json"
Aby uzyskać bardziej szczegółowe informacje o poleceniach wdrażania i opcjach wdrażania szablonów usługi ARM, zobacz:
- Wdrażanie zasobów przy użyciu szablonów ARM i portalu Azure
- Wdrażanie zasobów przy użyciu szablonów usługi ARM i interfejsu wiersza polecenia platformy Azure
- Wdrażanie zasobów przy użyciu szablonów usługi ARM i programu Azure PowerShell
- Wdrażanie zasobów przy użyciu szablonów usługi ARM i interfejsu API REST usługi Azure Resource Manager
- Użyj przycisku wdrażania, aby wdrożyć szablony z repozytorium GitHub
- Wdrażanie szablonów usługi ARM z poziomu usługi Cloud Shell
Lokalizacja i nazwa wdrożenia
W przypadku wdrożeń na poziomie dzierżawy należy podać lokalizację wdrożenia. Lokalizacja wdrożenia jest oddzielona od lokalizacji wdrażanych zasobów. Lokalizacja wdrożenia określa miejsce przechowywania danych wdrożenia. Wdrożenia subskrypcji i grup zarządzania również wymagają lokalizacji. W przypadku wdrożeń grup zasobów lokalizacja grupy zasobów jest używana do przechowywania danych wdrożenia.
Możesz podać nazwę wdrożenia lub użyć domyślnej nazwy wdrożenia. Domyślna nazwa to nazwa pliku szablonu. Na przykład wdrożenie szablonu o nazwie azuredeploy.json powoduje utworzenie domyślnej nazwy wdrożenia azuredeploy.
Dla każdej nazwy wdrożenia lokalizacja jest niezmienna. Nie można utworzyć wdrożenia w jednej lokalizacji, gdy istnieje wdrożenie o tej samej nazwie w innej lokalizacji. Jeśli na przykład utworzysz wdrożenie dzierżawy o nazwie deployment1 w centralus, nie będzie można później utworzyć innego wdrożenia z nazwą deployment1, ale lokalizacją westus. Jeśli zostanie wyświetlony kod InvalidDeploymentLocation
błędu , użyj innej nazwy lub tej samej lokalizacji co poprzednie wdrożenie dla tej nazwy.
Zakresy wdrażania
Podczas wdrażania w dzierżawie można wdrożyć zasoby w następujących obszarach:
- Najemca
- Grupy zarządzania w ramach dzierżawy
- subskrypcje
- grupy zasobów
Jedyne zabronione przejścia zakresu mają miejsce z grupy zasobów do grupy zarządzania lub z subskrypcji do grupy zarządzania.
Zasób rozszerzenia może być o określonym zakresie dla miejsca docelowego, który różni się od docelowego wdrożenia.
Użytkownik wdrażający szablon musi mieć dostęp do określonego zakresu.
W tej sekcji przedstawiono sposób określania różnych zakresów. Te różne zakresy można połączyć w jednym szablonie.
Zakres dla najemcy
Zasoby zdefiniowane w sekcji zasobów szablonu są stosowane do dzierżawy.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
tenant-resources
],
"outputs": {}
}
Zakres do grupy zarządzania
Aby określić grupę zarządzania jako docelową w dzierżawie, dodaj zagnieżdżone wdrożenie i określ scope
właściwość.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string"
}
},
"variables": {
"mgId": "[concat('Microsoft.Management/managementGroups/', parameters('mgName'))]"
},
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2022-09-01",
"name": "nestedMG",
"scope": "[variables('mgId')]",
"location": "eastus",
"properties": {
"mode": "Incremental",
"template": {
management-group-resources
}
}
}
],
"outputs": {}
}
Zakres subskrypcji
Możesz również kierować subskrypcje w ramach dzierżawy. Użytkownik wdrażający szablon musi mieć dostęp do określonego zakresu.
Aby określić wartość docelową subskrypcji w dzierżawie, użyj zagnieżdżonego wdrożenia i subscriptionId
właściwości.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "nestedSub",
"location": "westus2",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
subscription-resources
}
]
}
}
}
]
}
Zakres do grupy zasobów
Można również kierować grupy zasobów w ramach dzierżawy. Użytkownik wdrażający szablon musi mieć dostęp do określonego zakresu.
Aby określić wartość docelową grupy zasobów w dzierżawie, użyj wdrożenia zagnieżdżonego. Ustaw właściwości subscriptionId
i resourceGroup
. Nie ustawiaj lokalizacji dla zagnieżdżonego wdrożenia, ponieważ jest wdrożona w lokalizacji grupy zasobów.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "nestedRGDeploy",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroup": "demoResourceGroup",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
resource-group-resources
}
]
}
}
}
]
}
Tworzenie grupy zarządzania
Poniższy szablon tworzy grupę zarządzania.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"mgName": {
"type": "string",
"defaultValue": "[concat('mg-', uniqueString(newGuid()))]"
}
},
"resources": [
{
"type": "Microsoft.Management/managementGroups",
"apiVersion": "2020-02-01",
"name": "[parameters('mgName')]",
"properties": {
}
}
]
}
Jeśli Twoje konto nie ma uprawnień do wdrażania w dzierżawie, nadal możesz tworzyć grupy zarządzania, wdrażając je w innym zakresie. Aby uzyskać więcej informacji, zobacz Grupa zarządzania.
Przypisywanie roli
Poniższy szablon przypisuje rolę w zakresie dzierżawy.
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "17107802581699825924"
}
},
"parameters": {
"principalId": {
"type": "string",
"metadata": {
"description": "principalId if the user that will be given contributor access to the tenant"
}
},
"roleDefinitionId": {
"type": "string",
"defaultValue": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
"metadata": {
"description": "roleDefinition for the assignment - default is owner"
}
}
},
"variables": {
"roleAssignmentName": "[guid('/', parameters('principalId'), parameters('roleDefinitionId'))]"
},
"resources": [
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2020-03-01-preview",
"name": "[variables('roleAssignmentName')]",
"properties": {
"roleDefinitionId": "[tenantResourceId('Microsoft.Authorization/roleDefinitions', parameters('roleDefinitionId'))]",
"principalId": "[parameters('principalId')]"
}
}
]
}
Dalsze kroki
- Aby dowiedzieć się więcej o przypisywaniu ról, zobacz Przypisywanie ról platformy Azure przy użyciu szablonów usługi Azure Resource Manager.
- Szablony można również wdrażać na poziomie subskrypcji lub grupy zarządzania.