設定現有 Service Fabric 叢集中的受控身分識別支援

若要在您的 Service Fabric 應用程式中使用 Azure 資源的受控識別,請先啟用該叢集的受控識別權杖服務。 這項服務負責驗證使用了受控識別的 Service Fabric 應用程式,並代表應用程式取得存取權杖。 啟用服務後,該服務隨即顯示於左窗格 [系統] 區段下的 Service Fabric Explorer,並在名稱 fabric:/System/ManagedIdentityTokenService 下執行。

注意

若要啟用受控識別權杖服務,則需要 Service Fabric 執行階段版本 6.5.658.9590 或更高版本。

您可以藉由開啟叢集資源,並檢查 [基本資訊] 區段中的 [Service Fabric 版本] 屬性,從 Azure 入口網站找到叢集的 Service Fabric 版本。

如果叢集處於 [手動] 升級模式,您必須先將其升級至 6.5.658.9590 或更新版本。

在現有叢集中啟用受控識別權杖服務

若要在現有叢集中啟用受控識別權杖服務,您必須起始叢集升級以指定兩項變更:(1) 啟用受控識別權杖服務,以及 (2) 要求重新啟動每個節點。 首先,請將下列程式碼片段新增至叢集的 Azure Resource Manager 範本:

"fabricSettings": [
    {
        "name": "ManagedIdentityTokenService",
        "parameters": [
            {
                "name": "IsEnabled",
                "value": "true"
            }
        ]
    }
]

為了讓變更生效,您也必須變更升級原則,以便指定要在叢集進行升級時,於每個節點上強制重新啟動 Service Fabric 執行階段。 此重新啟動動作可確保新啟用的系統服務會在每個節點上啟動並執行。 在下列程式碼片段中,forceRestart 是用來啟用重新啟動的基本設定。 其餘參數則請使用下列所述的值,或使用已針對叢集資源指定的現有自訂值。 您可以從 Azure 入口網站選取 Service Fabric 資源或 resources.azure.com 上的 [網狀架構升級] 選項,以檢視「網狀架構升級原則」('upgradeDescription') 的自訂設定。 您無法從 PowerShell 或 resources.azure.com 檢視升級原則 ('upgradeDescription') 的預設選項。 如需其他資訊,請參閱 ClusterUpgradePolicy

"upgradeDescription": {
    "forceRestart": true,
    "healthCheckRetryTimeout": "00:45:00",
    "healthCheckStableDuration": "00:05:00",
    "healthCheckWaitDuration": "00:05:00",
    "upgradeDomainTimeout": "02:00:00",
    "upgradeReplicaSetCheckTimeout": "1.00:00:00",
    "upgradeTimeout": "12:00:00"
}

注意

升級成功完成時,請記得復原 forceRestart 設定,以將後續升級的影響降到最低。

錯誤和疑難排解

如果部署失敗並出現下列訊息,則表示叢集未在足夠高的 Service Fabric 版本上執行:

{
    "code": "ParameterNotAllowed",
    "message": "Section 'ManagedIdentityTokenService' and Parameter 'IsEnabled' is not allowed."
}

下一步