管理グループのすべてのサブスクリプションをオンボードする

Azure Lighthouse でサブスクリプションやリソース グループの委任が可能ですが、管理グループの委任はできません。 ただし、Azure Policy を使用して、管理グループ内のすべてのサブスクリプションを管理テナントに委任することができます。

ポリシーにより、管理グループ内の各サブスクリプションが指定した管理テナントに委任されているかどうかが deployIfNotExists 効果を使用して確認されます。 サブスクリプションがまだ委任されていない場合、ポリシーは Azure Lighthouse の割り当てを、パラメーターで指定した値に基づいて作成します。 その後、管理グループ内のすべてのサブスクリプションに、サブスクリプションのそれぞれが手動でオンボードされているように、アクセスできるようになります。

このポリシーを使用するときは、次のことを留意してください。

  • 管理グループ内の各サブスクリプションが、同じ承認セットを持ちます。 アクセスを許可するユーザーとロールを変更するには、サブスクリプションを手動でオンボードする必要があります。
  • 管理グループ内のすべてのサブスクリプションがオンボードされますが、管理グループ リソースに対して Azure Lighthouse から操作を実行することはできません。 操作するサブスクリプションを、個別にオンボードされた場合と同様に、選択する必要があります。

以下で指定しない限り、これらの手順はすべて、顧客のテナント内の、適切なアクセス許可を持つユーザーが実行する必要があります。

ヒント

このトピックではサービス プロバイダーと顧客の場合について説明していますが、複数のテナントを管理するエンタープライズも同じプロセスを使用できます。

サブスクリプション間でリソース プロバイダーを登録する

通常、Microsoft.ManagedServices リソース プロバイダーは、オンボード プロセスの一環としてサブスクリプションに登録されます。 ポリシーを使用して管理グループ内のサブスクリプションをオンボードするときは、リソース プロバイダーを事前に登録する必要があります。 これは、顧客のテナントの共同作成者または所有者ユーザー (またはリソース プロバイダーの /register/action 操作を行うアクセス許可を持つユーザー) が行います。 詳細については、「Azure リソース プロバイダーと種類」を参照してください。

Azure Logic App を使用すると、サブスクリプション間でリソース プロバイダーを自動的に登録できます。 このロジック アプリは、管理グループ内の各サブスクリプションにリソース プロバイダーを登録できる、アクセス許可が制限された顧客のテナントにデプロイできます。

また、サービス プロバイダーのテナント にデプロイできる Azure Logic App も用意されています。 このロジック アプリでは、ロジック アプリにテナント全体の管理者の同意を付与することで、複数のテナントのサブスクリプション間でリソース プロバイダーを割り当てできます。 テナント全体の管理者の同意を付与するには、組織を代表して同意する権限を持つユーザーとしてサインインする必要があります。 このオプションを使用して複数のテナントにプロバイダーを登録する場合でも、ポリシーは管理グループごとに個別にデプロイする必要があることに注意してください。

自分のパラメーター ファイルを作成する

ポリシーを割り当てるには、サンプル リポジトリの deployLighthouseIfNotExistManagementGroup.json ファイルを、特定のテナントと割り当ての詳細で編集するdeployLighthouseIfNotExistsManagementGroup.parameters.json パラメーター ファイルと共にデプロイします。 これら 2 つのファイルには、個々のサブスクリプション のオンボードに使用されるのと同じ詳細が含まれている。

次の例は、サブスクリプションを Relecloud Managed Services テナントに委任するパラメーター ファイルを示しています。1 つは階層 1 のサポート用で、1 つは自動化アカウントであり、このアカウントは顧客テナント のマネージド ID に delegateRoleDefinitionIds を割り当てることができます。

{ 
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
        "managedByName": { 
            "value": "Relecloud Managed Services" 
        }, 
        "managedByDescription": { 
            "value": "Relecloud provides managed services to its customers" 
        }, 
        "managedByTenantId": { 
            "value": "00000000-0000-0000-0000-000000000000" 
        }, 
        "managedByAuthorizations": { 
            "value": [ 
                { 
                    "principalId": "00000000-0000-0000-0000-000000000000", 
                    "principalIdDisplayName": "Tier 1 Support", 
                    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c" 
                }, 
                { 
                    "principalId": "00000000-0000-0000-0000-000000000000", 
                    "principalIdDisplayName": "Automation Account - Full access", 
                    "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", 
                    "delegatedRoleDefinitionIds": [ 
                        "b24988ac-6180-42a0-ab88-20f7382dd24c", 
                        "92aaf0da-9dab-42b6-94a3-d43ce8d16293", 
                        "91c1777a-f3dc-4fae-b103-61d183457e46" 
                    ] 
                }                 
            ] 
        } 
    } 
} 

ポリシーを管理グループに割り当てる

ポリシーを編集して割り当てを作成したら、それを管理グループ レベルで割り当てることができます。 ポリシーを割り当ててコンプライアンスの状態の結果を表示する方法については、ポリシー割り当ての作成に関するクイックスタートを参照してください。

下の PowerShell スクリプトは、作成したテンプレートとパラメーター ファイルを使用して、指定した管理グループの下にポリシー定義を追加する方法を示しています。 既存のサブスクリプションの割り当てと修復タスクを作成する必要があります。

New-AzManagementGroupDeployment -Name <DeploymentName> -Location <location> -ManagementGroupId <ManagementGroupName> -TemplateFile <path to file> -TemplateParameterFile <path to parameter file> -verbose

オンボードが成功したことを確認する

管理グループ内のサブスクリプションが正常にオンボードされたことを確認するには、いくつかの方法があります。 詳細については、「オンボードが成功したことを確認する」を参照してください。

ロジック アプリとポリシーを管理グループでアクティブな状態に維持すると、管理グループに追加された新しいサブスクリプションもオンボードされます。

次のステップ