CREATE SECURITY INTEGRATION

CREATE SECURITY INTEGRATION (AWS IAM 인증)

AWS(Amazon Web Services) IAM(Identity and Access Management)을 사용한 외부 인증용 새 보안 인티그레이션(security integration)을 만드는 명령이에요.

출처: 문서

본문

AWS IAM을 사용한 외부 인증용 새 보안 인티그레이션을 만들어요.

다른 유형(예: External OAuth)의 보안 인티그레이션을 만드는 방법은 CREATE SECURITY INTEGRATION을 참고해요.

함께 보기: ALTER SECURITY INTEGRATION (AWS IAM 인증), DESCRIBE INTEGRATION, DROP INTEGRATION, SHOW INTEGRATIONS

구문 (Syntax)

CREATE SECURITY INTEGRATION <name>
  TYPE = API_AUTHENTICATION
  AUTH_TYPE = AWS_IAM
  AWS_ROLE_ARN = '<iam_role_arn>'
  ENABLED = { TRUE | FALSE }
  [ COMMENT = '<string_literal>' ]

필수 매개변수 (Required parameters)

name 인티그레이션의 식별자(즉 이름)를 지정해요. 이 값은 계정 안에서 고유해야 해요.

자세한 내용은 식별자 요구 사항(Identifier requirements)을 참고해요.

TYPE = API_AUTHENTICATION 보안 인티그레이션이 OAuth 2.0 또는 AWS IAM 자격 증명을 사용하는 하나 이상의 AWS 서비스와 Snowflake 사이의 인터페이스라고 지정해요.

AUTH_TYPE = AWS_IAM 인티그레이션이 AWS IAM을 사용해 하나 이상의 AWS 서비스로 인증한다고 지정해요.

AWS_ROLE_ARN = 'iam_role_arn' AWS 리소스에 대한 권한을 부여하는 IAM(Identity and Access Management) 역할의 ARN(Amazon Resource Name)을 지정해요.

ENABLED = { TRUE | FALSE } 이 보안 인티그레이션이 활성화될지 비활성화될지 지정해요.

  • TRUE: 인티그레이션 정의에 지정된 매개변수에 따라 인티그레이션이 실행되도록 해요.
  • FALSE: 유지보수를 위해 인티그레이션을 일시 중지해요. Snowflake와 타사 서비스 사이의 어떤 인티그레이션도 작동하지 않아요.

값은 대소문자를 구분하지 않아요. 기본값은 TRUE예요.

선택 매개변수 (Optional parameters)

COMMENT = 'string_literal' 인티그레이션에 대한 설명(comment)을 지정해요.

  • 기본값: 값 없음

접근 제어 요구 사항 (Access control requirements)

이 작업을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한을 가져야 해요.

권한 (Privilege) 객체 (Object) 비고
CREATE INTEGRATION Account 기본적으로 ACCOUNTADMIN 역할만 이 권한을 가져요. 필요에 따라 추가 역할에 부여될 수 있어요.

지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기(Creating custom roles)를 참고해요. 보호 가능한 객체에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여의 일반적인 내용은 접근 제어 개요(Overview of Access Control)를 참고해요.

사용 메모 (Usage notes)

메타데이터에 관해서는 다음 사항에 주의해요.

⚠️ 주의: 고객은 Snowflake 서비스를 사용할 때 (User 객체를 제외하고) 개인 데이터·민감 데이터·수출 통제 데이터·기타 규제 데이터를 메타데이터로 입력하지 않도록 해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고해요.

CREATE OR REPLACE <object> 문은 원자적(atomic)으로 동작해요. 즉, 객체를 교체할 때 기존 객체는 삭제되고 새 객체는 단일 트랜잭션 안에서 생성돼요.

예시 (Examples)

AWS에서 arn:aws:iam::001234567890:role/myrole이라는 역할로 명명된 Snowflake를 AWS에 연결하는 보안 인티그레이션을 만들어요.

CREATE SECURITY INTEGRATION aws_iam
  TYPE = API_AUTHENTICATION
  AUTH_TYPE = AWS_IAM
  AWS_ROLE_ARN = 'arn:aws:iam::001234567890:role/myrole'
  ENABLED = true;

더 알아보기 (Learn more)