共用方式為


受控識別和使用者提供資源的 Azure 作員 Nexus 叢集支援

為了改善作員 Nexus 平臺的安全性,作員 Nexus 叢集現在支援受控識別。 受控識別可為應用程式提供安全的方式來存取其他 Azure 資源,並免除使用者管理認證的需求。 此外,作員 Nexus 現在具有使用者提供的資源模型。 除了改善安全性之外,此班次還提供跨平臺的一致用戶體驗。

受控識別會與作員 Nexus 叢集上提供的下列用戶資源搭配使用:

  • 用於裸機執行命令輸出的記憶體帳戶。
  • 用於認證輪替的 金鑰保存庫。
  • 用來擷取某些計量的Log Analytics工作區。

若要深入瞭解 Azure 中的受控識別,請參閱 適用於 Azure 資源的受控識別。 作員 Nexus 叢集支援多個使用者指派的受控識別 (UAMI) 或一個系統指派的受控識別 (SAMI)。

雖然使用者可以選擇使用任一受控識別類型,但建議使用UAMIS。 其可讓使用者在建立或更新作員 Nexus 叢集之前預先設定具有 UAMI 適當存取權的資源。 相同的UAMI可用於所有資源,或如果使用者想要更細緻的存取,他們可以為每個資源定義UAMIS。

新增之後,您目前只能透過 API 呼叫移除身分識別。 如需使用 API 更新叢集受控識別的資訊,請參閱 更新叢集身分識別。 本節包含刪除受控識別的相關信息。

必要條件

注意

Log Analytics 工作區和 金鑰保存庫 的受控識別功能與 2024-10-01-preview API 一起存在,並可供 2025-02-01 GA API 使用。

作員 Nexus 叢集與使用者指派的受控識別 (UAMI)

最好先定義所有使用者提供的資源(記憶體帳戶、法律及 金鑰保存庫)、與這些資源相關聯的受控識別,然後將受控識別指派給資源的適當存取權。 如果在建立叢集之前未完成這些步驟,則必須在叢集部署之前完成這些步驟。

針對新的叢集部署時間未設定這些資源的影響如下:

  • 記憶體帳戶: run-* 命令輸出無法寫入記憶體帳戶。
  • LAW: 叢集部署失敗,因為法律需要在部署期間安裝軟體延伸模組。
  • 金鑰保存庫:認證輪替失敗,因為有檢查可確保在執行認證輪替之前,先 金鑰保存庫 用戶寫入存取權。

您可以隨時更新叢集。 變更LAW設定可能會導致將計量傳送至LAW的短暫中斷,因為可能需要重新安裝使用LAW的延伸模組。

應遵循下列步驟,以搭配 Nexus 叢集和相關聯的資源使用 UAMIS。

  1. 建立 UAMI 或 UAMIS
  2. 建立資源,並將UAMI指派給資源
  3. 建立或更新叢集以使用使用者指派的受控識別和使用者提供的資源

建立 UAMI 或 UAMIS

  1. 為有問題的資源建立UAMI或UMI。 如需建立受控識別的詳細資訊,請參閱 管理使用者指派的受控識別

建立資源,並將UAMI指派給資源

記憶體帳戶設定

  1. 建立記憶體帳戶,或識別您想要使用的現有記憶體帳戶。 請參閱 建立 Azure 記憶體帳戶
  2. 在記憶體帳戶中建立 Blob 記憶體容器。 請參閱 建立容器
  3. Storage Blob Data Contributor 角色指派給使用者和需要存取 run-* 命令輸出的 UAMI。 請參閱指派 Azure 角色以存取 blob 資料
  4. 若要將記憶體帳戶的存取限制為一組選取的IP或虛擬網路,請參閱設定 Azure 儲存體 防火牆和虛擬網路
    1. 執行 run-* 命令之所有使用者的 IP 必須新增至記憶體帳戶的 Virtual Networks 和/或 Firewall 清單。
    2. 確定 Allow Azure services on the trusted services list to access this storage account. 已選取底下 Exceptions

