適格な認可を作成する

顧客をAzure Lighthouseにオンボードする場合は、指定したAzure組み込みロールを管理テナントのユーザーに付与する承認を作成します。 また、Microsoft Entra Privileged Identity Management (PIM) を使用して、管理テナントのユーザーが一時的にロールを昇格できるようにする適格な承認を作成することもできます。 このロールの昇格により、Just-In-Time ベースで追加のアクセス許可が付与されるため、ユーザーは設定された期間だけそれらのアクセス許可を持つことができます。

適格な承認を作成することで、特権ロールへのユーザーの永続的な割り当ての数を最小限に抑えることができます。 このアプローチは、テナント内のユーザーによる特権アクセスに関連するセキュリティ リスクを軽減するのに役立ちます。

この記事では、対象となる承認のしくみと、顧客を Azure Lighthouseにオンボードするときにを作成する方法について説明します。

ライセンス要件

適格な承認にはMicrosoft Entra Privileged Identity Managementが使用されるため、管理テナントには、Privileged Identity Managementをサポートする有効なMicrosoft Entra ID ガバナンスライセンスが必要です。

対象となるロールに関連付けられている追加コストは、ユーザーがそのロールへのアクセス権を昇格した期間中にのみ適用されます。

対象となる承認の作成は、 国内クラウドではサポートされていません。

適格な認可のしくみ

適格な認可では、ユーザーが特権タスクを実行する必要があるときにユーザーにロールのアクティブ化を要求するロールの割り当てを定義します。 対象となるロールをアクティブにすると、指定した期間、そのロールによってフル アクセスが許可されます。

顧客テナント内のユーザーは、オンボード プロセスの前に、適格な認可内のものを含むすべてのロールの割り当てを確認できます。

ユーザーが適格なロールをアクティブ化すると、委任されたスコープに対する永続的なロールの割り当てに加えて、事前に構成された期間、そのスコープに対する昇格されたロールを持つことになります。

管理テナントの管理者は、管理テナントの監査ログを表示することで、すべてのPrivileged Identity Managementアクティビティを確認できます。 お客様は、委任されたサブスクリプションのAzure アクティビティ ログでこれらのアクションを表示できます。

適格な認可の要素

Azure Resource Manager テンプレートを使用するか、マネージド サービス オファーを Microsoft Marketplace に発行することで、顧客のオンボード時に適格な承認を作成できます。 適格な認可には、ユーザー、ロール、アクセス ポリシーという 3 つの要素が含まれている必要があります。

ユーザー

対象となる承認ごとに、個々のユーザーまたは管理テナント内のMicrosoft Entra グループのプリンシパル ID を指定します。 プリンシパル ID と共に、各承認の表示名を指定します。

グループに適格な承認を割り当てる場合、そのグループのすべてのメンバーは、アクセス ポリシーに従って、そのロールへの個々のアクセス権を昇格できます。

サービス プリンシパルで適格な認可を使用することはできません。これは、現在、サービス プリンシパル アカウントでそのアクセス権を昇格して適格なロールを使用するための方法がないからです。 また、ユーザー アクセス管理者が管理対象の ID に割り当てることができるdelegatedRoleDefinitionIdsを使用することもできません。

対象となる承認ごとに、閲覧者 (または閲覧者アクセスを含む別のAzure組み込みロール) など、異なるロールを持つ同じプリンシパル ID に対する永続的な (アクティブな) 承認も作成してください。 閲覧者アクセス権を持つ永続的な承認を含めない場合、ユーザーは Azure ポータルでロールを昇格できません。

役割

対象となる各承認には、ユーザーが Just-In-Time ベースで使用できるAzure組み込みロールを含める必要があります。

ロールには、ユーザー アクセス管理者を除き、Azureの委任されたリソース管理用にサポートされている任意のAzure組み込みロールを指定できます。

重要

同じロールを使用する複数の適格な認可を含める場合は、それぞれの適格な認可に同じアクセス ポリシー設定がある必要があります。

アクセス ポリシー

アクセス ポリシーでは、多要素認証の要件と、ユーザーがロールでアクティブ化されてから期限切れになるまでの時間の長さ、承認者が必要であるかどうかを定義します。

多要素認証

Microsoft Entra多要素認証を要求して、対象となるロールをアクティブ化するかどうかを指定します。

最大継続期間

ユーザーが適格なロールを持つことができる合計時間を定義します。 最小値は 30 分、最大値は 8 時間です。

承認者

承認者要素は省略可能です。 これを含める場合は、ユーザーからの要求を承認または拒否して適格なロールをアクティブ化できる最大 10 人のユーザーまたはユーザー グループを管理テナントに指定できます。

