Dołączanie klienta do zarządzania zasobami delegowanymi na platformie AzureOnboard a customer to Azure delegated resource management

W tym artykule wyjaśniono, jak usługodawca może dołączyć klienta do zarządzania zasobami delegowanymi przez platformę Azure, umożliwiając dostęp do swoich delegowanych zasobów (subskrypcji i/lub grup zasobów) oraz zarządzanie nimi za pomocą własnych Azure Active Directory ( Dzierżawa usługi 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. Mimo że będziemy odnieść się do dostawców usług i klientów w tym miejscu, przedsiębiorstwa zarządzające wieloma dzierżawcami mogą używać tego samego procesu do konsolidacji ich środowiska zarządzania.While we'll refer to service providers and customers here, enterprises managing multiple tenants can use the same process to consolidate their management experience.

Ten proces można powtórzyć, Jeśli zarządzasz zasobami dla wielu klientów.You can repeat this process if you are managing resources for multiple customers. Następnie, gdy autoryzowany użytkownik loguje się do dzierżawy, ten użytkownik może być autoryzowany w zakresach dzierżawy klienta w celu wykonywania operacji zarządzania bez konieczności logowania się do każdej dzierżawy klienta.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.

Możesz skojarzyć swój identyfikator Microsoft Partner Network (MPN) z subskrypcjami dołączanymi, aby śledzić wpływ klientów i na otrzymywanie rozpoznawania.You can associate your Microsoft Partner Network (MPN) ID with your onboarded subscriptions to track your impact across customer engagements and receive recognition. Aby uzyskać więcej informacji, zobacz łączenie identyfikatora partnera z kontami platformy Azure.For more info, see Link a partner ID to your Azure accounts. Zwróć uwagę, że musisz wykonać to skojarzenie w dzierżawie dostawcy usług.Note that you'll need to perform this association in your service provider tenant.

Uwaga

Po zakupieniu oferty usług zarządzanych (publicznej lub prywatnej) opublikowanej w portalu Azure Marketplace można również dołączyć klientów.Customers can also be onboarded when they purchase a managed services offer (public or private) that you published to Azure Marketplace. Aby uzyskać więcej informacji, zobacz temat Publikowanie usług zarządzanych w witrynie Azure Marketplace.For more info, see Publish Managed Services offers to Azure Marketplace. Możesz również użyć procesu dołączania opisanego tutaj z ofertą opublikowaną w witrynie Azure Marketplace.You can also use the onboarding process described here with an offer published to Azure Marketplace.

Proces dołączania wymaga wykonania akcji z poziomu dzierżawy dostawcy usług i dzierżawy klienta.The onboarding process requires actions to be taken from within both the service provider's tenant and from the customer's tenant. Wszystkie te kroki opisano w tym artykule.All of these steps are described in this article.

Ważne

Obecnie nie można dołączyć subskrypcji (lub grupy zasobów w ramach subskrypcji) do zarządzania zasobami delegowanymi przez platformę Azure, jeśli subskrypcja używa 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. Podobnie, jeśli subskrypcja została zarejestrowana w celu dołączenia do dostawcy zasobów Microsoft. ManagedServices , nie będzie można w tej chwili utworzyć obszaru roboczego dla tej subskrypcji.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.

Zbierz szczegóły dzierżawy i subskrypcjiGather tenant and subscription details

Aby dołączyć dzierżawcę klienta, musi on mieć aktywną subskrypcję platformy Azure.To onboard a customer's tenant, it must have an active Azure subscription. Musisz znać następujące informacje:You'll need to know the following:

  • Identyfikator dzierżawy dzierżawy dostawcy usług (gdzie będziesz zarządzać zasobami klienta)The tenant ID of the service provider's tenant (where you will be managing the customer's resources)
  • Identyfikator dzierżawy dzierżawy klienta (który będzie mieć zasoby zarządzane przez dostawcę usługi)The tenant ID of the customer's tenant (which will have resources managed by the service provider)
  • Identyfikatory subskrypcji dla każdej określonej subskrypcji w dzierżawie klienta, która będzie zarządzana przez dostawcę usług (lub zawierający grupy zasobów, które będą zarządzane przez dostawcę usług)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)

Jeśli te informacje nie są już dostępne, możesz je pobrać w jeden z następujących sposobów.If you don't have this info already, you can retrieve it in one of the following ways.

Azure PortalAzure portal

Identyfikator dzierżawy może być widoczny przez umieszczenie kursora nad nazwą konta w prawym górnym rogu Azure Portal lub przez wybranie pozycji Przełącz katalog.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. Aby wybrać i skopiować identyfikator dzierżawy, wyszukaj frazę "Azure Active Directory" w portalu, a następnie wybierz pozycję Właściwości i skopiuj wartość podaną w polu Identyfikator katalogu .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. Aby znaleźć identyfikator subskrypcji, wyszukaj frazę "subskrypcje", a następnie wybierz odpowiedni identyfikator subskrypcji.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>

Interfejs wiersza polecenia platformy AzureAzure CLI

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

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

Uwaga

