Intégrer un client dans la gestion des ressources déléguées AzureOnboard a customer to Azure delegated resource management

Cet article explique comment, en tant que fournisseur de services, vous pouvez intégrer un client à la gestion des ressources déléguées Azure, permettant ainsi que ses ressources déléguées (abonnements et groupes de ressources) soient accessibles et gérables via votre propre locataire Azure Active Directory (Azure AD).This article explains how you, as a service provider, can onboard a customer to Azure delegated resource management, allowing their delegated resources (subscriptions and/or resource groups) to be accessed and managed through your own Azure Active Directory (Azure AD) tenant. Si nous faisons référence ici aux fournisseurs de services et aux clients, des entreprises gérant plusieurs locataires peuvent suivre le même processus pour consolider leur expérience de gestion.While we'll refer to service providers and customers here, enterprises managing multiple tenants can use the same process to consolidate their management experience.

Vous pouvez répéter ce processus si vous gérez des ressources pour plusieurs clients.You can repeat this process if you are managing resources for multiple customers. Ensuite, quand un utilisateur autorisé se connecte à votre locataire, il peut être autorisé à accéder aux étendues de location des clients pour effectuer des opérations de gestion sans avoir à se connecter individuellement à chaque locataire du client.Then, when an authorized user signs in to your tenant, that user can be authorized across customer tenancy scopes to perform management operations without having to sign in to every individual customer tenant.

Vous pouvez associer votre ID Microsoft Partner Network (MPN) avec vos abonnements intégrés pour suivre votre impact sur les engagements client et recevoir une reconnaissance.You can associate your Microsoft Partner Network (MPN) ID with your onboarded subscriptions to track your impact across customer engagements and receive recognition. Pour plus d’informations, voir Lier un ID partenaire à vos comptes Azure.For more info, see Link a partner ID to your Azure accounts. Notez que vous devez effectuer cette association séparément pour chaque locataire client dans lequel vous gérez des ressources.Note that you'll need to perform this association separately for each customer tenant in which you're managing resources.

Notes

Des clients peuvent être intégrés automatiquement quand ils achètent une offre de services managés (publics ou privés) que vous avez publiée sur la Place de marché Azure.Customers can be onboarded automatically when they purchase a managed services offer (public or private) that you published to Azure Marketplace. Pour plus d’informations, voir Publier des offres de services managés sur la Place de marché Azure.For more info, see Publish Managed Services offers to Azure Marketplace. Vous pouvez également utiliser le processus d’intégration décrit ici avec une offre publiée sur la Place de marché Azure.You can also use the onboarding process described here with an offer published to Azure Marketplace.

Le processus d’intégration requiert d’exécuter des actions tant dans le locataire du fournisseur de services que dans le locataire du client.The onboarding process requires actions to be taken from within both the service provider's tenant and from the customer's tenant. Toutes ces étapes sont décrites dans cet article.All of these steps are described in this article.

Important

Actuellement, vous ne pouvez pas intégrer un abonnement (ou un groupe de ressources au sein d’un abonnement) pour la gestion des ressources déléguées Azure si l’abonnement utilise Azure Databricks.Currently, you can’t onboard a subscription (or resource group within a subscription) for Azure delegated resource management if the subscription uses Azure Databricks. De même, si un abonnement a été inscrit pour une intégration avec le fournisseur de ressources Microsoft.ManagedServices, vous ne pouvez pas actuellement créer d’espace de travail Databricks pour cet abonnement.Similarly, if a subscription has been registered for onboarding with the Microsoft.ManagedServices resource provider, you won’t be able to create a Databricks workspace for that subscription at this time.

Collecter les détails du locataire et de l’abonnementGather tenant and subscription details

Pour qu’il soit possible d’intégrer le locataire d’un client, celui-ci doit disposer d’un abonnement Azure actif.To onboard a customer's tenant, it must have an active Azure subscription. Vous devez disposer des informations suivantes :You'll need to know the following:

  • L’ID de locataire du locataire du fournisseur de services (où vous allez gérer les ressources du client)The tenant ID of the service provider's tenant (where you will be managing the customer's resources)
  • L’ID de locataire du locataire du client (dont les ressources seront gérées par le fournisseur de services)The tenant ID of the customer's tenant (which will have resources managed by the service provider)
  • Les ID d’abonnement de chaque abonnement dans le locataire du client qui sera géré par le fournisseur de services (ou qui contient les groupes de ressources qui seront gérés par le fournisseur de services)The subscription IDs for each specific subscription in the customer's tenant that will be managed by the service provider (or that contains the resource group(s) that will be managed by the service provider)

