使用受控識別來執行更新原則
適用於: ✅Azure 數據總管
更新原則必須在 下列案例中使用受控識別 進行設定:
- 當更新原則查詢參考其他資料庫中的數據表時
- 當更新原則查詢參考具有已啟用數據列層級安全策略的 數據表時
使用受控識別設定的更新原則會代表受控識別執行。
在本文中,您將瞭解如何設定系統指派或使用者指派的受控識別,並使用該身分識別建立更新原則。
必要條件
- 叢集和資料庫 建立叢集和資料庫。
- 資料庫的 AllDatabasesAdmin 許可權。
設定受控識別
受控識別有兩種:
系統指派:系統指派的身分識別會連線到您的叢集,並在移除叢集時移除。 每個叢集只允許一個系統指派的身分識別。
使用者指派:使用者指派的受控識別是獨立的 Azure 資源。 您可以將多個使用者指派的身分識別指派給您的叢集。
選取下列其中一個索引標籤,以設定您慣用的受控識別類型。
請依照步驟新增 使用者指派的身分識別。
在 Azure 入口網站 中,於受控識別資源的左側功能表中,選取 [屬性]。 複製並儲存租 使用者標識碼 和 主體標識碼 ,以供下列步驟使用。
執行下列 .alter-merge 原則 managed_identity 命令,並將
<objectId>
取代為上一個步驟中的受控識別 主體標識符 。 此命令會在叢集上設定 受控識別原則 ,讓受控識別與更新原則搭配使用。.alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "AutomatedFlows" } ]```
注意
若在特定資料庫上設定原則,請使用
database <DatabaseName>
而非cluster
。執行下列命令,授與更新原則查詢所參考之所有資料庫的受控識別 資料庫查看器 許可權。
.add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
將 取代
<DatabaseName>
為相關的資料庫、<objectId>
步驟 2 中的受控識別 主體標識碼 ,以及<tenantId>
步驟 2 中的 Microsoft Entra ID 租使用者識別碼 。
建立更新原則
選取下列其中一個索引標籤,以建立代表使用者指派或系統指派的受控識別執行的更新原則。
執行 .alter table policy update 命令, ManagedIdentity
並將 屬性設定為受控識別物件標識符。
例如,下列命令會改變資料庫中MyDatabase
數據表MyTable
的更新原則。 請務必注意, Source
和 Query
參數應該只參考定義更新原則之相同資料庫中的物件。 不過,參數中所 Query
指定函式中包含的程式代碼可以與其他資料庫中的數據表互動。 例如,函 MyUpdatePolicyFunction()
式可以代表使用者指派的受控識別存取 OtherTable
OtherDatabase
。 <objectId>
應該是受控識別物件標識碼。
.alter table MyDatabase.MyTable policy update
```
[
{
"IsEnabled": true,
"Source": "MyTable",
"Query": "MyUpdatePolicyFunction()",
"IsTransactional": false,
"PropagateIngestionProperties": false,
"ManagedIdentity": "<objectId>"
}
]
```