CREATE SECRET¶
현재/지정된 스키마에 새 시크릿을 만들거나 기존 시크릿을 대체합니다.
- 참고 항목:
구문¶
클라이언트 자격 증명 흐름이 있는OAuth:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = OAUTH2 API_AUTHENTICATION = <security_integration_name> OAUTH_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) [ COMMENT = '<string_literal>' ]
인증 코드 부여 흐름이 있는 OAuth:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = OAUTH2 OAUTH_REFRESH_TOKEN = '<string_literal>' OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '<string_literal>' API_AUTHENTICATION = <security_integration_name>; [ COMMENT = '<string_literal>' ]
기본 인증:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = PASSWORD USERNAME = '<username>' PASSWORD = '<password>' [ COMMENT = '<string_literal>' ]
일반 문자열:
CREATE [ OR REPLACE ] SECRET [ IF NOT EXISTS ] <name> TYPE = GENERIC_STRING SECRET_STRING = '<string_literal>' [ COMMENT = '<string_literal>' ]
클라이언트 자격 증명 흐름 필수 매개 변수를 사용하는 OAuth¶
name
시크릿에 대한 식별자(즉, 이름)를 지정하는 문자열로, 스키마에서 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
TYPE = OAUTH2
OAuth 권한 부여 흐름과 함께 사용할 시크릿을 지정합니다.
API_AUTHENTICATION = security_integration_name
Snowflake를 외부 서비스에 연결하는 Snowflake 보안 통합의
name
값을 지정합니다.OAUTH_SCOPES = ( 'scope_1' [ , 'scope_2' ... ] )
OAuth 클라이언트 자격 증명 흐름 중에 통합에서 USAGE가 있는 역할로 OAuth 서버에서 요청할 때 사용할 범위의 쉼표로 구분된 목록을 지정합니다.
이 목록은 보안 통합의
OAUTH_ALLOWED_SCOPES
속성에 정의된 범위의 하위 세트여야 합니다.OAUTH_SCOPES
속성 값이 지정되지 않은 경우 비밀번호는 보안 통합에 지정된 모든 범위를 상속합니다.ServiceNow 커넥터의 경우 유일하게 가능한 범위 값은
'useraccount'
입니다.
기본 인증 필수 매개 변수¶
name
시크릿에 대한 식별자(즉, 이름)를 지정하는 문자열로, 스키마에서 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
TYPE = PASSWORD
기본 인증에 사용할 시크릿을 지정합니다.
이 유형을 지정할 때 사용자 이름 및 비밀번호 속성의 값을 지정해야 합니다.
USERNAME = 'username'
시크릿에 저장할 사용자 이름 값을 지정합니다.
기본 인증에 사용하기 위해
TYPE
값을PASSWORD
로 설정할 때 이 값을 지정합니다.PASSWORD = 'password'
시크릿에 저장할 비밀번호 값을 지정합니다.
기본 인증에 사용하기 위해
TYPE
값을PASSWORD
로 설정할 때 이 값을 지정합니다.
일반 문자열 매개 변수¶
name
시크릿에 대한 식별자(즉, 이름)를 지정하는 문자열로, 스키마에서 고유해야 합니다.
또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
TYPE = GENERIC_STRING
중요한 문자열 값을 저장할 시크릿을 지정합니다.
SECRET_STRING = 'string_literal'
시크릿에 저장할 문자열을 지정합니다.
문자열은 UDF 또는 저장 프로시저의 처리기 코드에서 사용할 수 있는 민감한 값의 문자열 또는 API 토큰일 수 있습니다. 자세한 내용은 외부 액세스 통합 생성 및 사용하기 섹션을 참조하십시오.
어떤 종류의 OAuth 토큰을 저장하는 데도 이 속성을 사용하면 안 됩니다. OAuth 사용 사례에 다른 시크릿 유형 중 하나를 사용하십시오.
선택적 매개 변수¶
COMMENT = 'string_literal'
시크릿에 대한 설명을 지정하는 문자열(리터럴)입니다.
기본값: 값 없음
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE SECRET |
스키마 |
스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
OAuth 클라이언트 자격 증명 흐름에 사용할 시크릿을 만듭니다.
CREATE OR REPLACE SECRET mysecret TYPE = OAUTH2 API_AUTHENTICATION = mysecurityintegration OAUTH_SCOPES = ('useraccount') COMMENT = 'secret for the service now connector'
OAuth 코드 권한 부여 흐름에 사용할 시크릿을 만듭니다.
CREATE SECRET service_now_creds_oauth_code TYPE = OAUTH2 OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH' OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00' API_AUTHENTICATION = sn_oauth;
ServiceNow에 액세스하기 위한 사용자 이름과 비밀번호를 지정하는 시크릿을 만듭니다.
CREATE SECRET service_now_creds_pw TYPE = password USERNAME = 'jsmith1' PASSWORD = 'W3dr@fg*7B1c4j';