Git을 사용하기 위해 Snowflake 설정하기¶
원격 Git 리포지토리를 통합하고 리포지토리를 복제하면 Snowflake는 원격 리포지토리의 위치, 자격 증명(필요한 경우) 및 Snowflake가 Git 리포지토리 API 와 상호 작용하는 방법에 대한 세부 정보를 지정하는 Git 리포지토리 복제본을 생성합니다.
Snowflake에서 원격 Git 리포지토리를 사용하려면 다음 단계를 따르십시오.
필요한 경우 시크릿을 생성하여 원격 리포지토리로 인증하기 위한 자격 증명을 보관합니다.
API 통합을 생성 하여 Git 리포지토리 API와의 Snowflake 상호 작용에 대한 세부 정보를 지정합니다.
원격 리포지토리에서 파일을 동기화할 수 있는 Git 리포지토리 복제본을 만듭니다.
인증을 위한 자격 증명을 사용하여 시크릿을 만듭니다.¶
원격 Git 리포지토리에 인증이 필요한 경우, Snowflake가 원격 리포지토리 인증에 사용할 수 있는 자격 증명이 포함된 시크릿을 만들어야 합니다.
이 시크릿은 여러 가지 방법으로 사용할 수 있습니다. Git 리포지토리 API와의 Snowflake 상호 작용을 지정하는 API 통합을 만드는 사용자는 이 시크릿을 ALLOWED_AUTHENTICATION_SECRETS 매개 변수의 값으로 지정해야 합니다. 또한 Git을 사용하도록 Snowflake를 설정 하는 사용자가 시크릿을 지정합니다.
시크릿을 만들려면 다음 권한이 부여된 역할을 사용해야 합니다.
시크릿을 저장할 스키마에 대한 CREATE SECRET 권한
자세한 내용은 CREATE SECRET 액세스 제어 요구 사항 을 참조하십시오.
통합이 포함될 데이터베이스와 스키마에 대한 USAGE 권한
가장 좋은 방법은 시크릿의 PASSWORD 값에 개인 액세스 토큰을 사용하는 것입니다. GitHub에서 개인 액세스 토큰을 생성하는 방법에 대한 자세한 내용은 GitHub 설명서에서 개인 액세스 토큰 관리하기 를 참조하십시오.
- SQL:
CREATE SECRET 명령을 사용하여 Git 리포지토리 자격 증명이 포함된 시크릿을 만들 수 있습니다.
다음 예제의 코드는 사용자 이름과 사용자의 개인 액세스 토큰으로
myco_git_secret
시크릿을 생성하여 자격 증명으로 사용합니다.USE ROLE ACCOUNTADMIN; CREATE ROLE myco_secrets_admin; GRANT CREATE SECRET ON SCHEMA myco_db.integrations TO ROLE myco_secrets_admin; USE ROLE myco_db_owner; GRANT USAGE ON DATABASE myco_db TO ROLE myco_secrets_admin; GRANT USAGE ON SCHEMA myco_db.integrations TO ROLE myco_secrets_admin; USE ROLE myco_secrets_admin; USE DATABASE myco_db; USE SCHEMA myco_db.integrations; CREATE OR REPLACE SECRET myco_git_secret TYPE = password USERNAME = 'gladyskravitz' PASSWORD = 'ghp_token';
리포지토리 API와 상호 작용하기 위한 API 통합 만들기¶
Snowflake가 Git 리포지토리 API와 상호 작용하는 방법에 대한 세부 정보를 지정하려면 API 통합을 만들어야 합니다.
Git을 사용하기 위해 Snowflake 계정을 설정 하는 사용자는 사용할 API 통합을 지정합니다.
API 통합을 만들려면 다음 권한이 부여된 역할을 사용해야 합니다.
계정에 대한 CREATE INTEGRATION 권한
자세한 내용은 CREATE API INTEGRATION 액세스 제어 요구 사항 을 참조하십시오.
시크릿이 포함된 데이터베이스와 스키마에 대한 USAGE 권한
통합이 참조하는 시크릿에 대한 USAGE 권한
Git 리포지토리 API에 대한 API 통합을 만들 때는 다음을 수행해야 합니다.
git_https_api
를 API_PROVIDER 매개 변수의 값으로 지정합니다.인증이 필요한 경우 ALLOWED_AUTHENTICATION_SECRETS 매개 변수의 값으로 원격 리포지토리 자격 증명이 포함된 시크릿 을 지정합니다. 다음 중 하나를 지정할 수 있습니다.
Snowflake가 리포지토리를 인증할 때 사용할 수 있는 하나 이상의 Snowflake 시크릿(쉼표로 구분된 목록).
all
(대/소문자를 구분하지 않음)을 사용하여 모든 시크릿을 사용할 수 있도록 지정합니다.none
(대/소문자를 구분하지 않음)을 사용하여 시크릿을 사용할 수 없도록 지정합니다.
- SQL:
CREATE API INTEGRATION 명령을 사용하여 Git 리포지토리 API와의 Snowflake 상호 작용에 대한 세부 정보를 지정하는 API 통합을 만들 수 있습니다.
다음 예제의 코드는 이름이
git_api_integration
인 API 통합을 생성합니다.USE ROLE ACCOUNTADMIN; CREATE ROLE myco_git_admin; GRANT CREATE INTEGRATION ON ACCOUNT TO ROLE myco_git_admin; USE ROLE myco_db_owner; GRANT USAGE ON DATABASE myco_db TO ROLE myco_git_admin; GRANT USAGE ON SCHEMA myco_db.integrations TO ROLE myco_git_admin; USE ROLE myco_secrets_admin; GRANT USAGE ON SECRET myco_git_secret TO ROLE myco_git_admin; USE ROLE myco_git_admin; USE DATABASE myco_db; USE SCHEMA myco_db.integrations; CREATE OR REPLACE API INTEGRATION git_api_integration API_PROVIDER = git_https_api API_ALLOWED_PREFIXES = ('https://github.com/my-account') ALLOWED_AUTHENTICATION_SECRETS = (myco_git_secret) ENABLED = TRUE;
원격 리포지토리에서 Snowflake Git 리포지토리 복제본 만들기¶
원격 Git 리포지토리와 함께 작동하도록 Snowflake를 설정하려면 원격 리포지토리에서 가져온 파일을 포함하도록 Snowflake에서 Git 리포지토리 복제본을 만듭니다.
Git 리포지토리 복제본은 다음을 지정합니다.
원격 리포지토리의 출처
Git에서,
origin
은 원격 리포지토리 URL의 단축어입니다. 원격 Git 리포지토리를 사용하도록 Snowflake를 설정할 때 URL 을 사용하십시오. URL은 HTTPS를 사용해야 합니다. 원본 URL은 다음 방법으로 검색할 수 있습니다.GitHub 사용자 인터페이스에서 리포지토리 홈 페이지에서 원본 URL를 가져오려면 Code 버튼을 선택한 다음 버튼 아래에 표시되는 상자에서 HTTPS URL을 복사합니다.
명령줄에서 다음 예제와 같이 로컬 리포지토리 내에서
git config
명령을 사용합니다.$ git config --get remote.origin.url
이 명령은 다음과 같은 출력을 생성합니다.
https://github.com/my-account/snowflake-extensions.git
git config
에 대한 참조 정보는 git 설명서 를 참조하십시오.
리포지토리로 인증할 때 Snowflake가 사용할 자격 증명(필요한 경우)
리포지토리 API와의 Snowflake 상호 작용에 대한 세부 정보를 지정하는 API 통합
Snowflake에서 Git 리포지토리 복제본을 만들려면 다음 권한이 부여된 역할을 사용해야 합니다.
Git 리포지토리 복제본이 포함된 스키마에서 CREATE GIT REPOSITORY
자세한 내용은 CREATE GIT REPOSITORY 액세스 제어 요구 사항 을 참조하십시오.
Git 인증을 위한 자격 증명이 포함된 시크릿에 대한 USAGE 권한
Git 리포지토리 복제본이 참조하는 API 통합에 대한 USAGE 권한
Snowsight 또는 SQL 중 하나를 사용하여 Git 리포지토리 복제본을 생성할 수 있습니다.
snowflake_extensions
명령을 사용하여 Git 리포지토리 복제본을 생성할 수 있습니다. 이 복제본에서는 인증을 위한 자격 증명과 함께 git_api_integration
API 통합 및 myco_git_secret
시크릿을 지정합니다.
USE ROLE ACCOUNTADMIN;
GRANT CREATE GIT REPOSITORY ON SCHEMA myco_db.integrations TO ROLE myco_git_admin;
USE ROLE myco_git_admin;
CREATE OR REPLACE GIT REPOSITORY snowflake_extensions
API_INTEGRATION = git_api_integration
GIT_CREDENTIALS = myco_git_secret
ORIGIN = 'https://github.com/my-account/snowflake-extensions.git';
Snowsight 에 로그인합니다.
탐색 메뉴에서 Data » Databases 를 선택합니다.
오브젝트 탐색기에서, 생성 중인 Git 리포지토리 복제본을 포함시킬 데이터베이스와 스키마를 선택합니다.
Create » Git Repository 를 선택합니다.
Create Git Repository 대화 상자에서 Repository Name 에 대해 스키마에서 이 리포지토리 복제본을 고유하게 식별할 수 있는 이름을 입력합니다.
명명 지침은 식별자 요구 사항 섹션을 참조하십시오.
Origin 에 원격 리포지토리의 원본 URL을 입력합니다.
API Integration 드롭다운 메뉴에서 Git 리포지토리 복제본을 만들 때 참조할 API 통합을 선택합니다.
사용할 API 통합이 없는 경우 통합을 만들기 위해 SQL을 사용할 Create new API integration in Worksheets 를 선택합니다. 자세한 내용은 리포지토리 API와 상호 작용하기 위한 API 통합 만들기 및 CREATE API INTEGRATION 섹션을 참조하십시오.
선택 사항: Comment 에, 다른 사용자에게 이 통합을 설명하는 텍스트를 입력합니다.
선택 사항: 원격 리포지토리에 인증이 필요한 경우 Authentication 토글을 _on_ 위치로 설정합니다.
On 위치로 설정된 경우 Secret 메뉴에서 원격 리포지토리로 인증하기 위해 Git 통합에서 참조해야 하는 시크릿을 선택합니다.
사용할 시크릿이 없는 경우 시크릿을 만들기 위해 SQL을 사용할 Create new secret in Worksheets 를 선택합니다. 자세한 내용은 인증을 위한 자격 증명을 사용하여 시크릿을 만듭니다. 및 CREATE SECRET 섹션을 참조하십시오.
Create 를 선택합니다.
통합을 성공적으로 만들면 Git 리포지토리 복제본이 스키마 아래 Git Repositories 디렉터리에 나타납니다. 또한 리포지토리 디렉터리, 분기, 태그를 나열하는 페이지도 표시됩니다.