适用于:✅Azure 数据资源管理器
ManagedIdentity 是一种策略,用于控制哪些托管标识可用于哪些用途。 例如,可以配置一个策略,用于允许将特定托管标识用于访问存储帐户,以实现引入目的。
可以在群集和数据库级别启用此策略。 此策略是累加性的,这意味着对于涉及托管标识的每个操作,如果在群集或数据库级别允许使用,则允许此操作。
权限
创建或更改托管标识策略需要 AllDatabasesAdmin 权限。
ManagedIdentity 策略对象
与一个群集或数据库关联的 ManagedIdentity 策略对象可以有零个或多个。 每个 ManagedIdentity 策略对象都具有以下用户可定义的属性:DisplayName 和 AllowedUsages。 其他属性将自动根据与指定 ObjectId 关联的托管标识填充,并会显示出来以提供方便。
下表说明了 ManagedIdentity 策略对象的属性:
| 属性 | 类型 | 必需 | 说明 | 
|---|---|---|---|
| 对象标识符 (ObjectId) | string | ✔️ | 托管标识的实际对象 ID 或保留关键字 system(用于引用运行命令的群集的系统托管标识)。 | 
| ClientId | string | 不适用 | 托管标识的客户端 ID。 | 
| 租户ID | string | 不适用 | 托管标识的租户 ID。 | 
| 显示名称 | string | 不适用 | 托管标识的显示名称。 | 
| IsSystem | bool | 不适用 | 布尔值,如果标识是系统管理的标识,则此值为 true,否则此值为 false。 | 
| 允许的用法 | string | ✔️ | 以逗号分隔的托管标识的允许用法值列表。 请参阅托管标识用法。 | 
下面是 ManagedIdentity 策略对象的一个示例:
{
  "ObjectId": "<objectID>",
  "ClientId": "<clientID>",
  "TenantId": "<tenantID",
  "DisplayName": "myManagedIdentity",
  "IsSystem": false,
  "AllowedUsages": "NativeIngestion, ExternalTable"
}
托管标识用法
以下值使用配置的托管标识指定向 usage 进行的身份验证:
| 价值 | 说明 | 
|---|---|
| All | 允许所有当前的和未来的用法。 | 
| AutomatedFlows | 代表托管标识运行连续导出或更新策略自动流。 | 
| AzureAI | 使用具有托管身份的 ai_embeddings 插件 对 Azure OpenAI 服务进行身份验证。 | 
| DataConnection | 向事件中心或事件网格的数据连接进行身份验证。 | 
| ExternalTable | 向使用配置了托管标识的连接字符串的外部表进行身份验证。 | 
| NativeIngestion | 向 SDK 进行身份验证,以便从外部源进行原生引入。 | 
| SandboxArtifacts | 使用托管标识对沙盒插件中引用的外部项目(例如 Python)进行身份验证。 需要在群集级别托管标识策略上定义此用法。 | 
| SqlRequest | 使用 sql_request 或 cosmosdb_request 插件以及托管标识向外部数据库进行身份验证。 |