Log Analytics 工作區設定

  1. 建立 Log Analytics 工作區 (LAW),或識別您想要使用的現有 LAW。 請參閱 建立Log Analytics工作區
  2. Log Analytics Contributor 角色指派給Log Analytics工作區的UAMI。 請參閱 管理 Log Analytics 工作區的存取權。

金鑰保存庫 設定

  1. 建立 金鑰保存庫,或識別您想要使用的現有 金鑰保存庫。 請參閱建立 金鑰保存庫
  2. 啟用角色型 存取控制 (RBAC) 的 金鑰保存庫。 請參閱在 金鑰保存庫 上啟用 Azure RBAC 許可權。
  3. Operator Nexus Key Vault Writer Service Role (Preview)角色指派給 金鑰保存庫的UAMI。 請參閱 指派角色
    1. 運算子 Nexus 金鑰保存庫 寫入器服務角色的角色定義識別碼為 44f0a1a8-6fea-4b35-980a-8ff50c487c97。 如果使用 Azure 命令行來執行角色指派,則需要此格式。
  4. 使用UAMI存取 金鑰保存庫時,必須針對 Nexus 平臺布建該身分識別的存取權。 具體而言, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action 必須將許可權新增至 Microsoft Entra 標識碼的使用者 AFOI-NC-MGMT-PME-PROD 指派身分識別。 這是未來將解決之平臺的已知限制。
    1. 開啟 Azure 入口網站,並找出有問題的使用者指派身分識別。
    2. 在 [訪問控制][IAM] 底下,選取 [新增角色指派]。
    3. 選取 [角色:受控識別作員]。 (請參閱角色提供 Managed-identity-operator的許可權。
    4. 指派存取權給: 使用者、群組或服務主體
    5. 選取 成員:AFOI-NC-MGMT-PME-PROD 應用程式。
    6. 檢閱並指派。
  5. 若要將存取 金鑰保存庫 限制為一組選取的IP或虛擬網路,請參閱設定 Azure 金鑰保存庫 防火牆和虛擬網路
    1. 需要存取 金鑰保存庫 之所有使用者的IP必須新增至 金鑰保存庫 和Virtual Networks/或Firewall清單。
    2. Allow trusted Microsoft services to bypass this firewall.確定已選取底下Exceptions

建立或更新 Nexus 叢集以使用使用者指派的受控識別和使用者提供的資源

在叢集上定義 UAMI(S)

使用使用者指派的受控識別建立或更新叢集時,請使用 --mi-user-assigned 參數以及UAMI的資源識別碼。 如果您想要指定多個 UAMI,請列出 UAMI 的資源識別碼,其間有空格。 此清單中必須提供用於 金鑰保存庫、LAW 或記憶體帳戶的每個 UAMI。

建立叢集時,您可以在 中 --mi-user-assigned 指定UAMIS,同時定義資源設定。 更新叢集以變更 UAMI 時,您應該先更新叢集來設定 --mi-user-assigned 值,然後更新叢集以修改資源設定以使用它。

記憶體帳戶設定

數據 --command-output-settings 建構可用來定義寫入執行命令輸出的記憶體帳戶。 包含下列欄位:

  • container-url:所指定身分識別所要使用的記憶體帳戶容器 URL。
  • identity-resource-id:使用者指派的受控識別資源標識符。 與系統指派的身分識別類型互斥。
  • identity-type:正在選取的受控識別類型。 使用 UserAssignedIdentity

Log Analytics 工作區設定

數據 --analytics-output-settings 建構可用來定義傳送計量的 LAW。 包含下列欄位:

  • analytics-workspace-id:所指定身分識別所要使用的分析工作區資源標識符。
  • identity-resource-id:使用者指派的受控識別資源標識符。 與系統指派的身分識別類型互斥
  • identity-type:正在選取的受控識別類型。 使用 UserAssignedIdentity

金鑰保存庫 設定

數據--secret-archive-settings建構可用來定義寫入輪替認證的 金鑰保存庫。 包含下列欄位:

  • identity-resource-id:使用者指派的受控識別資源標識符。
  • identity-type:正在選取的受控識別類型。 使用 UserAssignedIdentity
  • vault-uri:做為秘密封存的密鑰保存庫 URI。

叢集建立命令範例

範例 1:此範例是縮寫的叢集建立命令,它會在記憶體帳戶、法律及 金鑰保存庫 之間使用一個 UAMI。

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \

範例 2: 此範例是使用兩個 UAMIS 的縮寫叢集建立命令。 記憶體帳戶和 LAW 會使用第一個 UAMI,而 金鑰保存庫 則使用第二個 UAMI。

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
    --secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI"

叢集更新範例

更新叢集是兩個步驟的程式。 如果您需要變更資源的 UAMI,您必須先更新叢集以將它--mi-user-assigned包含在欄位中,然後更新記憶體帳戶、法律或 金鑰保存庫 的對應--identity-resource-id

如果有多個使用中的UAM,更新時必須在欄位中指定 --mi-user-assigned 完整的UAM清單。 如果在叢集上使用 SAMI,而且您要新增 UAMI,則必須包含在 --mi-system-assigned 更新命令中。 無法包含現有的受控識別會導致移除它們。

針對 LAW 和 金鑰保存庫,從現有的數據建構轉換成使用受控識別的新建構,可以透過叢集更新來完成。

範例 1: 將 UAMI 新增至叢集。 然後將UAMI指派給秘密封存設定(金鑰保存庫)。 如果此叢集已定義 SAMI,則會移除 SAMI。

叢集更新以新增 UAMI myUAMI

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \

要指派 myUAMI 給秘密封存設定的叢集更新。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --secret-archive-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    vault-uri="https://keyvaultname.vault.azure.net/"

範例 2: 將 UAMI mySecondUAMI 新增至已 myFirstUAMI 保留的叢集。 然後更新叢集以指派 mySecondUAMI 給命令輸出設定 (記憶體帳戶)。

叢集更新以在保留 myFirstUAMI時新增UAMImySecondUAMI

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \

要指派 mySecondUAMI 給命令輸出設定的叢集更新。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"

範例 3: 更新已經有 SAMI 並新增 UAMI 的叢集。 會保留SAMI。 然後將UAMI指派給記錄分析輸出設定 (LAW)。

警告

變更LAW設定可能會導致將計量傳送至LAW的短暫中斷,因為可能需要重新安裝使用LAW的延伸模組。

叢集更新以新增 UAMI mUAMI

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
   --mi-system-assigned

要指派 myUAMI 給記錄分析輸出設定的叢集更新。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI"

檢視使用者指派受控識別的主要標識碼

您可以在身分識別資源上選取 [JSON 檢視] 來找到識別資源標識符;標識元位於出現的面板頂端。 您可以在容器資源的 [設定 -> 屬性] 索引標籤上找到容器 URL。

CLI 也可以用來檢視叢集中的身分識別和相關聯的主體標識符數據。

範例:

az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>

輸出:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/subscriptionID/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
                "principalId": "bbbbbbbb-cccc-dddd-2222-333333333333"
            }
        }
    },