サービス プリンシパル アカウントを承認者として使用することはできません。 また、承認者は自分のアクセスを承認できません。 承認者が資格のある承認のユーザーとしても含まれている場合、別の承認者がそのユーザーのロールを昇格させるためにアクセス権を付与する必要があります。

承認者を含めない場合、ユーザーは選択するたびに対象ロールをアクティブ化できます。

Managed Services オファーを使用して適格な承認を作成する

Managed Services オファーを Microsoft Marketplace に発行することで、顧客をAzure Lighthouseにオンボードできます。 パートナー センターでオファーを作成する場合は、各承認アクセスの種類アクティブにするか、対象にするかを指定します。

[対象] を選択すると、承認のユーザーは、構成したアクセス ポリシーに従ってロールをアクティブ化できます。 最大期間を 30 分から 8 時間に設定し、多要素認証が必要かどうかを指定する必要があります。 また、承認者を使用することを選択した場合は、最大 10 人の承認者を追加して、それぞれに表示名とプリンシパル ID を指定できます。

パートナー センターで 適格な承認 を構成するときは、対象となる承認要素を理解してください。

Azure Resource Manager テンプレートを使用して適格な承認を作成する

Azure Resource Manager テンプレートと、変更した対応するパラメーター ファイルを使用して、顧客をAzure Lighthouseに登録できます。 選択するテンプレートは、サブスクリプション全体、リソース グループ、またはサブスクリプション内の複数のリソース グループのどちらをオンボードするかによって異なります。

顧客のオンボード時に適格な承認を含めるには、サンプル リポジトリの delegated-resource-management-eligible-authorizations セクションのいずれかのテンプレートを使用します。 リポジトリには、承認者が含まれているテンプレートと含まれていないテンプレートが用意されているため、シナリオに最適なものを使用できます。

この機能をオンボードする(適切な認可を持つ場合) このAzure Resource Manager テンプレートを使用する このパラメーターファイルを変更してください。
サブスクリプション subscription.json subscription.parameters.json
サブスクリプション (承認者付き) subscription-managing-tenant-approvers.json subscription-managing-tenant-approvers.parameters.json
リソースグループ rg.json rg.parameters.json
リソース グループ (承認者付き) rg-managing-tenant-approvers.json rg-managing-tenant-approvers.parameters.json
サブスクリプション内の複数のリソース グループ multiple-rg.json multiple-rg.parameters.json
サブスクリプション内の複数のリソース グループ(承認者付き) multiple-rg-managing-tenant-approvers.json multiple-rg-managing-tenant-approvers.parameters.json

たとえば、これは、適格な承認 (承認者を含む) を使用してサブスクリプションをオンボードする subscription-managing-tenant-approvers.json テンプレートです。

{
    "$schema": "https://schema.management.azure.com/schemas/2019-08-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "mspOfferName": {
            "type": "string",
            "metadata": {
                "description": "Specify a unique name for your offer"
            }
        },
        "mspOfferDescription": {
            "type": "string",
            "metadata": {
                "description": "Name of the Managed Service Provider offering"
            }
        },
        "managedByTenantId": {
            "type": "string",
            "metadata": {
                "description": "Specify the tenant id of the Managed Service Provider"
            }
        },
        "authorizations": {
            "type": "array",
            "metadata": {
                "description": "Specify an array of objects, containing tuples of Azure Active Directory principalId, a Azure roleDefinitionId, and an optional principalIdDisplayName. The roleDefinition specified is granted to the principalId in the provider's Active Directory and the principalIdDisplayName is visible to customers."
            }
        },
        "eligibleAuthorizations": {
            "type": "array",
            "metadata": {
                "description": "Provide the authorizations that will have just-in-time role assignments on customer environments with support for approvals from the managing tenant"
            }
        }
    },
        "variables": {
            "mspRegistrationName": "[guid(parameters('mspOfferName'))]",
            "mspAssignmentName": "[guid(parameters('mspOfferName'))]"
        },
        "resources": [
            {
                "type": "Microsoft.ManagedServices/registrationDefinitions",
                "apiVersion": "2020-02-01-preview",
                "name": "[variables('mspRegistrationName')]",
                "properties": {
                    "registrationDefinitionName": "[parameters('mspOfferName')]",
                    "description": "[parameters('mspOfferDescription')]",
                    "managedByTenantId": "[parameters('managedByTenantId')]",
                    "authorizations": "[parameters('authorizations')]",
                    "eligibleAuthorizations": "[parameters('eligibleAuthorizations')]"
                }
            },
            {
                "type": "Microsoft.ManagedServices/registrationAssignments",
                "apiVersion": "2020-02-01-preview",
                "name": "[variables('mspAssignmentName')]",
                "dependsOn": [
                    "[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
                ],
                "properties": {
                    "registrationDefinitionId": "[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
                }
            }
        ],
        "outputs": {
            "mspOfferName": {
                "type": "string",
                "value": "[concat('Managed by', ' ', parameters('mspOfferName'))]"
            },
            "authorizations": {
                "type": "array",
                "value": "[parameters('authorizations')]"
            },
            "eligibleAuthorizations": {
                "type": "array",
                "value": "[parameters('eligibleAuthorizations')]"
            }
        }
    }