Si vous ne disposez pas de ces informations, vous pouvez les récupérer de l’une des manières suivantes.If you don't have this info already, you can retrieve it in one of the following ways.

Portail AzureAzure portal

Vous pouvez afficher votre ID de locataire en pointant sur le nom de votre compte dans l’angle supérieur droit du portail Azure, ou en sélectionnant Changer de répertoire.Your tenant ID can be seen by hovering over your account name on the upper right-hand side of the Azure portal, or by selecting Switch directory. Pour sélectionner et copier votre ID de locataire, recherchez « Azure Active Directory » dans le portail, puis sélectionnez Propriétés et copiez la valeur affichée dans le champ ID de répertoire.To select and copy your tenant ID, search for "Azure Active Directory" from within the portal, then select Properties and copy the value shown in the Directory ID field. Pour trouver l’ID d’un abonnement, recherchez « abonnements », puis sélectionnez l’ID d’abonnement approprié.To find the ID of a subscription, search for "Subscriptions" and then select the appropriate subscription ID.

PowerShellPowerShell

# Log in first with Connect-AzAccount if you're not using Cloud Shell

Select-AzSubscription <subscriptionId>

D’Azure CLIAzure CLI

# Log in first with az login if you're not using Cloud Shell

az account set --subscription <subscriptionId/name>
az account show

Notes

Lors de l’intégration d’un abonnement (ou d’un ou de plusieurs groupes de ressources au sein d’un abonnement) à l’aide du processus décrit ici, le fournisseur de ressources Microsoft.ManagedServices sera inscrit pour cet abonnement.When onboarding a subscription (or one or more resource groups within a subscription) using the process described here, the Microsoft.ManagedServices resource provider will be registered for that subscription.

Définir des rôles et des autorisationsDefine roles and permissions

En tant que fournisseur de services, vous souhaitez peut-être utiliser plusieurs offres avec un seul client, ce qui requiert un accès différent pour les différentes étendues.As a service provider, you may want to use multiple offers with a single customer, requiring different access for different scopes.

Pour faciliter la gestion, nous vous recommandons d’utiliser des groupes d’utilisateurs Azure AD pour chaque rôle, ce qui vous permet d’ajouter ou de supprimer des utilisateurs dans le groupe au lieu d’attribuer directement des autorisations aux utilisateurs.To make management easier, we recommend using Azure AD user groups for each role, allowing you to add or remove individual users to the group rather than assigning permissions directly to that user. Vous pouvez également attribuer des rôles à un principal de service.You may also want to assign roles to a service principal. Veillez à suivre le principe du privilège minimum afin que les utilisateurs disposent uniquement des autorisations nécessaires pour accomplir leur travail, ce qui contribue à réduire le risque d’erreurs accidentelles.Be sure to follow the principle of least privilege so that users only have the permissions needed to complete their job, helping to reduce the chance of inadvertent errors. Pour plus d’informations, voir Pratiques de sécurité recommandées.For more info, see Recommended security practices.

Notes

Les attributions de rôles doivent utiliser des rôles intégrés de contrôle d’accès en fonction du rôle (RBAC).Role assignments must use role-based access control (RBAC) built-in roles. Tous les rôles intégrés sont actuellement pris en charge avec la gestion des ressources déléguées Azure, à l’exception du propriétaire et des rôles intégrés avec l’autorisation DataActions.All built-in roles are currently supported with Azure delegated resource management except for Owner and any built-in roles with DataActions permission. Le rôle intégré Administrateur de l’accès utilisateur est pris en charge pour une utilisation limitée, comme décrit ci-dessous.The User Access Administrator built-in role is supported for limited use as described below. Les rôles personnalisés et les Rôles Administrateur classique de l’abonnement ne sont pas non plus pris en charge.Custom roles and classic subscription administrator roles are also not supported.

