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