Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze handleiding leert u het volgende:
- Een door de gebruiker toegewezen beheerde identiteit (UAMI) maken voor gebruik met Azure Operator Service Manager (AOSM)
- Wijs een UAMI-machtigingen toe voor toegang tot vereiste resources.
- Gebruik een UAMI bij het uitvoeren van netwerkfuncties (NF) of SNS-bewerkingen (Site Network Service).
Waarschuwing
UAMI is vereist wanneer een verwachte SNS-bewerking vier of meer uur kan worden uitgevoerd. Als UAMI niet wordt gebruikt tijdens langdurige SNS-bewerkingen, kan de SNS een fout mislukte status melden voordat onderdeelbewerkingen zijn voltooid.
Vereiste voorwaarden
U moet een aangepaste rol maken via Een aangepaste rol maken. In dit artikel wordt ervan uitgegaan dat u de aangepaste rol 'Aangepaste rol - AOSM-serviceoperator toegang tot Publisher' hebt genoemd.
U moet samenwerken met uw Network Service Designer om inzicht te hebben in de machtigingen die uw beheerde identiteit vereist en welke NFDV (Network Function Definition Version) uw SNS gebruikt.
U hebt de rol 'Eigenaar' of 'Gebruikerstoegangsbeheerder' nodig voor de definitieversie van de netwerkfunctie van de uitgever die u heeft gekozen. U moet ook een resourcegroep hebben waarvoor u de roltoewijzing Eigenaar of Beheerder voor gebruikerstoegang hebt.
Een UAMI maken
Maak eerst een UAMI. Raadpleeg Een door de gebruiker toegewezen beheerde identiteit voor uw SNS maken voor meer informatie.
Een aangepaste rol maken en toewijzen aan UAMI
Maak vervolgens een aangepaste rol. Begin met het overwegen van de beste benadering op basis van bereik en maak en wijs de rol vervolgens toe aan uw nieuwe UAMI.
Bereikoverwegingen voor aangepaste UAMI-rol
Aan de aangepaste rol moeten voldoende machtigingen zijn toegewezen om toegang te krijgen tot gebruikersresources. De aangepaste rol kan worden afgestemd op afzonderlijke onderliggende resources, zoals een NFDV, voor de meest gedetailleerde controle. Of de aangepaste rol kan worden toegepast op een bovenliggende resource, zoals de resourcegroep van de uitgever, die gelijke toegang verleent tot alle onderliggende resources. Voor correcte werking, afzonderlijk of via de bovenliggende structuur, moeten alle onderstaande resources worden toegewezen aan de aangepaste rol.
- Alle netwerkfunctiedefinitiegroepen (NFDG) en versies.
- Alle Network Function Definition (NFD) definities en versies.
- Alle netwerkserviceontwerpgroepen (NSD) en versies.
- Alle Configuration Group Schemas (CGS) en versies.
- Alle aangepaste locaties.
De juiste machtigingen voor het gekozen bereik toestaan
De UAMI heeft de volgende afzonderlijke machtigingen nodig om vereiste SNS-bewerkingen uit te voeren:
- Op de NFD;
- Microsoft.HybridNetwork/uitgevers/networkFunctieDefinitieGroepen/networkFunctieDefinitieVersies/gebruik/actie
- Microsoft.HybridNetwork/Publishers/NetworkFunctionDefinitionGroups/NetworkFunctionDefinitionVersions/read
- Op de NSD;
- Microsoft.HybridNetwork/publishers/networkServiceDesignGroups/networkServiceDesignVersions/use/action
- Microsoft.HybridNetwork/publishers/networkServiceDesignGroups/networkServiceDesignVersions/read
- Op de CGS;
- Microsoft.HybridNetwork/Publishers/ConfigurationGroupSchemas/read
- Op de aangepaste locatie;
- Microsoft.ExtendedLocation/customLocations/deploy/action
- Microsoft.ExtendedLocation/customLocations/read
- Bovendien heeft de UAMI toegang op zichzelf nodig;
- Microsoft.ManagedIdentity/userAssignedIdentities/toewijzen/action
Als u een bovenliggende resourcebereikbenadering gebruikt, worden de vereiste machtigingen toegepast op de bovenliggende resource.
Opmerking
Geef geen schrijf- of verwijdertoegang tot een van deze uitgeversbronnen op.
Aangepaste rol toewijzen via portal
Open de Azure-portal en open het gekozen resourcebereik; Bijvoorbeeld de definitieversie van de publisher-resourcegroep of netwerkfunctie.
Selecteer toegangsbeheer (IAM) in het zijmenu van dit item.
Kies Roltoewijzing toevoegen.
Zoek onder Functierollen uw aangepaste rol in de lijst en ga vervolgens verder met Volgende.
Selecteer Beheerde identiteit, vervolgens + Leden selecteren, vind en selecteer uw nieuwe beheerde identiteit. Kies en selecteer.
Selecteer Controleren en toewijzen.
De roltoewijzing herhalen
Herhaal het roltoewijzingsproces voor alle resterende resources op basis van de gekozen bereikbenadering.
Rol van operator voor beheerde identiteit toewijzen via de portal
Ga naar Azure Portal en zoek naar beheerde identiteiten.
Selecteer uw identiteit in de lijst met beheerde identiteiten.
Selecteer Toegangsbeheer (IAM) in het zijmenu.
Kies Roltoewijzing toevoegen en selecteer de rol Managed Identity Operator .
Selecteer de rol Managed Identity Operator .
Selecteer Beheerde identiteit.
Selecteer + Leden selecteren en navigeer naar de door de gebruiker toegewezen beheerde identiteit en ga verder met de toewijzing.
Het voltooien van alle taken die in dit artikel worden beschreven, zorgt ervoor dat de SNS (Site Network Service) de benodigde machtigingen heeft om effectief te functioneren binnen de opgegeven Azure-omgeving.
Machtigingen creëren en toewijzen aan een UAMI via bicep
De vereiste bewerkingen voor het maken en toewijzen van machtigingen worden ook ondersteund via bicep-scripting. Deze aanpak werkt mogelijk beter wanneer automatisering van deze bewerkingen binnen een werkstroompijplijn nodig is. In het volgende voorbeeld ziet u de bicep-bewerkingen die nodig zijn om de UAMI met minimaal toegewezen rollen tot stand te brengen. Breid zo nodig de roltoewijzing uit op basis van een scopebenadering.
// ----------- 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'
}
}
Een UAMI gebruiken met NF- en SNS-bewerkingen
Overwegingen voor NF-sjablonen
De NF-sjabloon moet worden bijgewerkt om de parameter identityObj op te nemen. In het volgende JSON-voorbeeld ziet u hoe u deze parameter gebruikt met een algemene NF-installatie:
{
"$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'))]"
}
}
]
}
Overwegingen voor SNS-sjablonen
De SNS-sjabloon moet worden bijgewerkt om de id-resourceparameter op te nemen. In het volgende bicep-voorbeeld ziet u hoe u deze parameter gebruikt met een algemene SNS-installatie:
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
}
}
}
}