パラメーター ファイルで適格な認可を定義する

デプロイ テンプレートに対応するパラメーター ファイルは、適格な承認を含む承認を定義します。

eligibleAuthorizations パラメーターで、対象となる各承認を定義します。 たとえば、このsubscription-managing-tenant-approvers.parameters.jsonサンプル テンプレートには、1 つの適格な承認が含まれています。 また、managedbyTenantApprovers要素も含まれ、principalId要素で定義されている対象ロールをアクティブ化するすべての試行を承認する必要があるeligibleAuthorizationsが追加されます。

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "mspOfferName": {
            "value": "Relecloud Managed Services"
        },
        "mspOfferDescription": {
            "value": "Relecloud Managed Services"
        },
        "managedByTenantId": {
            "value": "<insert the managing tenant id>"
        },
        "authorizations": {
            "value": [
                { 
                    "principalId": "00000000-0000-0000-0000-000000000000",
                    "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
                    "principalIdDisplayName": "PIM group"
                }
            ]
        }, 
        "eligibleAuthorizations":{
            "value": [
                {
                        "justInTimeAccessPolicy": {
                            "multiFactorAuthProvider": "Azure",
                            "maximumActivationDuration": "PT8H",
                            "managedByTenantApprovers": [ 
                                { 
                                    "principalId": "00000000-0000-0000-0000-000000000000", 
                                    "principalIdDisplayName": "PIM-Approvers" 
                                } 
                            ]
                        },
                        "principalId": "00000000-0000-0000-0000-000000000000", 
                        "principalIdDisplayName": "Tier 2 Support",
                        "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"

                }
            ]
        }
    }
}

eligibleAuthorizations パラメーター内の各エントリには、適格な認可を定義する 3 つの要素 (principalIdroleDefinitionIdjustInTimeAccessPolicy) が含まれています。

principalId は、この適格な承認が適用されるMicrosoft Entraユーザーまたはグループの ID を指定します。

roleDefinitionId には、ユーザーがジャスト イン タイムで使用できるAzure組み込みロールのロール定義 ID が含まれています。 同じ roleDefinitionId を使用する複数の適格な認可を含める場合は、すべての認可で justInTimeAccessPolicy の設定が同じである必要があります。

justInTimeAccessPolicy では、次の 3 つの要素を指定します。

  • multiFactorAuthProviderは、Microsoft Entra多要素認証を使用した認証を必要とする Azure に設定するか、多要素認証が必要ない場合は None に設定できます。
  • maximumActivationDuration では、ユーザーが適格なロールを持つことができる時間の合計を設定します。 この値には、ISO 8601 の期間の形式を使用する必要があります。 最小値は PT30M (30 分) で、最大値は PT8H (8 時間) です。 わかりやすくするために、6 時間の PT6H や 6.5 時間のPT6H30Mなど、30 分単位の値を使用します。
  • managedByTenantApprovers はオプションです。 含める場合は、principalId と principalIdDisplayName の 1 つ以上の組み合わせが含まれている必要があります。この組み合わせは、対象となるロールのアクティブ化を承認する必要があります。

これらの要素の詳細情報については、「適格な認可の要素」セクションを参照してください。

ユーザーの昇格プロセス

顧客をAzure Lighthouseにオンボードすると、指定したユーザー (または指定したグループ内のユーザー) が、含める対象ロールにアクセスできるようになります。

各ユーザーは、Azure ポータルの My customers ページにアクセスし、委任を選択し、Manage 対象ロールを選択することで、いつでもアクセス権を昇格できます。 その後、ステップに従って、Microsoft Entra Privileged Identity Managementでロールをアクティブ化できます。

承認者を指定した場合、管理 テナントの承認者 が承認を付与するまで、ユーザーはロールにアクセスできません。 承認が要求されると、すべての承認者に通知され、承認が付与されるまで、ユーザーは資格のあるロールを使用できません。 承認者には、各承認に関する通知も受け取ります。

承認プロセスの詳細については、「 Privileged Identity Management のAzure リソース ロールの要求を承認または拒否する」を参照してください。

適格なロールがアクティブ化されると、ユーザーは、適格な認可に指定されている期間全体でそのロールを持つことになります。 その期間が過ぎると、昇格プロセスを繰り返して再びアクセス権を昇格しない限り、そのロールを使用できなくなります。

次の手順