ALTER RESTRICTED SESSION SCOPE

ALTER RESTRICTED SESSION SCOPE

기존 제한 세션 범위(restricted session scope)의 속성을 수정하는 명령이에요. RSSRESTRICTED SESSION SCOPE의 축약 별칭이에요. 이 문에서 두 형식을 모두 사용할 수 있어요. YAML 정의의 변경 사항은 새 에이전트 활동에 적용돼요. 세션에서 이미 활성화된 RSS는 해당 세션의 수명 동안 변경할 수 없어요.

출처: 문서

본문

관련 명령: CREATE RESTRICTED SESSION SCOPE, DROP RESTRICTED SESSION SCOPE, SHOW RESTRICTED SESSION SCOPES, DESCRIBE RESTRICTED SESSION SCOPE

구문 (Syntax)

ALTER { RESTRICTED SESSION SCOPE | RSS } [ IF EXISTS ] <name> AS $$
  <yaml_definition>
$$

ALTER { RESTRICTED SESSION SCOPE | RSS } [ IF EXISTS ] <name> ADD AS $$
  <yaml_fragment>
$$

ALTER { RESTRICTED SESSION SCOPE | RSS } [ IF EXISTS ] <name> REMOVE AS $$
  <yaml_fragment>
$$

ALTER { RESTRICTED SESSION SCOPE | RSS } [ IF EXISTS ] <name> SET
  [ COMMENT = '<string_literal>' ]

ALTER { RESTRICTED SESSION SCOPE | RSS } [ IF EXISTS ] <name> UNSET COMMENT

매개변수 (Parameters)

name — 수정할 제한 세션 범위의 식별자예요.

식별자에 공백이나 특수 문자가 포함되어 있으면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 자세한 내용은 식별자 요구사항을 참고하세요.

AS $$ yaml_definition $$ — 제한 세션 범위의 전체 YAML 권한 상한(privilege ceiling)을 교체해요. YAML 구조는 에이전트용 제한 세션 범위를 참고하세요.

ADD AS $$ yaml_fragment $$ — 조각(fragment)의 항목을 현재 정의에 병합해요. 전체 YAML을 다시 작성하지 않고 기존 상한을 넓힐 때 이 형식을 사용해요.

REMOVE AS $$ yaml_fragment $$ — 조각과 일치하는 항목을 현재 정의에서 제거해요. 전체 YAML을 다시 작성하지 않고 기존 상한을 좁힐 때 이 형식을 사용해요.

SET ... — 제한 세션 범위에 설정할 하나 이상의 속성을 지정해요:

COMMENT = 'string_literal' — 제한 세션 범위의 주석을 추가하거나 기존 주석을 덮어써요.

UNSET ... — 제한 세션 범위에서 해제할 속성을 지정해 기본값으로 되돌려요. 속성을 해제할 때는 속성 이름만 지정해요. 값을 지정하면 오류가 반환돼요.

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

이 SQL 명령을 실행하는 데 사용되는 역할은 최소한 다음 권한 중 하나를 보유해야 해요:

권한 객체
MODIFY 또는 OWNERSHIP Restricted session scope

스키마의 객체를 조작하려면 상위 데이터베이스와 상위 스키마 각각에 대해 하나 이상의 권한이 필요해요.

지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.

보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.

사용 메모 (Usage notes)

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

예시 (Examples)

기존 제한 세션 범위의 YAML 정의를 교체해요.

ALTER RESTRICTED SESSION SCOPE mydb.governance.agent_scope AS $$
privilege_scopes:
  allowed_privileges:
    - privileges: [data read]
      account: [all]
role_scopes:
  blocked_roles: [ACCOUNTADMIN, SYSADMIN, SECURITYADMIN]
  allow_role_switching: false
$$;

부분 매니페스트로 기존 정의를 넓혀요.

ALTER RSS analytics_ro ADD AS $$
privilege_scopes:
  allowed_privileges:
    - privileges: [usage]
      object_types: [cortex search service]
      databases: [analytics_db]
$$;

부분 매니페스트로 기존 정의를 좁혀요.

ALTER RSS analytics_ro REMOVE AS $$
privilege_scopes:
  allowed_privileges:
    - privileges: [data write]
      databases: [analytics_db]
$$;

더 알아보기 (Learn more)