具有系統指派受控識別的作員 Nexus 叢集

使用系統指派的受控識別 (SAMI) 會遵循與 UAM 不同的模式。 雖然使用者提供的資源(記憶體帳戶、法律及 金鑰保存庫)可以在建立叢集之前建立,但 SAMI 在建立叢集之前並不存在。 使用者需要查詢叢集以取得 SAMI、為每個資源指派正確的 SAMI 許可權,然後使用指定系統指派身分識別的資源設定來更新叢集。

針對新的叢集,必須在叢集部署之前完成這些步驟。 針對新的叢集部署時間未設定這些資源的影響如下:

  • 記憶體帳戶: run-* 命令輸出無法寫入記憶體帳戶。
  • LAW: 叢集部署失敗,因為法律需要在部署期間安裝軟體延伸模組。
  • 金鑰保存庫:認證輪替失敗,因為有檢查可確保在執行認證輪替之前,先 金鑰保存庫 用戶寫入存取權。

您可以隨時更新叢集。 變更LAW設定可能會導致將計量傳送至LAW的短暫中斷,因為可能需要重新安裝使用LAW的延伸模組。

應遵循下列步驟,以搭配 Nexus 叢集和相關聯的資源使用 UAMIS。

  1. 使用 SAMI 建立或更新叢集
  2. 查詢叢集以取得SAMI
  3. 建立資源,並將SAMI指派給資源
  4. 使用使用者提供的資源資訊更新叢集
  5. 部署叢集 (如果新增)

