- 类别:
系统函数 (系统控制)
SYSTEM$AUTHORIZE_PRIVATELINK¶
为当前账户启用与 Snowflake 服务的专用连接。
语法¶
AWS:
SYSTEM$AUTHORIZE_PRIVATELINK( '<aws_id>' , '<federated_token>' )Copy
Azure:
SYSTEM$AUTHORIZE_PRIVATELINK( '<private-endpoint-resource-id>' , '<federated_token>' )Copy
实参¶
'aws_id'
用于唯一标识您的 Amazon Web Services (AWS) 账户的 12 位标识符(字符串)。
'private-endpoint-resource-id'
此标识符以字符串形式唯一标识您在 Microsoft Azure (Azure) 中的 Snowflake 账户。
'federated_token'
以字符串形式包含联合用户的访问凭据的联合令牌值。
要获得此值,请对托管 Snowflake 账户的云平台执行相应的命令。使用平台提供的命令行工具:
对于基于 AWS 的 Snowflake:
aws sts get-federation-token --name sam
Copy对于基于 Azure 的 Snowflake:
az account get-access-token --subscription <SubscriptionID>
Copy其中:
SubscriptionID
订阅的唯一标识符。例如:
13c...
要获得此值,请在命令行环境中执行以下 Azure CLI 命令:
az account list --output table
Copy请注意
SubscriptionID
列中的输出值,该值在本示例中被截断:Name CloudName SubscriptionId State IsDefault ------- ---------- ------------------------------------ ------- ---------- MyCloud AzureCloud 13c.... Enabled True
Copy
使用说明¶
只有账户管理员(即具有 ACCOUNTADMIN 角色的用户)可执行此函数。
此函数可用于 AWS 或 Azure 上的 Snowflake 账户;目前不支持 Google Cloud Platform (GCP)。
调用 SYSTEM$GET_PRIVATELINK 函数,验证 Snowflake 账户是否有权使用与 Snowflake 服务的专用连接。
调用 SYSTEM$REVOKE_PRIVATELINK 函数,禁止 Snowflake 账户使用与 Snowflake 服务的专用连接。
示例¶
为 AWS 上的 Snowflake 账户启用 AWS PrivateLink。请注意,此示例中的值已截断。
use role accountadmin; select SYSTEM$AUTHORIZE_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 }' );Copy
为 Azure 上的 Snowflake 账户启用 Azure 专用链接。请注意,此示例中的值已截断。
use role accountadmin; select SYSTEM$AUTHORIZE_PRIVATELINK( '/subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service', 'eyJ...');Copy