组织账户¶
组织账户 是一种特殊账户,组织管理员使用该账户执行对整个组织都会产生影响的任务。例如,管理员使用组织账户执行以下操作:
查看从组织内部所有账户收集的组织级数据,包括每个账户的查询历史记录。
为整个组织启用 Snowflake Marketplace 条款。
管理组织中账户的生命周期,包括创建和删除账户。
为账户启用复制。
在阅读此预览版之前,管理员需要使用已启用 ORGADMIN 角色 的账户来执行这些组织级任务。这些 已启用 ORGADMIN 角色的账户 与组织账户不同。在传统方法中,一个组织可能有多个已启用 ORGADMIN 角色的账户,而现在组织只有一个组织账户。
在组织账户预览期间,组织管理员仍可以使用已启用 ORGADMIN 角色的 账户来管理账户的生命周期(例如创建和删除账户)。组织账户普遍可用后,将经历一段过渡期,此后管理员将使用组织账户执行所有组织级任务。
备注
虽然在大多数情况下,组织账户中可以执行的操作没有任何限制,但它主要用于执行组织级任务,而非分析或其他工作负载。
关于管理员角色和可分配的权限¶
组织管理员在组织账户中使用 GLOBALORGADMIN 角色来执行所有组织级任务,包括管理组织账户本身。此外,GLOBALORGADMIN 角色拥有 ORGADMIN 角色的所有权限,以及普通账户中 ACCOUNTADMIN 角色的相关权限。
同时,GLOBALORGADMIN 角色可以将权限分配给其他角色,让其他用户执行组织级任务。在组织账户中,GLOBALORGADMIN 角色可以分配以下权限:
APPLY TAG
MANAGE ACCOUNTS
MANAGE LISTING AUTO FULFILLMENT
MANAGE ORGANIZATION CONTACTS
MANAGE ORGANIZATION TERMS
PURCHASE DATA EXCHANGE LISTING
这些权限均是在账户级别设置的。例如,要向 custom_role
角色分配 MANAGE ACCOUNTS 权限,执行以下操作:
USE ROLE GLOBALORGADMIN;
GRANT MANAGE ACCOUNTS ON ACCOUNT TO custom_role;
有关这些权限的更多信息,请参阅 访问控制权限。
创建组织账户¶
备注
创建组织账户会导致向 ORGANIZATION_USAGE 架构填充数据,这会为您的组织 产生额外费用。
要创建组织账户,请执行以下操作:
选择一个现有账户,从中创建组织账户。该现有账户的 ORGADMIN 角色已启用。
登录您用于创建组织账户的账户。
切换到 ORGADMIN 角色。例如:
USE ROLE ORGADMIN;
执行 CREATE ORGANIZATION ACCOUNT 命令。例如:
CREATE ORGANIZATION ACCOUNT myorgaccount ADMIN_NAME = admin ADMIN_PASSWORD = 'TestPassword1' EMAIL = 'myemail@myorg.org' MUST_CHANGE_PASSWORD = true EDITION = enterprise;
备注
Snowflake 不支持组织账户使用自定义账户定位器。如需替代方案,请联系您的 Snowflake 代表。
删除组织账户¶
如果需要删除组织账户,请联系 Snowflake 支持部门。
将组织账户移至其他区域¶
只要区域位于 PUBLIC 区域组或 VPS 区域组,您就可以在区域之间移动组织账户。
Snowflake 使用复制组将对象从源区域的组织账户移动到新区域的组织账户。因此,只有可以复制的对象才能随组织账户一起移动。有关可以随组织账户一起移动的对象列表,请参阅 复制对象。
将组织账户移至其他区域,需执行以下两个步骤:
调用组织账户中的 SYSTEM$INITIATE_MOVE_ORGANIZATION_ACCOUNT 函数来启动移动过程。Snowflake 开始将对象复制到新区域。
该函数接受临时账户名称、新区域和要移动的对象列表作为其实参。例如:
CALL SYSTEM$INITIATE_MOVE_ORGANIZATION_ACCOUNT( 'MY_TEMP_NAME', 'aws_us_west_2', 'ALL');
如果已经确认组织账户中的数据已成功复制到新区域,请调用 SYSTEM$COMMIT_MOVE_ORGANIZATION_ACCOUNT 函数来完成移动,并指定一个宽限期,在此宽限期之后将删除原始组织账户。
例如,调用以下函数完成移动,并指定源区域中原始组织账户将在 14 天后被删除。
CALL SYSTEM$COMMIT_MOVE_ORGANIZATION_ACCOUNT(14);
您可以随时通过调用 SYSTEM$SHOW_MOVE_ORGANIZATION_ACCOUNT_STATUS 函数来查看尝试移动组织账户的状态。
备注
当移动组织账户时,必须用数据重新填充 ORGANIZATION_USAGE 架构,这个过程可能需要长达一周的时间。
ORGANIZATION_USAGE 架构中的视图¶
与普通账户一样,组织账户在共享 SNOWFLAKE 数据库中也有 ORGANIZATION_USAGE 架构,其中包含使用量数据。
ORGANIZATION_USAGE 架构中的大部分视图与 ACCOUNT_USAGE 架构中的一个视图相对应。例如,两个架构中的 ALERT_HISTORY 视图都包含有关警报的数据。ORGANIZATION_USAGE 架构中的视图合并了每个账户相应账户级视图的数据,让您可以通过一个视图查询所有账户的使用量数据。
组织账户中的 ORGANIZATION_USAGE 架构包含的视图比常规账户中的 ORGANIZATION_USAGE 架构多,可让您深入了解不同账户的总体账户使用情况。例如,使用组织账户可以通过单个视图来跟踪整个组织的访问历史记录,而常规账户则无法执行此操作。这些其他视图被视为高级视图,会 产生额外费用。
备注
从创建组织账户到向 ORGANIZATION_USAGE 架构完全填充来自账户的历史数据,可能需要两周时间。
授予对组织使用情况视图的访问权限¶
默认情况下,只有被授予 GLOBALORGADMIN 角色权限的用户可以访问组织账户 ORGANIZATION_USAGE 架构中的视图。要授予其他用户访问权限,组织管理员可以向账户角色或用户授予适当的应用程序角色。在组织账户中,使用应用程序角色而非数据库角色授予访问视图的权限。
已获得 ORG_USAGE_ADMIN 应用程序角色授权的用户可以访问组织账户 ORGANIZATION_USAGE 架构中的视图。以下示例中,向用户 joe
授予了权限,使其能够访问架构中的所有视图:
USE ROLE GLOBALORGADMIN;
GRANT APPLICATION ROLE ORG_USAGE_ADMIN TO ROLE custom_role;
GRANT ROLE custom_role TO USER joe;
组织管理员还可以从更精细的角度来授予访问权限。例如,ORGANIZATION_OBJECT_VIEWER 应用程序角色授予对 DATABASES 视图的访问权限,但不授予对 TASK_HISTORY 视图的访问权限。有关访问特定视图所需的应用程序角色列表,请参阅 ORGANIZATION_USAGE 视图。
与 ORGANIZATION_USAGE 架构相关的费用¶
组织账户 ORGANIZATION_USAGE 架构中的高级视图(即常规账户中不存在的视图)会产生以下费用:
填充视图所需的无服务器任务的计算成本。
在视图中存储数据相关的存储成本。
备注
如果您想通过从 ORGANIZATION_USAGE 架构中删除数据来避免这些费用,请联系 Snowflake 支持部门。
您可以使用以下查询返回与组织账户中 ORGANIZATION_USAGE 架构相关的历史成本。
- 计算成本
如果您有权访问 ORGANIZATION_USAGE 架构中的 USAGE_IN_CURRENCY_DAILY 视图,您可以执行以下查询来确定填充视图的成本。您必须在组织账户中执行查询。
SELECT * FROM snowflake.organization_usage.usage_in_currency_daily WHERE usage_type = 'organization usage';
- 存储成本
如果您有权访问 ACCOUNT_USAGE 架构中的 TABLE_STORAGE_METRICS 视图,您可以执行以下查询来确定 TBs 中存储的大约数量。您必须在组织账户中执行查询。
SELECT SUM(active_bytes + time_travel_bytes + failsafe_bytes + retained_for_clone_bytes) / pow(1000, 4) AS org_usage_approx_storage_tb FROM snowflake.account_usage.table_storage_metrics WHERE 1=1 AND table_schema = 'ORGANIZATION_USAGE_LOCAL';
对 ACCOUNT_USAGE 架构中视图的影响¶
Snowflake 使用隐藏架构 snowflake.organization_usage_local
存储与 ORGANIZATION_USAGE 架构一起使用的内部对象(例如,表、过程和任务)。这些对象可能在组织账户的 ACCOUNT_USAGE 视图中可见。由于这些对象为内部对象,因此它们将来可能会发生变化,恕不另行通知。
账户级视图和组织级视图之间的差异¶
ORGANIZATION_USAGE 架构中的新视图与 ACCOUNT_USAGE 架构中相对应的视图有如下区别:
添加了一些列。
视图的延迟。
是否从视图中删除了旧数据。
新列¶
ORGANIZATION_USAGE 视图中的大多数列与对应的 ACCOUNT_USAGE 视图中的列相同。以下列已添加到组织级视图:
列 |
数据类型 |
描述 |
视图 |
---|---|---|---|
ORGANIZATION_NAME |
VARCHAR |
组织的名称。 |
全部 |
ACCOUNT_NAME |
VARCHAR |
用户定义的账户标识符。 |
全部 |
ACCOUNT_LOCATOR |
VARCHAR |
系统定义的账户标识符。 |
全部 |
PROVIDER_BASE_ACCESSED_OBJECTS |
ARRAY |
指定消费者查询访问的提供商账户中的基础数据对象。 |
ACCESS_HISTORY |
PROVIDER_POLICIES_REFERENCED |
ARRAY |
如果消费者查询访问了受提供商账户中策略(例如,掩码策略)保护的基础对象,则该列会列出该策略。 |
ACCESS_HISTORY |
有关 PROVIDER_BASE_ACCESSED_OBJECTS 和 PROVIDER_POLICIES_REFERENCED 列的更多信息,请参阅 组织列表治理。
延迟¶
ORGANIZATION_USAGE 架构中的视图更新可能需要长达 24 小时。这可能与 ACCOUNT_USAGE 架构中相应视图的延迟情况不同。
旧数据¶
与账户级视图不同,组织级视图会继续添加新数据且不会替换旧数据。例如,ACCOUNT_USAGE.ALERT_HISTORY 视图永远不会包含超过 365 天的数据,而 ORGANIZATION_USAGE.ALERT_HISTORY 持续添加数据且不删除旧数据,因此可以包含超过 365 天的数据。
ORGANIZATION_USAGE 视图¶
组织账户中的 ORGANIZATION_USAGE 架构包含以下视图。
授予用户所需的应用程序角色,使其能够访问视图。有关授予这些应用程序角色的更多信息,请参阅 授予对组织使用情况视图的访问权限。
视图 |
描述 |
所需应用程序角色 |
---|---|---|
显示组织中查询的访问历史记录。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
显示组织中的账户。 |
ORGANIZATION_ACCOUNTS_VIEWER |
|
显示警报使用情况的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示自动聚类的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中的每个类别显示一行。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中所定义类的每个实例显示一行。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中所定义表的每一列显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示已完成的图形运行的状态,例如成功执行、失败或取消的运行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织的合同信息。 |
ORGANIZATION_BILLING_VIEWER |
|
显示 COPY INTO <table> 语句和使用 Snowpipe 进行连续数据加载的加载活动。 |
ORGANIZATION_USAGE_VIEWER |
|
显示数据库的平均每日存储使用量(以字节为单位)。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中定义的每个数据库显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示从 Snowflake 表传输到不同云存储提供商的网络和/或地理区域的每日数据总量。 |
ORGANIZATION_USAGE_VIEWER |
|
显示从 Snowflake 表传输到不同云存储提供商的网络和/或地理区域的数据的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中定义的每种文件格式显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
为组织中定义的每个用户定义的函数 (UDF) 显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示已授予角色的访问控制权限。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示已授予用户的角色。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示有助于确定 Cross-Cloud Auto-Fulfillment 相关成本的估算。 |
ORGANIZATION_BILLING_VIEWER |
|
显示使用 COPYINTO<table> 命令将数据加载到表中的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示等待锁定的事务的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示 Snowflake 用户的登录尝试。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示您从 Snowflake Marketplace 付费列表所获收入的历史记录。 |
ORGANIZATION_BILLING_VIEWER |
|
显示您使用 Snowflake Marketplace 付费列表的每日历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
MARKETPLACE_PURCHASE_EVENTS 视图 |
ORGANIZATION_BILLING_VIEWER |
|
显示组织的掩码策略。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
显示物化视图的刷新历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示组织在某一天的 Credit 使用量。 |
ORGANIZATION_USAGE_VIEWER |
|
显示 Snowflake Marketplace 中每个列表的每日消费者使用历史记录,包括使用累积的费用。 |
ORGANIZATION_USAGE_VIEWER |
|
为每个对象依赖性显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中用户定义的密码策略。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示使用 Snowpipe 加载到 Snowflake 表中的数据的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中定义的每个管道显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中的策略对象及其引用。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
为组织中定义的每个存储过程显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示符合 Query Acceleration Service 条件的查询。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
显示 Query Acceleration Service 加速的查询历史记录。 |
|
|
显示 Snowflake 查询历史的各个维度(时间范围、会话、用户、仓库等)。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
显示根据组织中所有 Snowflake 账户使用的 Credit 用于计算组织货币使用量的有效费率。 |
ORGANIZATION_BILLING_VIEWER |
|
为组织中定义的每个参照完整性约束条件显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织的每日剩余余额和每日按需消耗。 |
ORGANIZATION_BILLING_VIEWER |
|
显示指定复制或故障转移组的刷新历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示指定复制或故障转移组的复制历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示指定数据库的复制历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示已在账户管理的阅读者账户中创建的资源监视器。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中定义的所有访问控制角色的列表。 |
ORGANIZATION_SECURITY_VIEWER |
|
为组织中定义的每个行访问策略显示一行。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
为账户中的每个架构显示一行,ACCOUNT_USAGE、READER_ACCOUNT_USAGE 和 INFORMATION_SCHEMA 架构除外。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示使用搜索优化服务的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中定义的每个序列显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中的会话策略。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示有关会话的信息,包括有关 Snowflake 的身份验证方法和 Snowflake 登录事件的信息。 |
ORGANIZATION_SECURITY_VIEWER |
|
显示使用 Snowpipe Streaming 将数据加载到 Snowflake 表所花费的时间。 |
ORGANIZATION_USAGE_VIEWER |
|
显示组织中所有 Snowflake 内部暂存区的平均每日数据存储使用量(以字节为单位)。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中定义的每个暂存区显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中所有账户的平均每日存储使用量(以字节为单位)。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中的表定义的每个参照完整性约束显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示表级存储利用率信息,用于计算组织中每个表的存储账单,包括已删除但仍会产生存储成本的表。 |
ORGANIZATION_USAGE_VIEWER |
|
为组织中的每个表和视图显示一行。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示对象和标签之间的关联。 |
ORGANIZATION_GOVERNANCE_VIEWER |
|
显示组织中的标签。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示任务使用的历史记录。 |
ORGANIZATION_USAGE_VIEWER |
|
显示任务版本的历史记录。返回的行指示在给定时间组成任务图的任务及其属性。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织每日的 Credit 使用量和货币使用量。 |
ORGANIZATION_BILLING_VIEWER |
|
显示组织内所有用户的列表。 |
ORGANIZATION_SECURITY_VIEWER |
|
为组织中每个视图显示一行,不包括 ACCOUNT_USAGE、READER_ACCOUNT_USAGE 和 INFORMATION_SCHEMA 架构中的视图。 |
ORGANIZATION_OBJECT_VIEWER |
|
显示组织中单集群和多集群仓库已触发的事件。 |
ORGANIZATION_USAGE_VIEWER |
|
显示仓库的工作负载。 |
ORGANIZATION_USAGE_VIEWER |
|
显示组织内所有账户中一个或多个仓库的每小时 Credit 使用量。 |
ORGANIZATION_USAGE_VIEWER |
[1] 对于组织账户中 ACCESS_HISTORY 视图和 ACCOUNT_USAGE 架构中 ACCESS_HISTORY 视图的差异,请参阅 组织列表治理。