使用 SAMI 建立或更新叢集

使用系統指派的受控識別建立或更新叢集時,請使用 --mi-system-assigned 參數。 叢集建立或更新程式會產生 SAMI 資訊。

範例 1: 此範例是指定 SAMI 的縮寫叢集 create 命令。

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-system-assigned

範例 2: 此範例會更新叢集以新增 SAMI。 系統會移除叢集上定義的任何UAM。

az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
    --mi-system-assigned

範例 3:此範例會更新叢集以新增 SAMI,並保留現有的 UAMI。 myUAMI

az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --mi-system-assigned

查詢叢集以取得SAMI

您可以在 Azure 入口網站 的身分識別資源上選取 [JSON 檢視] 來找到身分識別資源識別碼。

CLI 也可以用來檢視叢集中的身分識別和相關聯的主體標識符數據。

請注意, principalId 授與資源存取權時所使用的身分識別。

範例:

az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>

系統指派的身分識別範例:

    "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
    },

建立資源,並將SAMI指派給資源

記憶體帳戶設定

  1. 建立記憶體帳戶,或識別您想要使用的現有記憶體帳戶。 請參閱 建立 Azure 記憶體帳戶
  2. 在記憶體帳戶中建立 Blob 記憶體容器。 請參閱 建立容器
  3. Storage Blob Data Contributor 角色指派給使用者和需要存取 run-* 命令輸出的 SAMI。 請參閱指派 Azure 角色以存取 blob 資料
    1. 若要將記憶體帳戶的存取限制為一組選取的IP或虛擬網路,請參閱設定 Azure 儲存體 防火牆和虛擬網路
    2. 執行 run-* 命令之所有使用者的 IP 必須新增至記憶體帳戶的 Virtual Networks 和/或 Firewall 清單。
    3. 確定 Allow Azure services on the trusted services list to access this storage account. 已選取底下 Exceptions

Log Analytics 工作區設定

  1. 建立 Log Analytics 工作區 (LAW),或識別您想要使用的現有 LAW。 請參閱 建立Log Analytics工作區
  2. Log Analytics Contributor 角色指派給記錄分析工作區的 SAMI。 請參閱 管理 Log Analytics 工作區的存取權。

金鑰保存庫 設定

  1. 建立 金鑰保存庫,或識別您想要使用的現有 金鑰保存庫。 請參閱建立 金鑰保存庫
  2. 啟用角色型 存取控制 (RBAC) 的 金鑰保存庫。 請參閱在 金鑰保存庫 上啟用 Azure RBAC 許可權。
  3. Operator Nexus Key Vault Writer Service Role (Preview)角色指派給 金鑰保存庫的 SAMI。 請參閱 指派角色
    1. 作員 Nexus 金鑰保存庫 寫入器服務角色的角色定義識別碼為 44f0a1a8-6fea-4b35-980a-8ff50c487c97。 如果使用 Azure 命令行來執行角色指派,則需要此格式。
  4. 若要將存取 金鑰保存庫 限制為一組選取的IP或虛擬網路,請參閱設定 Azure 金鑰保存庫 防火牆和虛擬網路
    1. 需要存取 金鑰保存庫 之所有使用者的IP必須新增至 金鑰保存庫 和Virtual Networks/或Firewall清單。
    2. Allow trusted Microsoft services to bypass this firewall.確定已選取底下Exceptions

