建立合格的授權

讓客戶在 Azure Lighthouse 上線時,您可以建立授權,授與自己管理租用戶中的使用者特定 Azure 內建角色。 您也可以建立使用 Microsoft Entra Privileged Identity Management (PIM) 的合格授權,讓自己管理租用戶中的使用者暫時提高角色權限。 這樣一來您便能適時授與其他權限,讓使用者僅在指定期間內擁有這些權限。

建立合格授權可將永久指派給使用者的特殊權限角色數目降到最低,有助於降低與租用戶中使用者特殊權限存取相關的安全性風險。

本主題說明合格授權的運作方式,以及如何在讓客戶於 Azure Lighthouse 上線時建立合格授權。

授權需求

建立合格授權時必須擁有 Enterprise Mobility + Security E5 (EMS E5)Microsoft Entra ID P2 授權。

EMS E5 或 Microsoft Entra ID P2 授權必須由管理租用戶持有,而非客戶租用戶。

唯有在使用者提高合格角色存取權的期間內,才會產生與該角色建立關聯的額外費用。

如需使用者授權的相關資訊,請參閱 Microsoft Entra ID 控管授權基本概念

合格授權的運作方式

合格授權會定義角色指派,要求使用者在需要執行特殊權限工作時啟用角色。 使用者啟用合格角色後,就能在指定的時間內獲得該角色授與的完整存取權。

客戶租用戶中的使用者可以在上線程序之前檢閱所有角色指派,包括合格授權中的角色指派。

使用者成功啟用合格角色之後,除了委派範圍內的永久角色指派外,也能在預先設定的期間內於該範圍擁有較高角色權限。

管理租用戶中的管理員可檢視管理租用戶的稽核記錄,藉此檢閱所有 PIM 活動, 客戶則可在委派訂閱的 Azure 活動記錄中檢視這些動作。

合格授權的元素

您可以在使用 Azure Resource Manager 範本讓客戶上線時建立合格授權,或透過將受控服務供應項目發佈至 Azure Marketplace 來建立這類授權。 每個合格授權都必須包含三種元素:使用者、角色、存取原則。

User

針對每項合格授權,您要為管理租用戶中的個別使用者或 Microsoft Entra 群組提供主體識別碼, 還必須為每個授權提供您選擇的顯示名稱。

若在合格授權中提供群組,則所有群組成員都能根據存取原則提升自己對該角色的個別存取權。

合格授權不能與服務主體搭配使用,因為服務主體帳戶目前沒有辦法提高存取權及使用合格角色。 合格授權也無法與使用者存取管理員可指派給受控識別delegatedRoleDefinitionIds 搭配使用。

注意

針對每個合格的授權,請務必為具備不同角色的同一主體識別碼建立永久 (作用中) 授權,例如「讀取者」(或其他包含「讀取者」存取權的 Azure 內建角色)。 如果您未納入具有「讀取者」存取權的永久授權,使用者便無法在 Azure 入口網站中提升角色權限。

角色

每個合格授權都必須包含使用者能適時使用的 Azure 內建角色

此角色可為 Azure 委派資源管理支援的任何 Azure 內建角色,但使用者存取管理員除外。

重要

若您納入多個使用同一角色的合格授權,那麼這些合格授權全都必須使用同樣的存取原則設定。

存取原則

存取原則會定義多重要素驗證需求、使用者角色啟用有效時間長度,以及是否需要核准者。

多重要素驗證

指定啟用合格角色時是否需要使用 Microsoft Entra 多重要素驗證

最長持續時間

定義使用者可啟用合格角色的時間總長, 最短 30 分鐘,最長 8 小時。

核准者

核准者元素為選用, 若納入此元素,您便可以在管理租用戶中指定最多 10 位使用者或使用者群組,讓他們負責核准或拒絕使用者的合格角色啟用要求。

服務主體帳戶無法用作核准者。 此外,核准者無法核准自己的存取權。如果核准者本身也是合格授權中的使用者,則必須由其他核准者授與存取權,他們才能提高角色權限。

若未加入任何核准者,那麼使用者隨時可以選擇啟用合格角色。

