SCIM 组 API 参考¶
您可以使用 SCIM 组 API 访问、创建和修改角色。
Snowflake 使用 SCIM 从 Okta、Azure AD 和自定义应用程序导入角色。这些身份提供商中的角色与 Snowflake 角色一对一映射。
角色(有时称为组)是访问权限的集合。要访问 Snowflake 中的安全对象,必须为角色分配权限,并将角色分配给其他角色或用户。
授予角色的访问权限和权利将由角色的每个成员(例如用户)自动继承。有关更多信息,请参阅 访问控制概述。
用户对 Snowflake 的访问要求可能会发生变化。例如,用户可以从个人贡献者转变为组织中的经理,这可能需要更改他们在 Snowflake 中的角色,或者他们可能需要访问仅供经理使用的数据集。
随着用户在身份提供商中的角色发生变化,一旦他们的组织角色映射到相应的 Snowflake 角色,他们对 Snowflake 的访问权限就会自动更改。
HTTP 标头¶
Snowflake SCIM API 使用持有者令牌进行 HTTP 身份验证。
向 Snowflake SCIM API 发出的每个 HTTP 请求都支持以下 HTTP 标头:
标头 |
值 |
---|---|
:code:`Authorization`(必填) |
|
|
|
|
|
|
|
组属性¶
您可以在 API 请求正文中以 JSON 格式的键值对形式指定组(即角色)属性。这些键值对包含有关组的信息,例如组的显示名称。身份提供商可以为每个属性指定自己的键名。
Snowflake 支持角色生命周期管理的以下 SCIM 属性。除非另有说明,否则属性可写。
SCIM 组属性 |
Snowflake 组属性 |
类型 |
描述 |
---|---|---|---|
|
|
字符串 |
Snowflake 中角色的不可变唯一标识符 (GUID)。 Snowflake 不返回此值。 您可以通过调用 Information Schema 表函数 REST_EVENT_HISTORY 来查找此值。检查 IdP 日志以确保值匹配。 |
|
|
字符串 |
引用组时,用户界面中显示的文本。 |
|
不适用 |
字符串 |
作为角色成员的用户的 |
|
不适用 |
字符串 |
表示命名空间 URIs 的字符串数组。例如 |
按 displayName 获取有关组的详细信息¶
- 方法和端点:
GET /scim/v2/Groups?filter=displayName eq "{{group_name}}"
- 描述:
返回与
displayName
查询参数关联的组的详细信息。如果 HTTP 请求已成功完成,返回 HTTP 响应状态码
200
。
按 groupId 获取有关组的详细信息¶
- 方法和端点:
GET /scim/v2/Groups/{{group_id}}
- 描述:
返回与
group_id
路径参数关联的组的详细信息。如果 HTTP 请求已成功完成,返回 HTTP 响应状态码
200
。
创建组¶
- 方法和端点:
POST /scim/v2/Groups
- 描述:
在 Snowflake 中创建一个新组。
如果 HTTP 请求已成功完成,返回 HTTP 响应状态码
201
。- 示例:
使用
displayName
scim_test_group2
创建组:{ "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "displayName":"scim_test_group2" }
更新组¶
- 方法和端点:
PATCH /scim/v2/Groups/{{group_id}}
- 描述:
更新与
group_id
路径参数关联的组的显示名称属性或组成员身份。您必须将
op
设置为add
或replace
,以执行此 HTTP 请求。如果 HTTP 请求已成功完成,返回 HTTP 响应状态码
200
。如果不成功,则返回 HTTP 响应代码
204
。- 示例:
更新组
displayName
,移除成员并添加成员:{ "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "replace", "value": { "displayName": "updated_name" } }, { "op" : "remove", "path": "members[value eq \"user_id_1\"]" }, { "op": "add", "value": [{ "value": "user_id_2" }] }] }
删除组¶
- 方法和端点:
DELETE /scim/v2/Groups/{{group_id}}
- 描述:
删除与
group_id
路径参数关联的组。