Pour définir des autorisations, vous devez connaître les valeurs d’ID pour chaque utilisateur, groupe d’utilisateurs ou principal de service auquel vous souhaitez accorder l’accès.In order to define authorizations, you'll need to know the ID values for each user, user group, or service principal to which you want to grant access. Vous aurez également besoin de l’ID de définition de rôle pour chaque rôle intégré que vous souhaitez attribuer.You'll also need the role definition ID for each built-in role you want to assign. Si vous ne disposez pas des ces informations, vous pouvez les récupérer de l’une des manières suivantes.If you don't have them already, you can retrieve them in one of the following ways.

PowerShellPowerShell

# Log in first with Connect-AzAccount if you're not using Cloud Shell

# To retrieve the objectId for an Azure AD group
(Get-AzADGroup -DisplayName '<yourGroupName>').id

# To retrieve the objectId for an Azure AD user
(Get-AzADUser -UserPrincipalName '<yourUPN>').id

# To retrieve the objectId for an SPN
(Get-AzADApplication -DisplayName '<appDisplayName>').objectId

# To retrieve role definition IDs
(Get-AzRoleDefinition -Name '<roleName>').id

D’Azure CLIAzure CLI

# Log in first with az login if you're not using Cloud Shell

# To retrieve the objectId for an Azure AD group
az ad group list --query "[?displayName == '<yourGroupName>'].objectId" --output tsv

# To retrieve the objectId for an Azure AD user
az ad user show --upn-or-object-id "<yourUPN>" –-query "objectId" --output tsv

# To retrieve the objectId for an SPN
az ad sp list --query "[?displayName == '<spDisplayName>'].objectId" --output tsv

# To retrieve role definition IDs
az role definition list --name "<roleName>" | grep name

Créer un modèle Azure Resource ManagerCreate an Azure Resource Manager template

Pour intégrer votre client, vous devez créer un modèle Azure Resource Manager incluant les éléments suivants :To onboard your customer, you'll need to create an Azure Resource Manager template that includes the following:

ChampField DéfinitionDefinition
mspNamemspName Nom du fournisseur de servicesService provider name
mspOfferDescriptionmspOfferDescription Brève description de votre offre (par exemple, « Offre de gestion des machines virtuelles Contoso »)A brief description of your offer (for example, "Contoso VM management offer")
managedByTenantIdmanagedByTenantId Votre ID d’abonnéYour tenant ID
authorizationsauthorizations Les valeurs principalId pour les utilisateurs/groupes/noms de principal de service de votre locataire, chacune avec un principalIdDisplayName pour aider votre client à comprendre l’objectif de l’autorisation, et mappée à une valeur roleDefinitionId intégrée pour spécifier le niveau d’accèsThe principalId values for the users/groups/SPNs from your tenant, each with a principalIdDisplayName to help your customer understand the purpose of the authorization and mapped to a built-in roleDefinitionId value to specify the level of access

Pour intégrer l’abonnement d’un client, utilisez le modèle Azure Resource Manager approprié que nous fournissons dans nos exemples de référentiels, ainsi qu’un fichier de paramètres correspondant que vous modifiez pour qu’il corresponde à votre configuration, puis définissez votre autorisations.To onboard a customer's subscription, use the appropriate Azure Resource Manager template that we provide in our samples repo, along with a corresponding parameters file that you modify to match your configuration and define your authorizations. Des modèles distincts sont fournis selon que vous intégrez un abonnement entier, un groupe de ressources ou plusieurs groupes de ressources au sein d’un abonnement.Separate templates are provided depending on whether you are onboarding an entire subscription, a resource group, or multiple resource groups within a subscription. Nous fournissons également un modèle qui peut être utilisé pour des clients qui ont acheté une offre de service managé que vous avez publiée sur la Place de marché Azure, si vous préférez intégrer leurs abonnements de cette façon.We also provide a template that can be used for customers who purchased a managed service offer that you published to Azure Marketplace, if you prefer to onboard their subscription(s) this way.