使用使用者提供的資源資訊更新叢集

記憶體帳戶設定

數據 --command-output-settings 建構可用來定義寫入執行命令輸出的記憶體帳戶。 包含下列欄位:

  • container-url:所指定身分識別所要使用的記憶體帳戶容器 URL。
  • identity-resource-id:使用 SAMI 時不需要
  • identity-type:正在選取的受控識別類型。 使用 SystemAssignedIdentity

Log Analytics 工作區設定

數據 --analytics-output-settings 建構可用來定義傳送計量的 LAW。 包含下列欄位:

  • analytics-workspace-id:所指定身分識別所要使用的分析工作區資源標識符。
  • identity-resource-id:使用 SAMI 時不需要
  • identity-type:正在選取的受控識別類型。 使用 SystemAssignedIdentity

金鑰保存庫 設定

數據--secret-archive-settings建構可用來定義寫入輪替認證的 金鑰保存庫。 包含下列欄位:

  • identity-resource-id:使用 SAMI 時不需要
  • identity-type:正在選取的受控識別類型。 使用 SystemAssignedIdentity
  • vault-uri:做為秘密封存的密鑰保存庫 URI。

叢集更新範例

更新叢集會遵循與建立相同的模式。 如果您需要變更資源的 UAMI,您必須在 欄位和對應--identity-resource-id記憶體--mi-user-assigned帳戶、LAW 或 金鑰保存庫 中包含它。 如果有多個使用中的UAM,更新時必須在欄位中指定 --mi-user-assigned 完整的UAM清單。

針對 LAW 和 金鑰保存庫,從現有的數據建構轉換成使用 UAMI 的新建構,可以透過叢集更新來完成。

重要

使用 UAMI 或 UAMIS 更新叢集時,您必須在新增 SAMI 或更新時,在 --mi-user-assigned 身分識別清單中包含現有的 UAM。 如果在叢集上使用 SAMI,而且您要新增 UAMI,則必須包含在 --mi-system-assigned 更新命令中。 無法這麼做會導致移除個別的受控識別。

範例 1: 新增或更新叢集的命令輸出設定(記憶體帳戶)。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="SystemAssignedIdentity" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"

範例 2: 新增或更新叢集的記錄分析輸出設定 (LAW)。

警告

變更LAW設定可能會導致將計量傳送至LAW的短暫中斷,因為可能需要重新安裝使用LAW的延伸模組。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="SystemAssignedIdentity" \

範例 3:新增或更新叢集的秘密封存設定(金鑰保存庫)。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --secret-archive-settings identity-type="SystemAssignedIdentity" \
    vault-uri="https://keyvaultname.vault.azure.net/"

範例 4: 此範例會將使用 SAMI 的所有三個資源合併成一個更新。

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="SystemAssignedIdentity" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="SystemAssignedIdentity" \
    --secret-archive-settings identity-type="SystemAssignedIdentity" \
    vault-uri="https://keyvaultname.vault.azure.net/"

透過 API 更新叢集身分識別

叢集受控識別可透過 CLI 指派。 您可以透過 API 呼叫來取消指派身分識別。 請注意, <APIVersion> 是 API 版本 2024-07-01 或更新版本。

  • 若要移除所有受控識別,請執行:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
    
  • 如果已新增使用者指派和系統指派的受控識別,則可以藉由將 更新 typeSystemAssigned來移除使用者指派:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) 範例:

    {
    "identity": {
          "type": "SystemAssigned"
    }
    }
    
  • 如果已新增使用者指派和系統指派的受控識別,則可以藉由將 更新 typeUserAssigned來移除系統指派:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) 範例:

    {
    "identity": {
          "type": "UserAssigned",
      "userAssignedIdentities": {
      	"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {}
      }
    }
    }
    
  • 如果已新增多個使用者指派的受控識別,則可以執行下列其中一項來移除:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    要求本文 (uai-body.json) 範例:

    {
    "identity": {
          "type": "UserAssigned",
      "userAssignedIdentities": {
      	"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null
      }
    }
    }