Podczas dołączania subskrypcji (lub jednej lub większej liczby grup zasobów w ramach subskrypcji) przy użyciu procesu opisanego w tym miejscu dostawca zasobów Microsoft. ManagedServices zostanie zarejestrowany dla tej subskrypcji.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.

Definiowanie ról i uprawnieńDefine roles and permissions

Jako dostawca usług możesz chcieć użyć wielu ofert z pojedynczym klientem, co wymaga innego dostępu dla różnych zakresów.As a service provider, you may want to use multiple offers with a single customer, requiring different access for different scopes.

Aby ułatwić zarządzanie, zalecamy korzystanie z grup użytkowników usługi Azure AD dla każdej roli, co pozwala na dodawanie lub usuwanie poszczególnych użytkowników do grupy zamiast przypisywania uprawnień bezpośrednio do tego użytkownika.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. Możesz również przypisać role do jednostki usługi.You may also want to assign roles to a service principal. Upewnij się, że przestrzegasz zasad najniższych uprawnień, aby użytkownicy mieli tylko uprawnienia potrzebne do ukończenia swoich zadań, pomagając w zmniejszeniu ryzyka wystąpienia błędów.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. Aby uzyskać więcej informacji, zobacz zalecane praktyki dotyczące zabezpieczeń.For more info, see Recommended security practices.

Uwaga

Przypisania ról muszą używać wbudowanych rólkontroli dostępu opartej na ROLACH (RBAC).Role assignments must use role-based access control (RBAC) built-in roles. Wszystkie wbudowane role są obecnie obsługiwane przez delegowane zarządzanie zasobami platformy Azure z wyjątkiem właściciela i wszelkich wbudowanych ról z uprawnieniem Dataactions .All built-in roles are currently supported with Azure delegated resource management except for Owner and any built-in roles with DataActions permission. Wbudowana rola administratora dostępu użytkowników jest obsługiwana w przypadku ograniczonego użycia, zgodnie z poniższym opisem.The User Access Administrator built-in role is supported for limited use as described below. Role niestandardowe i role administratora klasycznej subskrypcji nie są również obsługiwane.Custom roles and classic subscription administrator roles are also not supported.

Aby zdefiniować autoryzacje, musisz znać wartości identyfikatora dla każdego użytkownika, grupy użytkowników lub nazwy głównej usługi, do której chcesz udzielić dostępu.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. Wymagany jest również identyfikator definicji roli dla każdej wbudowanej roli, która ma zostać przypisana.You'll also need the role definition ID for each built-in role you want to assign. Jeśli ich nie masz, możesz je pobrać w jeden z następujących sposobów.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

Interfejs wiersza polecenia platformy AzureAzure 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

Tworzenie szablonu usługi Azure Resource ManagerCreate an Azure Resource Manager template

Aby dołączyć klienta, należy utworzyć szablon Azure Resource Manager , który zawiera następujące elementy:To onboard your customer, you'll need to create an Azure Resource Manager template that includes the following:

PoleField DefinicjaDefinition
mspNamemspName Nazwa dostawcy usługService provider name
mspOfferDescriptionmspOfferDescription Krótki opis oferty (na przykład "Oferta zarządzania maszyną wirtualną firmy Contoso")A brief description of your offer (for example, "Contoso VM management offer")
managedByTenantIdmanagedByTenantId Identyfikator dzierżawyYour tenant ID
autoryzacjiauthorizations PrincipalId wartości dla użytkowników/grup/nazw SPN z dzierżawy, z których każdy ma principalIdDisplayName , aby pomóc klientowi zrozumieć cel autoryzacji i zamapować na wbudowaną wartość zduplikowanych , aby określić poziom dostępuThe 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

Aby dołączać subskrypcję klienta, należy użyć odpowiedniego szablonu Azure Resource Manager dostarczanego w naszym repozytorium przykładóworaz odpowiedniego pliku parametrów, który można zmodyfikować, aby dopasować konfigurację i zdefiniować autoryzacje.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. Poszczególne szablony są udostępniane w zależności od tego, czy dołączysz całą subskrypcję, grupę zasobów lub wiele grup zasobów w ramach subskrypcji.Separate templates are provided depending on whether you are onboarding an entire subscription, a resource group, or multiple resource groups within a subscription. Udostępniamy również szablon, który może być używany dla klientów, którzy kupili ofertę usługi zarządzanej opublikowaną w portalu Azure Marketplace, jeśli wolisz dołączyć swoje subskrypcje w ten sposób.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.

Aby dołączyć toTo onboard this Użyj tego szablonu Azure Resource ManagerUse this Azure Resource Manager template I zmodyfikuj ten plik parametrówAnd modify this parameter file
SubscriptionSubscription delegatedResourceManagement.jsondelegatedResourceManagement.json delegatedResourceManagement.parameters.jsondelegatedResourceManagement.parameters.json
Resource groupResource group rgDelegatedResourceManagement.jsonrgDelegatedResourceManagement.json rgDelegatedResourceManagement.parameters.jsonrgDelegatedResourceManagement.parameters.json
Wiele grup zasobów w ramach subskrypcjiMultiple resource groups within a subscription multipleRgDelegatedResourceManagement.jsonmultipleRgDelegatedResourceManagement.json multipleRgDelegatedResourceManagement.parameters.jsonmultipleRgDelegatedResourceManagement.parameters.json
Subskrypcja (w przypadku korzystania z oferty opublikowanej w portalu Azure Marketplace)Subscription (when using an offer published to Azure Marketplace) marketplaceDelegatedResourceManagement.jsonmarketplaceDelegatedResourceManagement.json marketplaceDelegatedResourceManagement.parameters.jsonmarketplaceDelegatedResourceManagement.parameters.json