Pour intégrer ceciTo onboard this Utiliser ce modèle Azure Resource ManagerUse this Azure Resource Manager template Et modifier ce fichier de paramètresAnd modify this parameter file
SubscriptionSubscription delegatedResourceManagement.jsondelegatedResourceManagement.json delegatedResourceManagement.parameters.jsondelegatedResourceManagement.parameters.json
Resource groupResource group rgDelegatedResourceManagement.jsonrgDelegatedResourceManagement.json rgDelegatedResourceManagement.parameters.jsonrgDelegatedResourceManagement.parameters.json
Plusieurs groupes de ressources au sein d’un abonnementMultiple resource groups within a subscription multipleRgDelegatedResourceManagement.jsonmultipleRgDelegatedResourceManagement.json multipleRgDelegatedResourceManagement.parameters.jsonmultipleRgDelegatedResourceManagement.parameters.json
Abonnement (lors de l’utilisation d’une offre publiée sur la Place de marché Azure)Subscription (when using an offer published to Azure Marketplace) marketplaceDelegatedResourceManagement.jsonmarketplaceDelegatedResourceManagement.json marketplaceDelegatedResourceManagement.parameters.jsonmarketplaceDelegatedResourceManagement.parameters.json

Important

Le processus décrit ici nécessite un déploiement distinct pour chaque abonnement intégré.The process described here requires a separate deployment for each subscription being onboarded.

Des déploiements distincts sont également requis si vous intégrez plusieurs groupes de ressources dans différents abonnements.Separate deployments are also required if you are onboarding multiple resource groups within different subscriptions. Toutefois, l’intégration de plusieurs groupes de ressources au sein d’un même abonnement peut être effectuée dans un seul déploiement.However, onboarding multiple resource groups within a single subscription can be done in one deployment.

L’exemple suivant montre un fichier resourceProjection.parameters.json modifié qui sera utilisé pour l’intégration d’un abonnement.The following example shows a modified resourceProjection.parameters.json file that will be used to onboard a subscription. Les fichiers de paramètres de groupe de ressources (situés dans le dossier rg-delegated-resource-management) sont similaires, mais incluent en outre un paramètre rgName pour identifier les groupes de ressources à intégrer.The resource group parameter files (located in the rg-delegated-resource-management folder) are similar, but also include an rgName parameter to identify the specific resource group(s) to be onboarded.

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "mspName": {
            "value": "Fabrikam Managed Services - Interstellar"
        },
        "mspOfferDescription": {
            "value": "Fabrikam Managed Services - Interstellar"
        },
        "managedByTenantId": {
            "value": "df4602a3-920c-435f-98c4-49ff031b9ef6"
        },
        "authorizations": {
            "value": [
                {
                    "principalId": "0019bcfb-6d35-48c1-a491-a701cf73b419",
                    "principalIdDisplayName": "Tier 1 Support",
                    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
                },
                {
                    "principalId": "0019bcfb-6d35-48c1-a491-a701cf73b419",
                    "principalIdDisplayName": "Tier 1 Support",
                    "roleDefinitionId": "36243c78-bf99-498c-9df9-86d9f8d28608"
                },
                {
                    "principalId": "0afd8497-7bff-4873-a7ff-b19a6b7b332c",
                    "principalIdDisplayName": "Tier 2 Support",
                    "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
                },
                {
                    "principalId": "9fe47fff-5655-4779-b726-2cf02b07c7c7",
                    "principalIdDisplayName": "Service Automation Account",
                    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
                },
                {
                    "principalId": "3kl47fff-5655-4779-b726-2cf02b05c7c4",
                    "principalIdDisplayName": "Policy Automation Account",
                    "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
                    "delegatedRoleDefinitionIds": [
                        "b24988ac-6180-42a0-ab88-20f7382dd24c",
                        "92aaf0da-9dab-42b6-94a3-d43ce8d16293"
                    ]
                }
            ]
        }
    }
}

La dernière autorisation dans l’exemple ci-dessus ajoute un principalId avec le rôle Administrateur de l’accès utilisateur (18d7d88d-d35e-4fb5-A5C3-7773c20a72d9).The last authorization in the example above adds a principalId with the User Access Administrator role (18d7d88d-d35e-4fb5-a5c3-7773c20a72d9). Lorsque vous attribuez ce rôle, vous devez inclure la propriété delegatedRoleDefinitionIds et un ou plusieurs rôles intégrés.When assigning this role, you must include the delegatedRoleDefinitionIds property and one or more built-in roles. L’utilisateur créé dans cette autorisation sera en mesure d’attribuer ces rôles intégrés à des identités gérées.The user created in this authorization will be able to assign these built-in roles to managed identities. Notez qu’aucune autre autorisation normalement associée au rôle Administrateur de l’accès utilisateur ne s’appliquera à cet utilisateur.Note that no other permissions normally associated with the User Access Administrator role will apply to this user.

