SYSTEM$REGISTER_PRIVATELINK_ENDPOINT¶
接続をSnowflakeサービスにルーティングするプライベート接続エンドポイントを登録します。
構文¶
AWS
SYSTEM$REGISTER_PRIVATELINK_ENDPOINT(
'<aws_private_endpoint_vpce_id>',
'<aws_account_id>',
'<token>',
[ <delay_time> ]
)
Azure
SYSTEM$REGISTER_PRIVATELINK_ENDPOINT(
'<azure_private_endpoint_link_id>',
'<azure_private_endpoint_resource_id>',
'<token>',
[ <delay_time> ]
)
必要な引数¶
AWS
aws_private_endpoint_vpce_id
Amazon Web Services(AWS)仮想プライベートクラウドのエンドポイント(AWS VPCEID)の識別子を指定します。
AWS VPCEID 値を取得するには、 AWS コンソールに移動するか、以下のコマンドを使用します。
aws ec2 describe-vpc-endpoints
aws_account_id
Amazon Web Services(AWS)アカウントを文字列として一意に識別する12桁の識別子。
AWS アカウント ID 値を取得するには、 AWS コンソールに移動するか、次のコマンドを使用します。
aws sts get-caller-identity
Azure
azure_private_endpoint_link_id
Microsoft Azure(Azure)仮想プライベートクラウドエンドポイントリンク(Azure LinkID)の識別子を指定します。
Azure LinkID 値を取得するには、
SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS システム関数を実行します。
azure_private_endpoint_resource_id
Microsoft Azure(Azure)のSnowflakeアカウントを文字列として一意に識別する識別子。
AzureプライベートエンドポイントリソースIDを取得するには、次のコマンドを使用します。
az network private-endpoint list --resource-group my_resource_group
token
プライベート接続エンドポイントの所有権を確認するためのアクセストークンを指定します。
トークンを取得するには、プライベート接続エンドポイントで対応する読み取り権限または説明権限が最低限必要です。詳細については、次をご参照ください。
トークンを取得するには、以下のコマンドを使用します。
AWS 上のSnowflakeの場合、
aws sts get-federation-token --name snowflake --policy '{ "Version": "2012-10-17", "Statement" : [ { "Effect": "Allow", "Action": ["ec2:DescribeVpcEndpoints"], "Resource": ["*"] } ] }'
Azure上のSnowflakeの場合、
az account get-access-token --subscription <subscription_id>
アクセストークンのスコープを制限する方法については、こちらをご参照ください。
AWS 上のSnowflakeの場合: Amazon Web Services でアクセストークンの範囲を管理する
Azure上のSnowflakeの場合: Microsoft Azure でアクセストークンの範囲を管理する
オプションの引数¶
delay_time
プライベートエンドポイント登録を実施する前に待機する分数を指定します。
範囲: 0~1440分(24時間)
0分: 登録は直ちに実行されます。
デフォルト: 60(1時間)
遅延時間とその実施に関する情報については、 遅延時間の引数を使用して管理を実施する をご参照ください。
戻り値¶
プライベート接続エンドポイントの登録に関するステータスメッセージを返します。
遅延時間を指定した場合、この関数は、複数のアカウントを同じプライベートエンドポイントに固定した場合、最も早い登録に基づいて実施されるという注意書きとともに、いつ登録が実施されるかを示すメッセージを返します。
使用上の注意¶
アカウント管理者(ACCOUNTADMIN ロールを持つユーザー)のみが、この関数を呼び出すことができます。
Snowflakeアカウントには、複数のプライベート接続エンドポイントを登録できます。
例¶
SYSTEM$REGISTER_PRIVATELINK_ENDPOINT システム関数を呼び出して、 VPC エンドポイントをSnowflakeアカウントに登録します。 token
引数には切り捨てられた値を指定し、遅延時間の単位は分です。
AWS
SELECT SYSTEM$REGISTER_PRIVATELINK_ENDPOINT(
'vpce-0c1...',
'123.....',
'{
"Credentials": {
"AccessKeyId": "ASI...",
"SecretAccessKey": "alD...",
"SessionToken": "IQo...",
"Expiration": "2024-12-10T08:20:20+00:00"
},
"FederatedUser": {
"FederatedUserId": "0123...:snowflake",
"Arn": "arn:aws:sts::174...:federated-user/snowflake"
},
"PackedPolicySize": 9,
}',
120
);
Azure
SELECT SYSTEM$REGISTER_PRIVATELINK_ENDPOINT(
'123....',
'/subscriptions/0cc51670-.../resourceGroups/dbsec_test_rg/providers/Microsoft.Network/
privateEndpoints/...',
'eyJ...',
120
);