- 类别:
系统函数 (系统控制)
SYSTEM$GET_PRIVATELINK¶
验证当前账户是否获得了 Snowflake 服务的专用连接授权。
- 返回:
布尔
TRUE
:当前 Snowflake 账户已获授权(即已启用),可以使用 Snowflake 服务的专用连接。FALSE
:当前 Snowflake 账户未经授权(即已禁用),无法使用 Snowflake 服务的专用连接。
- 另请参阅:
SYSTEM$AUTHORIZE_PRIVATELINK、SYSTEM$REVOKE_PRIVATELINK、SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS
语法¶
AWS:
SYSTEM$GET_PRIVATELINK( '<aws_id>' , '<federated_token>' )
Azure:
SYSTEM$GET_PRIVATELINK( '<private-endpoint-resource-id>' , '<federated_token>' )
实参¶
'aws_id'
用于唯一标识您的 Amazon Web Services (AWS) 账户的 12 位标识符(字符串)。
'private-endpoint-resource-id'
将 Microsoft Azure (Azure) 中的专用端点唯一标识为字符串的标识符
'federated_token'
以字符串形式包含联合用户的访问凭据的联合令牌值。
要获得此值,请对托管 Snowflake 账户的云平台执行相应的命令。使用平台提供的命令行工具:
对于基于 AWS 的 Snowflake:
aws sts get-federation-token --name sam
对于基于 Azure 的 Snowflake:
az account get-access-token --subscription <SubscriptionID>
其中:
SubscriptionID
订阅的唯一标识符。例如:
13c...
要获得此值,请在命令行环境中执行以下 Azure CLI 命令:
az account list --output table
请注意
SubscriptionID
列中的输出值,该值在本示例中被截断:Name CloudName SubscriptionId State IsDefault ------- ---------- ------------------------------------ ------- ---------- MyCloud AzureCloud 13c... Enabled True
使用说明¶
只有账户管理员(即具有 ACCOUNTADMIN 角色的用户)可执行此函数。
此函数可用于 AWS 或 Azure 上的 Snowflake 账户;目前不支持 Google Cloud Platform (GCP)。
调用 SYSTEM$AUTHORIZE_PRIVATELINK 函数,使 Snowflake 账户能够使用 Snowflake 服务的专用连接。
调用 SYSTEM$REVOKE_PRIVATELINK 函数,禁止 Snowflake 账户使用 Snowflake 服务的专用连接。
示例¶
验证您在 AWS 上的 Snowflake 账户是否获得了 AWS PrivateLink 的授权。请注意,此示例中的值已截断。
use role accountadmin; select SYSTEM$GET_PRIVATELINK( '185...', '{ "Credentials": { "AccessKeyId": "ASI...", "SecretAccessKey": "enw...", "SessionToken": "Fwo...", "Expiration": "2021-01-07T19:06:23+00:00" }, "FederatedUser": { "FederatedUserId": "185...:sam", "Arn": "arn:aws:sts::185...:federated-user/sam" }, "PackedPolicySize": 0 }' );
验证您在 Azure 上的 Snowflake 账户是否获得了 Azure 专用链接的授权。请注意,此示例中的值已截断。
use role accountadmin; select SYSTEM$GET_PRIVATELINK( '/subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service', 'eyJ...');