Ważne

Opisany tutaj proces wymaga oddzielnego wdrożenia dla każdej subskrypcji.The process described here requires a separate deployment for each subscription being onboarded.

W przypadku dołączania wielu grup zasobów w ramach różnych subskrypcji wymagane są również oddzielne wdrożenia.Separate deployments are also required if you are onboarding multiple resource groups within different subscriptions. Istnieje jednak możliwość dołączania wielu grup zasobów w ramach jednej subskrypcji w jednym wdrożeniu.However, onboarding multiple resource groups within a single subscription can be done in one deployment.

Poniższy przykład pokazuje zmodyfikowany plik resourceProjection. Parameters. JSON , który zostanie użyty do dołączenia subskrypcji.The following example shows a modified resourceProjection.parameters.json file that will be used to onboard a subscription. Pliki parametrów grupy zasobów (znajdujące się w folderze RG-delegowani-Resource-Management ) są podobne, ale zawierają także parametr rgName w celu zidentyfikowania określonych grup zasobów, które mają zostać dołączone.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"
                    ]
                }
            ]
        }
    }
}

Ostatnia autoryzacja w powyższym przykładzie dodaje principalId z rolą administratora dostępu użytkownika (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). Podczas przypisywania tej roli należy uwzględnić Właściwość delegatedRoleDefinitionIds i jedną lub więcej ról wbudowanych.When assigning this role, you must include the delegatedRoleDefinitionIds property and one or more built-in roles. Użytkownik utworzony w ramach tej autoryzacji będzie mógł przypisać te wbudowane role do zarządzanych tożsamości.The user created in this authorization will be able to assign these built-in roles to managed identities. Należy pamiętać, że żadne inne uprawnienia zwykle skojarzone z rolą administratora dostępu użytkowników będą stosowane dla tego użytkownika.Note that no other permissions normally associated with the User Access Administrator role will apply to this user.

Wdrażanie szablonów Azure Resource ManagerDeploy the Azure Resource Manager templates

Po zaktualizowaniu pliku parametrów klient musi wdrożyć szablon zarządzania zasobami w ramach dzierżawy klienta jako wdrożenie na poziomie subskrypcji.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. Dla każdej subskrypcji, która ma zostać dołączona do zarządzania zasobami delegowanymi przez platformę Azure (lub dla każdej subskrypcji zawierającej grupy zasobów, które chcesz dołączyć), wymagane jest oddzielne wdrożenie.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).

Ważne

Wdrożenie musi zostać wykonane przez konto niebędące Gośćmi w dzierżawie klienta, które ma wbudowaną rolę właściciela subskrypcji (lub która zawiera grupy zasobów, które są dołączane).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

Interfejs wiersza polecenia platformy AzureAzure 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

Potwierdzenie pomyślnego dołączeniaConfirm successful onboarding

Po pomyślnym dodaniu subskrypcji klienta do zarządzania zasobami delegowanymi przez platformę Azure użytkownicy w dzierżawie dostawcy usług będą mogli zobaczyć subskrypcję i jej zasoby (Jeśli udzielono im dostępu za pomocą powyższego procesu, indywidualnie lub jako członek grupy usługi Azure AD z odpowiednimi uprawnieniami.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). Aby to potwierdzić, upewnij się, że subskrypcja jest wyświetlana w jeden z następujących sposobów.To confirm this, check to make sure the subscription appears in one of the following ways.

Azure PortalAzure portal

W dzierżawie dostawcy usług:In the service provider's tenant:

  1. Przejdź do strony moi klienci.Navigate to the My customers page.
  2. Wybierz pozycję klienci.Select Customers.
  3. Upewnij się, że można zobaczyć subskrypcje o nazwie oferty podanej w szablonie Menedżer zasobów.Confirm that you can see the subscription(s) with the offer name you provided in the Resource Manager template.

W dzierżawie klienta:In the customer's tenant:

  1. Przejdź do strony dostawcy usług.Navigate to the Service providers page.
  2. Wybierz pozycję oferty dostawcy usług.Select Service provider offers.
  3. Upewnij się, że można zobaczyć subskrypcje o nazwie oferty podanej w szablonie Menedżer zasobów.Confirm that you can see the subscription(s) with the offer name you provided in the Resource Manager template.

Uwaga

Po zakończeniu wdrożenia może upłynąć kilka minut, zanim aktualizacje zostaną odzwierciedlone w Azure Portal.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

Interfejs wiersza polecenia platformy AzureAzure CLI

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

az account list

Następne krokiNext steps