- カテゴリ:
システム関数 (システム制御)
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 PrivateLink が AWS のSnowflakeアカウントに対して承認されているかどうかを確認します。この例では、値が切り捨てられていることに注意してください。
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 Private LinkがAzureのSnowflakeアカウントに対して承認されているかどうかを確認します。この例では、値が切り捨てられていることに注意してください。
use role accountadmin; select SYSTEM$GET_PRIVATELINK( '/subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service', 'eyJ...');