Snowflake Notebooks 에 대한 외부 액세스 설정

기본적으로 Snowflake는 외부 엔드포인트로부터의 네트워크 트래픽 요청을 제한합니다. 외부 엔드포인트에 액세스하려면 외부 네트워크 액세스 통합 을 생성해야 합니다. 이 항목에서는 노트북에 대한 외부 네트워크 액세스를 설정하는 방법을 설명합니다.

외부 액세스 통합 및 기본 네트워크 규칙은 조직 관리자가 생성해야 합니다.

외부 액세스 통합(EAI) 만들기

노트북에 대한 외부 액세스 통합을 생성하려면 다음을 수행합니다.

  1. CREATE NETWORK RULE 명령을 사용하여 IP 주소 또는 도메인 세트를 정의하는 네트워크 규칙을 만듭니다.

  2. CREATE EXTERNAL ACCESS INTEGRATION 명령을 사용하여 허용된 네트워크 규칙 목록을 지정하는 외부 액세스 통합을 만듭니다.

참고

ACCOUNTADMIN 또는 EAIs 생성 권한이 있는 역할만 특정 외부 엔드포인트에 대해 설정할 수 있습니다. 요구 사항에 대한 자세한 내용은 액세스 제어 요구 사항 섹션을 참조하십시오.

다음 예제에서는 일반적인 데이터 과학 및 머신 러닝 사이트에 대한 외부 액세스를 설정하는 방법을 보여줍니다.

PyPI에 대한 외부 액세스 통합을 생성합니다.

CREATE OR REPLACE NETWORK RULE pypi_network_rule
MODE = EGRESS
TYPE = HOST_PORT
VALUE_LIST = ('pypi.org', 'pypi.python.org', 'pythonhosted.org',  'files.pythonhosted.org');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION pypi_access_integration
ALLOWED_NETWORK_RULES = (pypi_network_rule)
ENABLED = true;
Copy

HuggingFace에 대한 외부 액세스 통합을 생성합니다.

CREATE OR REPLACE NETWORK RULE hf_network_rule
MODE = EGRESS
TYPE = HOST_PORT
VALUE_LIST = ('huggingface.co', 'cdn-lfs.huggingface.co');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION hf_access_integration
ALLOWED_NETWORK_RULES = (hf_network_rule)
ENABLED = true;
Copy

1개의 외부 액세스 통합으로 모든 네트워크 액세스 허용:

CREATE OR REPLACE NETWORK RULE allow_all_rule
MODE= 'EGRESS'
TYPE = 'HOST_PORT'
VALUE_LIST = ('0.0.0.0:443','0.0.0.0:80');

CREATE OR REPLACE EXTERNAL ACCESS INTEGRATION allow_all_integration
ALLOWED_NETWORK_RULES = (allow_all_rule)
ENABLED = true;
Copy

외부 액세스 통합을 만드는 데 필요한 권한을 부여합니다

EAIs를 생성한 후에는 통합에 대한 USAGE 권한을 계정 역할에 부여해야 합니다.

EAI 를 만드는 데 사용된 역할이 소유자가 됩니다. 소유자인 역할은 다른 역할에 USAGE 권한을 부여해야 합니다. 통합에 대한 USAGE 권한을 부여하려면 다음 명령을 사용합니다.

GRANT USAGE ON INTEGRATION pypi_access_integration TO ROLE my_notebook_role;
GRANT USAGE ON INTEGRATION hf_access_integration TO ROLE my_notebook_role;
GRANT USAGE ON INTEGRATION allow_all_integration TO ROLE my_notebook_role;
Copy

참고

노트북을 생성하는 역할에 통합에 대한 USAGE 권한을 부여하는 것이 중요합니다. PUBLIC 역할에 부여된 USAGE는 작동하지 않습니다. 자세한 구문은 외부 네트워크 액세스 섹션을 참조하십시오.

외부 액세스 통합(EAI) 사용

EAIs 를 만들고 프로비저닝한 후 외부 액세스 창에서 생성한 액세스 통합을 보려면 노트북 세션을 다시 시작해야 합니다.

  1. Snowsight 에 로그인합니다.

  2. Projects » Notebooks 를 선택합니다.

  3. 외부 액세스 구성에 액세스하려면 노트북 오른쪽 상단의 워크시트에 대한 추가 작업 를 선택합니다.

  4. Notebook settings 을 선택한 다음 External access 창을 선택합니다.

  5. 사용 가능한 외부 액세스 통합 목록에서 각 통합 옆의 토글을 선택하여 해당 통합을 사용하거나 사용하지 않도록 설정합니다.

새로운 통합을 활성화하려면 외부 액세스 통합(EAI) 사용 섹션을 참조하십시오.

외부 액세스 통합으로 시크릿 사용

대부분의 경우 APIs에는 API 키가 필요합니다. 외부 액세스를 허용하려면 SQL을 사용해 시크릿(예: API 키)을 노트북에 연결합니다. 시크릿을 노트북에 수동으로 연결하려면 ALTER NOTEBOOK … SET SECRETS 명령을 사용합니다.

ALTER NOTEBOOK <name>
 SET SECRETS = ('<secret_variable_name>' = <secret_name>);
Copy

노트북과 연결한 후 시크릿을 검색하려면 시크릿 액세스를 위한 Python API 섹션을 참조하십시오.

추가 리소스