使用受控服務供應項目建立合格授權

若要讓客戶在 Azure Lighthouse 上線,您可以將受控服務供應項目發佈至 Azure Marketplace。 現在於合作夥伴中心建立供應項目時,可以將各個授權存取類型指定為 [作用中][合格]。

若選取 [合格],您授權中的使用者便能根據您設定的存取原則啟用角色。 您必須將持續時間上限設為 30 分鐘到 8 小時之間,並指定是否需要使用多重要素驗證。 假如選擇使用核准者元素,您也可以新增最多 10 名核准者,並為每名核准者提供顯示名稱和主體識別碼。

在合作夥伴中心設定合格授權時,請務必檢閱合格授權元素一節的詳細資料。

使用 Azure Resource Manager 範本建立合格授權

若要讓客戶在 Azure Lighthouse 上線,您可以使用 Azure Resource Manager 範本與您修改的對應參數檔案。 您應選擇的範本會根據上線對象是整個訂閱、單一資源群組,還是單一訂閱中的多個資源群組而有所不同。

如要在讓客戶上線時納入合格授權,請使用我們範例存放庫中 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')]"
            }
        }
    }

在參數檔案中定義合格授權

subscription-managing-tenant-approvers.parameters.json 範例範本可在將訂閱上線時用於定義授權,包括合格授權。

每個合格授權都必須在 eligibleAuthorizations 參數中予以定義。 此範例包含一個合格授權。

此範本也包含 managedbyTenantApprovers 元素,用於新增核准 eligibleAuthorizations 元素中所定義合格角色的啟用要求時所需的 principalId

{
    "$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 參數中的每個項目都包含用於定義合格授權的三個元素principalIdroleDefinitionIdjustInTimeAccessPolicy

principalId 用於為要套用此合格授權的 Microsoft Entra 使用者或群組指定識別碼。

roleDefinitionId 包含使用者能夠適時使用的 Azure 內建角色所具備角色定義識別碼。 如果您納入了多個使用相同 roleDefinitionId 的合格授權,則所有授權的 justInTimeAccessPolicy 設定都必須一樣。

justInTimeAccessPolicy 用於指定三個元素:

  • multiFactorAuthProvider 可以設定為 [Azure] 或 [無]。設為前者時必須使用 Microsoft Entra 多重要素驗證進行驗證,設為後者時則不需要。
  • maximumActivationDuration 用於設定使用者擁有合格角色的時間總長。 這個值必須使用 ISO 8601 持續時間格式, 且最小為 PT30M (30 分鐘),最大為 PT8H (8 小時)。 為了簡單起見,建議只使用以半小時為單位遞增的值,例如 PT6H (6 小時) 或 PT6H30M (6.5 小時)。
  • managedByTenantApprovers 是選擇性的。 若您納入此元素,則其中必須包含 principalId 與 principalIdDisplayName 的一或多個組合;核准任何合格角色的啟用時都必須用到這些組合。

如需這些元素的詳細資訊,請參閱合格授權的元素一節。

使用者的權限提高程序

您讓客戶在 Azure Lighthouse 上線後,該客戶 (或任何指定群組中的客戶) 便可使用您納入的所有合格角色。

每位使用者隨時都能前往 Azure 入口網站中的 [我的客戶] 頁面,依序選取委派和 [管理合格角色] 以提高存取權。 之後他們可以遵循 Microsoft Entra Privileged Identity Management 中的啟用角色步驟來操作。

Screenshot showing the Manage eligible roles button in the Azure portal.

如果已指定核准者,必須等到管理租用戶指定的核准者授與核准,使用者才能存取這個角色。 有人提出核准要求時,所有核准者都會收到通知;使用者在獲得核准之前都無法使用合格角色。 要求受到核准時,核准者也會收到通知。 如需核准程序的詳細資訊,請參閱在 Privileged Identity Management 中核准或拒絕 Azure 資源角色的要求

合格角色啟用後,在合格授權中指定的完整期間內,使用者都具有該角色。 指定期間過後,除非使用者再次執行權限提高程序以提高存取權,否則將無法再使用該角色。

下一步