Snowflake Notebooks 에 대한 외부 액세스 설정¶
기본적으로 Snowflake는 외부 엔드포인트로부터의 네트워크 트래픽 요청을 제한합니다. 외부 엔드포인트에 액세스하려면 외부 네트워크 액세스 통합 을 생성해야 합니다. 이 항목에서는 노트북에 대한 외부 네트워크 액세스를 설정하는 방법을 설명합니다.
대부분의 경우 APIs에는 API 키가 필요합니다. 외부 액세스를 허용하려면 SQL을 사용해 시크릿(예: API 키)을 노트북에 연결합니다. 시크릿을 노트북에 수동으로 연결하려면 ALTER NOTEBOOK … SET SECRETS 을 사용합니다.
ALTER NOTEBOOK <name>
SET SECRETS = ('<secret_variable_name>' = <secret_name>);
노트북과 연결한 후 시크릿을 검색하려면 시크릿 액세스를 위한 Python API 섹션을 참조하십시오.
기존 외부 액세스 통합(EAI) 활성화¶
참고
이 작업은 ACCOUNTADMIN 역할을 사용하여 실행해야 합니다.
Snowsight 에 로그인합니다.
Projects » Notebooks 를 선택합니다.
Notebook settings 를 선택하고 External access 창을 선택합니다.
사용자가 사용할 수 있는 외부 액세스 통합 목록이 표시됩니다. 각 통합 옆에 있는 토글을 선택하여 통합을 활성화하거나 비활성화할 수 있습니다.
외부 액세스 통합 프로비저닝¶
외부 액세스 통합은 기본 네트워크 규칙과 함께 조직 관리자가 생성하고 프로비저닝해야 합니다.
외부 액세스 통합 만들기¶
노트북에 대한 외부 액세스 통합을 생성하는 데는 두 단계가 있습니다.
CREATE NETWORK RULE 명령을 사용하여 IP 주소 또는 도메인 세트를 정의하는 네트워크 규칙을 생성합니다.
CREATE EXTERNAL ACCESS INTEGRATION 명령을 사용하여 허용되는 네트워크 규칙 목록을 지정하는 외부 액세스 통합을 생성합니다.
다음 예제에서는 일반적인 데이터 과학 및 머신 러닝 사이트에 대한 외부 액세스를 설정하는 방법을 보여줍니다.
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;
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;
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;
외부 액세스 통합 프로비저닝¶
EAIs를 생성한 후에는 통합에 대한 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;
참고
노트북을 생성하는 역할에 통합에 대한 USAGE 권한을 부여하는 것이 중요합니다. PUBLIC 역할에 부여된 USAGE는 작동하지 않습니다.
자세한 구문은 외부 네트워크 액세스 섹션을 참조하십시오.
통합 활성화¶
EAIs를 생성하고 프로비저닝한 후에는 노트북 세션을 다시 시작해야 합니다. 이제 외부 액세스 창에서 생성한 액세스 통합을 볼 수 있습니다. 새로운 통합을 활성화하려면 기존 외부 액세스 통합(EAI) 활성화 섹션을 참조하십시오.
추가 리소스¶
자세한 구문은 외부 네트워크 액세스 섹션을 참조하십시오.
EAIs의 추가 예제는 외부 네트워크 액세스 예시 또는 Github의 Snowflake Notebooks에 대한 외부 액세스 설정하기 를 참조하십시오.