Déployer les modèles Azure Resource ManagerDeploy the Azure Resource Manager templates

Une fois que vous avez mis à jour votre fichier de paramètres, le client doit déployer le modèle de gestion des ressources dans le locataire du client en tant que déploiement de niveau abonnement.Once you have updated your parameter file, the customer must deploy the Resource Management template in their customer's tenant as a subscription-level deployment. Un déploiement distinct est nécessaire pour chaque abonnement que vous souhaitez intégrer à la gestion des ressources déléguées Azure (ou pour chaque abonnement contenant des groupes de ressources que vous souhaitez intégrer).A separate deployment is needed for each subscription that you want to onboard to Azure delegated resource management (or for each subscription that contains resource groups that you want to onboard).

Important

Le déploiement doit être effectué par un compte non invité dans le locataire du client qui a le rôle intégré Propriétaire pour l’abonnement en cours d’intégration (ou qui contient les groupes de ressources en cours d’intégration).The deployment must be done by a non-guest account in the customer’s tenant which has the Owner built-in role for the subscription being onboarded (or which contains the resource groups that are being onboarded).

# Log in first with Connect-AzAccount if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
New-AzDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateFile <pathToTemplateFile> `
                 -TemplateParameterFile <pathToParameterFile> `
                 -Verbose

# Deploy Azure Resource Manager template that is located externally
New-AzDeployment -Name <deploymentName> `
                 -Location <AzureRegion> `
                 -TemplateUri <templateUri> `
                 -TemplateParameterUri <parameterUri> `
                 -Verbose

D’Azure CLIAzure CLI

# Log in first with az login if you're not using Cloud Shell

# Deploy Azure Resource Manager template using template and parameter file locally
az deployment create –-name <deploymentName> \
                     --location <AzureRegion> \
                     --template-file <pathToTemplateFile> \
                     --parameters <parameters/parameterFile> \
                     --verbose

# Deploy external Azure Resource Manager template, with local parameter file
az deployment create –-name <deploymentName \
                     –-location <AzureRegion> \
                     --template-uri <templateUri> \
                     --parameters <parameterFile> \
                     --verbose

Vérifier la réussite de l’intégrationConfirm successful onboarding

Quand un abonnement de client a été correctement intégré à la gestion des ressources déléguées Azure, les utilisateurs dans le locataire du fournisseur de services peuvent voir l’abonnement et ses ressources (si l’accès à ceux-ci leur a été octroyé via le processus ci-dessus, soit individuellement, soit en tant que membres d’un groupe Azure AD disposant des autorisations appropriées).When a customer subscription has successfully been onboarded to Azure delegated resource management, users in the service provider's tenant will be able to see the subscription and its resources (if they have been granted access to it through the process above, either individually or as a member of an Azure AD group with the appropriate permissions). Pour vérifier cela, assurez-vous que l’abonnement s’affiche de l’une des manières suivantes.To confirm this, check to make sure the subscription appears in one of the following ways.

Portail AzureAzure portal

Dans le locataire du fournisseur de services :In the service provider's tenant:

  1. Accédez à la page Mes clients.Navigate to the My customers page.
  2. Sélectionnez Clients.Select Customers.
  3. Vérifiez que vous pouvez voir les abonnements portant le nom de l’offre que vous avez fourni dans le modèle Resource Manager.Confirm that you can see the subscription(s) with the offer name you provided in the Resource Manager template.

Dans le locataire du client :In the customer's tenant:

  1. Accédez à la page Fournisseurs de services.Navigate to the Service providers page.
  2. Sélectionnez Offres de fournisseur de services.Select Service provider offers.
  3. Vérifiez que vous pouvez voir les abonnements portant le nom de l’offre que vous avez fourni dans le modèle Resource Manager.Confirm that you can see the subscription(s) with the offer name you provided in the Resource Manager template.

Notes

Quelques minutes peuvent s’écouler après votre déploiement, avant que les mises à jour apparaissent dans le portail Azure.It may take a few minutes after your deployment is complete before the updates are reflected in the Azure portal.

PowerShellPowerShell

# Log in first with Connect-AzAccount if you're not using Cloud Shell

Get-AzContext

D’Azure CLIAzure CLI

# Log in first with az login if you're not using Cloud Shell

az account list

Étapes suivantesNext steps