SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION
SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION
외부 시크릿 공급자 보안 통합(security integration)을 통해 시크릿 값 하나를 가져와요.
미리 보기(Preview) 기능 — 공개(Open): 모든 계정에서 사용할 수 있어요.
출처: Snowflake SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION 함수 문서
본문
구문 (Syntax)
SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION( '<integration_name>' , '<secret_identifier>' )
인자 (Arguments)
-
integration_name—TYPE = API_AUTHENTICATION및AUTH_TYPE = WORKLOAD_IDENTITY_FEDERATION인 외부 시크릿 공급자 보안 통합의 이름이에요. -
secret_identifier— 정확히 하나의 시크릿에 대한 공급자별 식별자예요.공급자 필수 식별자 AWS Secrets Manager 버전이나 스테이지 한정자를 붙이지 않은 전체 시크릿 ARN Azure Key Vault SYSTEM$LIST_EXTERNAL_SECRETS가 반환한 시크릿 이름Google Cloud Secret Manager SYSTEM$LIST_EXTERNAL_SECRETS가 반환한 시크릿 ID
반환 값 (Returns)
시크릿 값과 메타데이터를 포함하는 공급자별 JSON 객체를 반환해요. 모든 공급자 응답에는 name, value, version_id가 포함돼요. AWS 응답에는 arn이 포함되고, Azure 및 Google Cloud 응답에는 id가 포함돼요.
AWS Secrets Manager의 예시 응답:
{
"arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:my-secret-a1b2c3",
"name": "my-secret-name",
"value": "secret-value",
"version_id": "version"
}
접근 제어 요구 사항 (Access Control Requirements)
이 작업을 실행하는 데 사용하는 역할은 최소한 다음 권한이 있어야 해요.
| 권한 | 객체 | 참고 |
|---|---|---|
| USAGE | 통합 | 지정된 통합에 필요해요. |
USAGE 권한은 역할 상속을 포함해 현재 역할이 통합을 사용할 수 있게 해줘요. 통합의 페더레이션 ID에 부여된 클라우드 권한에 따라 통합이 수행할 수 있는 작업과 접근할 수 있는 시크릿이 결정돼요.
지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기를 참고하세요. 보호 객체에 대한 SQL 작업으로 역할과 권한 부여에 대한 일반 정보는 액세스 제어 개요를 참고하세요.
사용 참고 (Usage Notes)
- 이 함수를 호출하는 쿼리는 쿼리 기록에 나타나지 않아요. Snowflake는 약 5분 후에 저장된 쿼리 결과를 삭제해요.
- 활성 쿼리 결과에는 시크릿이 평문으로 포함돼요. 결과를 기록, 저장하거나 권한 없는 사용자에게 노출하지 마세요.
- AWS 이진(binary) 시크릿은 지원되지 않아요.
- Google Cloud Secret Manager의 경우 이 함수는 최신 시크릿 버전을 반환해요. 이전 버전을 요청할 수 없어요.
예제 (Examples)
AWS Secrets Manager 시크릿을 가져와요:
SELECT SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION(
'aws_sm_integration',
'arn:aws:secretsmanager:us-west-2:123456789012:secret:my-secret-a1b2c3');
Azure Key Vault 응답에서 value 필드를 추출해요:
SELECT PARSE_JSON(
SYSTEM$FETCH_EXTERNAL_SECRET_FROM_INTEGRATION(
'azure_kv_integration',
'my-secret-name')):value::STRING;
더 알아보기
- Snowflake 시스템 정보 함수 — 관련 시스템 함수 전체 목록