Okta Snowflake 角色创建

Okta Snowflake Role creation

我是这个 okta 雪花的新手。我正在使用 scim。集成后,我试图在 okta 中创建角色,或者至少将角色分配给从 okta 到雪花的用户。在文档中,它是通过推送组提到的。不确定如何在 okta 中创建角色。当我在 okta 中分配用户时,它在 Snowflake 中担任默认角色 public。我在 Snowflake 中以 okta provisioner 作为所有者创建了一个手动角色。当我在 okta 中为用户分配该自定义角色时,默认情况下它再次担任 public 角色。关于这里的角色,我有什么遗漏吗?谢谢。

您想从 Okta 创建 role/group 以便 Okta 可以管理它。不要在 Snowflake 中手动创建角色。即使您将所有者更改为 okta_provisioner,它仍可能会出现问题,因为更新是从 Okta 到 Snowflake 的单向更新。

下面是一些您可以测试的通用步骤:

  1. 在 Okta 中创建一个在 Snowflake 中不存在的全新组
  2. 在 Okta 中创建一个 Snowflake 中不存在的全新用户
  3. 将该用户添加到群组
  4. 在 Snowflake 的 SCIM 应用程序中,转到“分配”选项卡 > 单击“分配”按钮 >“分配到组”
  5. 将您的组分配给应用程序,可以选择为其指定默认值 role/warehouse,并确认它显示在列表中
  6. 在“推送组”选项卡下,将您的组推送到 Snowflake。您只需 一次 作为初始组创建。将它再次推送到 Snowflake 将导致它出错,因为它已经存在。

此时,Okta 将发送请求以在该组中创建用户,并在 Snowflake 端另外创建角色。该组中的所有用户都被授予该角色,您可以在 UI 中看到该角色,或者使用类似“向用户显示授权 user_name;” 的命令。你的用户也应该有你给组的任何默认值 role/warehouse。

然后您可以稍后根据需要将用户添加到组中,Okta 将自动在角色下的 Snowflake 端类似地创建这些用户。

我建议在测试时始终从 Okta 创建组和用户。同样,请求是从 Okta 到 Snowflake 的单向请求。理想情况下,您首先使用 Okta SCIM 来完成大部分 user/role 管理,因此这是有道理的。

我们建议您在 Snowflake 内部拥有访问角色,在 Snowflake 外部(例如使用 Okta 和 SCIM)定义组,这些角色将成为 Snowflake 中的功能角色——不用担心我使用的前缀custom role 是自定义角色 (Access / Functional) 的前缀只是角色的逻辑分组。

一旦在 Okta 中定义并推送到 Snowflake,这些组应该在 Snowflake 中显示为自定义角色,但他们将无权访问任何内容。在 Snowflake 中,您必须授予他们访问角色。

Snowflake 中的访问角色(同样它只是一个自定义角色)是包含对 Snowflake 对象的特权的角色,在 Snowflake 中,您必须 link 功能角色才能访问角色。完成后,分配相同组(功能角色)的所有新用户将不会在 Snowflake 平台中进行进一步管理。

您也可以创建用户并为其分配默认角色,这在文档中突出显示:https://docs.snowflake.com/en/user-guide/scim-intro.html#custom-attributes