Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto průvodci postupy se naučíte:
- Vytvoření spravované identity přiřazené uživatelem (UAMI) pro použití s Azure Operator Service Managerem (AOSM)
- Přiřaďte oprávnění UAMI pro přístup k požadovaným prostředkům.
- Při provádění síťových funkcí (NF) nebo SNS (Site Network Service) použijte UAMI.
Výstraha
UAMI se vyžaduje, když očekávaná operace SNS může běžet čtyři nebo více hodin. Pokud se UAMI nepoužívá během dlouhotrvajících operací SNS, může služba SNS hlásit falešně neúspěšný stav před dokončením operací součástí.
Požadavky
Vlastní roli musíte vytvořit prostřednictvím možnosti Vytvořit vlastní roli. Tento článek předpokládá, že jste pojmenovali vlastní roli Vlastní role – Přístup operátora služby AOSM k Publisheru.
Musíte pracovat se službou Network Service Designer, abyste porozuměli oprávněním, která vaše spravovaná identita vyžaduje a jakou verzi definice síťové funkce (NFDV) používá SNS.
U prostředku verze definice síťové funkce z vybraného vydavatele potřebujete roli Vlastník nebo Správce uživatelských přístupů. Musíte mít také skupinu prostředků, u které máte přiřazenou roli Vlastník nebo Správce uživatelských přístupů.
Vytvořte UAMI
Nejprve vytvořte UAMI. Podrobnosti najdete v tématu Vytvoření spravované identity přiřazené uživatelem pro váš SNS .
Vytvoření vlastní role a přiřazení k UAMI
Dále vytvořte vlastní roli. Začněte zvážením nejlepšího přístupu založeného na rozsahu, poté vytvořte roli a přiřaďte ji k novému UAMI.
Úvahy o rozsahu pro vlastní roli UAMI
Vlastní role musí mít přiřazená dostatečná oprávnění pro přístup k uživatelským prostředkům. Vlastní role může být vymezena na jednotlivé podřízené prostředky, jako je NFDV, pro nejpodrobnější řízení. Nebo vlastní role může být oborem nadřazeného prostředku, například skupiny prostředků vydavatele, která uděluje rovný přístup ke všem podřízeným prostředkům. Pro správnou funkci, a to buď jednotlivě, nebo prostřednictvím nadřazeného objektu, musí být všechny následující prostředky přiřazeny vlastní roli:
- Všechny skupiny definic síťových funkcí (NFDG) a verze.
- Všechny definice síťových funkcí (NFD) a jejich verze.
- Všechny skupiny návrhu síťových služeb (NSD) a verze.
- Schémata konfiguračních skupin (CGS) a jejich verze.
- Všechny vlastní lokace.
Povolit správná oprávnění pro vybraný obor
K provedení požadovaných operací SNS potřebuje UAMI následující jednotlivá oprávnění:
- Na NFD;
- Microsoft.HybridNetwork/publishers/networkFunctionDefinitionGroups/networkFunctionDefinitionVersions/use/action
- Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read
- Na NSD
- Microsoft.HybridNetwork/publishers/networkServiceDesignGroups/networkServiceDesignVersions/use/action
- Microsoft.HybridNetwork/publishers/networkServiceDesignGroups/networkServiceDesignVersions/read
- Na CGS
- Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/číst
- Na míru upravené místo;
- Microsoft.ExtendedLocation/customLocations/deploy/action
- Microsoft.ExtendedLocation/customLocations/read
- Kromě toho UAMI potřebuje vlastní přístup.
- Microsoft.ManagedIdentity/userAssignedIdentities/přiřadit/action
Pokud používáte přístup s nadřazeným oborem prostředků, požadovaná oprávnění se použijí u nadřazeného prostředku.
Poznámka:
Nezadávejte přístup k zápisu ani odstraňování žádných z těchto prostředků vydavatele.
Přiřazení vlastní role prostřednictvím portálu
Přistupte k portálu Azure a otevřete zvolený obor prostředků: například skupina prostředků vydavatele nebo verze definice síťové funkce.
V boční nabídce této položky vyberte Řízení přístupu (IAM).
Zvolte Přidat přiřazení role.
V části Role funkce úlohy nalezte svou vlastní roli v seznamu a pokračujte kliknutím na Další.
Vyberte Spravovanou identitu, pak zvolte + Vybrat členy a pak vyhledejte a zvolte novou spravovanou identitu. Zvolte Vybrat.
Vyberte Zkontrolovat a přiřadit.
Opakování přiřazení role
Opakujte proces přiřazování rolí pro všechny zbývající prostředky vzhledem ke zvolenému přístupu k rozsahu.
Přiřazení role operátora pro řízenou identitu prostřednictvím portálu
Přejděte na web Azure Portal a vyhledejte spravované identity.
Ze seznamu spravovaných identit vyberte svou identitu.
V boční nabídce vyberte Řízení přístupu (IAM).
Zvolte Přidat přiřazení role a vyberte roli operátora spravované identity .
Vyberte roli operátora spravované identity .
Vyberte Spravovaná identita.
Vyberte + Přidat členy a přejděte k uživatelsky přiřazené spravované identitě a pokračujte přiřazením.
Dokončení všech úkolů popsaných v tomto článku zajistí, že služba SNS (Site Network Service) má potřebná oprávnění k efektivnímu fungování v rámci zadaného prostředí Azure.
Vytvořte a přiřaďte oprávnění UAMI prostřednictvím bicep
Požadované operace k vytvoření a přiřazení oprávnění jsou také podporovány skriptováním pomocí Bicep. Tento přístup může fungovat lépe, když je potřeba automatizovat tyto operace v kanálu pracovního postupu. Následující příklad ukazuje operace bicep potřebné k vytvoření UAMI s minimálními přiřazenými rolemi. Podle potřeby rozšiřte přiřazení rolí na základě přístupu ke správě rozsahu.
// ----------- MIO Role Definition -----------
// This role is used to assign the Managed Identity Operator role to the User Assigned Managed Identity (UAMI).
@description('This is the built-in MIO role. See https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator')
resource MIORoleDefinition 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' existing = {
scope: managedIdentity
name: 'f1a07417-d97a-45cb-824c-7a7467783830'
}
// This role is used to assign the Contributor role to the User Assigned Managed Identity (UAMI) at the resource group level.
resource ContributorRoleDefinition 'Microsoft.Authorization/roleDefinitions@2018-01-01-preview' existing = {
scope: subscription()
name: 'b24988ac-6180-42a0-ab88-20f7382dd24c'
}
// Assign the Managed Identity Operator role to the User Assigned Managed Identity (UAMI) at the scope of the managed identity.
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: guid(resourceGroup().id, principalId, MIORoleDefinition.id)
scope: managedIdentity
properties: {
roleDefinitionId: MIORoleDefinition.id
principalId: managedIdentity.properties.principalId
principalType: 'ServicePrincipal'
}
}
// Get reference to the target resource group
resource targetRg 'Microsoft.Resources/resourceGroups@2022-09-01' existing = {
name: 'publisherResourceGroupName' // Replace with the actual resource group name
scope: subscription('subscriptionId')
}
// Assign the Contributor role to the User Assigned Managed Identity (UAMI) at the scope of the publisher resource group.
resource roleAssignmentContributor 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: guid(resourceGroup().id, principalId, ContributorRoleDefinition.id)
scope: targetRg
properties: {
roleDefinitionId: ContributorRoleDefinition.id
principalId: managedIdentity.properties.principalId
principalType: 'ServicePrincipal'
}
}
Použijte UAMI pro operace NF a SNS
Úvahy o šablonách NF
Šablona NF musí být aktualizována tak, aby zahrnovala parametr identityObj. Následující příklad JSON ukazuje použití tohoto parametru s obecným nastavením NF:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"nameValue": {
"type": "string",
"defaultValue": "[concat('anf-', substring(uniqueString(deployment().name), 0, 6))]"
},
"locationValue": {
"type": "string",
"defaultValue": "eastus2euap"
},
"nfviTypeValue": {
"type": "string",
"defaultValue": "AzureArcKubernetes"
},
"nfviIdValue": {
"type": "string"
},
"config": {
"type": "object",
"defaultValue": {}
},
"nfdvId": {
"type": "string"
},
"identityObj": {
"type": "object",
"defaultValue": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<subscriptionId>/resourceGroups/<rgName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uaminame>": {}
}
}
}
},
"variables": {
"deploymentValuesValue": "[string(createObject('role1releasenamespace', parameters('config').role1releasenamespace, 'role1releasename',parameters('config').role1releasename, 'role2releasenamespace', parameters('config').role2releasenamespace, 'role2releasename',parameters('config').role2releasename,'role3releasenamespace', parameters('config').role3releasenamespace, 'role3releasename',parameters('config').role3releasename))]",
"nfName": "[concat(parameters('nameValue'), '-CNF')]"
},
"resources": [
{
"type": "Microsoft.HybridNetwork/networkFunctions",
"apiVersion": "2024-04-15",
"name": "[variables('nfName')]",
"location": "[parameters('locationValue')]",
"identity": "[parameters('identityObj')]",
"properties": {
"networkFunctionDefinitionVersionResourceReference": {
"id": "[parameters('nfdvId')]",
"idType": "Open"
},
"nfviType": "[parameters('nfviTypeValue')]",
"nfviId": "[parameters('nfviIdValue')]",
"allowSoftwareUpdate": true,
"configurationType": "Secret",
"secretDeploymentValues": "[string(variables('deploymentValuesValue'))]"
}
}
]
}
Důležité informace o šablonách SNS
Šablona SNS musí být aktualizována tak, aby zahrnovala parametr prostředku identity. Následující příklad použití Bicep demonstruje využití tohoto parametru s obecným nastavením služby SNS.
resource azCoreSnsUAMI 'Microsoft.HybridNetwork/sitenetworkservices@2023-09-01' = {
name: snsNameUAMI
location: location
sku: {
name: 'Standard'
}
identity: {
type: 'UserAssigned'
userAssignedIdentities: {
'${managedIdentity.id}': {}
}
}
properties: {
siteReference: {
id: azCoreSite.id
}
networkServiceDesignVersionResourceReference: {
id: nsdv.id
idType: 'Open'
}
desiredStateConfigurationGroupValueReferences: {
Test_Configuration: {
id: azCoreCgv.id
}
Secret_Configuration:{
id:azCoreCgvSecret.id
}
}
}
}