SYSTEM$AUTHORIZE_PRIVATELINK
SYSTEM$AUTHORIZE_PRIVATELINK
현재 계정에 Snowflake 서비스로의 프라이빗 연결(private connectivity) 을 활성화하는 시스템 함수예요. AWS·Azure·GCP 클라우드별로 다른 인자를 받아요.
출처: 공식 문서
본문
이 함수는 Business Critical(또는 그 이상) 에디션이 필요합니다. 업그레이드 문의는 Snowflake Support에 연락하세요.
현재 계정에 대해 Snowflake 서비스로의 프라이빗 연결을 활성화합니다.
참고 (See also): SYSTEM$REVOKE_PRIVATELINK , SYSTEM$GET_PRIVATELINK , SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS
구문 (Syntax)
AWS:
SYSTEM$AUTHORIZE_PRIVATELINK( '<aws_id>' , '<federated_token>' )
Azure:
SYSTEM$AUTHORIZE_PRIVATELINK( '<private-endpoint-resource-id>' , '<federated_token>' )
GCP:
SYSTEM$AUTHORIZE_PRIVATELINK( '<gcp_project_id>' , '<access_token>' )
인자 (Arguments)
다음 명령으로 필요한 값을 얻을 수 있습니다:
aws sts get-federation-token --name sam
az account get-access-token --subscription <SubscriptionID>
az account list --output table
Name CloudName SubscriptionId State IsDefault
------- ---------- ------------------------------------ ------- ----------
MyCloud AzureCloud 13c.... Enabled True
SubscriptionID
구독의 고유 식별자입니다. 예: 13c... 이 값을 얻으려면 명령줄 환경에서 다음 Azure CLI 명령을 실행하세요. 이 예제에서는 잘려서 표시된 SubscriptionID 컬럼의 출력 값을 기록해 두세요.
'gcp_project_id'
Google Cloud(GCP) 프로젝트를 고유하게 식별하는 식별자를 문자열로 나타낸 것입니다.
'access_token'
Google Cloud 사용자의 접근 자격 증명을 담은 접근 토큰 값을 문자열로 나타낸 것입니다.
사용 참고 (Usage notes)
- 계정 관리자(ACCOUNTADMIN 역할을 가진 사용자)만 이 함수를 실행할 수 있습니다.
- 이 함수는 AWS 또는 Azure의 Snowflake 계정에서 사용할 수 있습니다. Google Cloud Platform(GCP)은 현재 지원되지 않습니다.
- SYSTEM$GET_PRIVATELINK 함수를 호출해 Snowflake 계정이 Snowflake 서비스에 프라이빗 연결을 사용하도록 인가되었는지 확인하세요.
- SYSTEM$REVOKE_PRIVATELINK 함수를 호출해 Snowflake 계정이 Snowflake 서비스에 프라이빗 연결을 사용하지 않도록 비활성화하세요.
예제 (Examples)
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
}'
);
Azure에서 Snowflake 계정에 Azure Private Link를 활성화합니다. 이 예제에서는 값이 잘려 있습니다.
USE ROLE ACCOUNTADMIN;
select SYSTEM$AUTHORIZE_PRIVATELINK(
'/subscriptions/26d.../resourcegroups/sf-1/providers/microsoft.network/privateendpoints/test-self-service',
'eyJ...');
GCP에서 Snowflake 계정에 Google Cloud Private Service Connect를 활성화합니다:
USE ROLE ACCOUNTADMIN;
select SYSTEM$AUTHORIZE_PRIVATELINK(
'my-gcp-project-id',
'ya29.a0AcM612zT4pJaXdYfwgY8aiMoDE9W_xkqQ20coFTB1TJcImKDPo...'
);
더 알아보기 (Learn more)
- SYSTEM$REVOKE_PRIVATELINK — 프라이빗 연결 해제
- SYSTEM$GET_PRIVATELINK — 프라이빗 연결 정보
- SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS
- PrivateLink — 프라이빗 연결 소개