SYSTEM$REVOKE_PRIVATELINK

현재 계정의 Snowflake 서비스에 대한 프라이빗 커넥티비티(private connectivity)를 비활성화하는 시스템 함수예요.

출처: Snowflake SQL Reference

본문

참고:

Syntax

AWS:

SYSTEM$REVOKE_PRIVATELINK( '<aws_id>' , '<federated_token>' )

Azure:

SYSTEM$REVOKE_PRIVATELINK( '<private-endpoint-resource-id>' , '<federated_token>' )

GCP:

SYSTEM$REVOKE_PRIVATELINK( '<gcp_project_id>' , '<access_token>' )

Arguments

'aws_id':

Amazon Web Services(AWS) 계정을 고유하게 식별하는 12자리 식별자를 문자열로 지정해요.

'private-endpoint-resource-id':

Microsoft Azure(Azure)에서 프라이빗 엔드포인트를 고유하게 식별하는 식별자를 문자열로 지정해요.

'federated_token':

페더레이션 사용자의 액세스 자격 증명을 포함하는 페더레이션 토큰 값을 문자열로 지정해요.

이 값을 얻으려면 Snowflake 계정을 호스팅하는 클라우드 플랫폼에 해당하는 명령을 실행하세요. 플랫폼이 제공하는 명령줄 도구를 사용하세요:

Snowflake on AWS의 경우:

aws sts get-federation-token --name sam

Snowflake on Azure의 경우:

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

'gcp_project_id':

Google Cloud(GCP) 프로젝트를 고유하게 식별하는 식별자를 문자열로 지정해요.

'access_token':

Google Cloud 사용자의 액세스 자격 증명을 포함하는 액세스 토큰 값을 문자열로 지정해요.

Usage notes

  • 계정 관리자(즉 ACCOUNTADMIN 역할을 가진 사용자)만 이 함수를 실행할 수 있어요.
  • 이 함수는 AWS 또는 Azure의 Snowflake 계정에서 사용할 수 있어요; Google Cloud Platform(GCP)은 현재 지원되지 않아요.
  • Snowflake 계정이 Snowflake 서비스에 대한 프라이빗 커넥티비티를 사용하도록 승인되었는지 확인하려면 SYSTEM$GET_PRIVATELINK 함수를 호출하세요.
  • Snowflake 계정이 Snowflake 서비스에 대한 프라이빗 커넥티비티를 사용하도록 활성화하려면 SYSTEM$AUTHORIZE_PRIVATELINK 함수를 호출하세요.

Examples

AWS에서 Snowflake 계정의 AWS PrivateLink 비활성화하기. 이 예제에서는 값이 잘려 있어요:

USE ROLE ACCOUNTADMIN;
select SYSTEM$REVOKE_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$REVOKE_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$REVOKE_PRIVATELINK(
  'my-gcp-project-id',
  'ya29.a0AcM612zT4pJaXdYfwgY8aiMoDE9W_xkqQ20coFTB1TJcImKDPo...'
);

더 알아보기 (Learn more)