SA_SYSDBA

SA_SYSDBA 패키지의 기본 개념과 패키지 내의 프러시저와 함수를 사용하는 방법을 설명합니다.

개요

SA_SYSDBA 패키지는 Tibero Label Security 정책들을 생성, 변경, 작동 제어, 제거하는 데 사용할 수 있 는 프러시저를 제공합니다.

프러시저

본 절에서는 SA_SYSDBA 패키지에서 제공하는 프러시저를 알파벳 순으로 설명합니다.

ALTER_POLICY

해당 Label Security 정책을 변경합니다. 기본 시행 옵션과 레이블 열 이름을 변경할 수 있습니다. 하지만 레이블 열 이름은 해당 정책이 테이블에 적용되지 않았을 때만 변경 가능합니다.

ALTER_POLICY 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

SA_SYSDBA.ALTER_POLICY
(
    policy_name     IN VARCHAR2,
    default_options IN VARCHAR2 DEFAULT NULL,
    column_name     IN VARCHAR2 DEFAULT NULL
);
  • 파라미터

파라미터
설명

policy_name

  • Label Security 정책의 이름

  • 저장된 정책은 ALL_SA_POLICIES 뷰의 POLICY_NAME 열에서 찾을 수 있음

default_options

정책이 적용되고 테이블 옵션이 지정되지 않은 경우 사용할 기본 시행 옵션 각 옵션을 콤마(,)로 구분해야 함

가능한 정책 시행 옵션은 다음과 같음

  • CHECK_CONTROL : INSERT, UPDATE 연산에 READ_CONTROL 정책 옵션을 부여. 따라서, 새로 생성된 행에 대해서 정책을 적용

  • READ_CONTROL : 모든 쿼리에 정책을 적용. 권한이 부여된 행에 대해서만 SELECT, UPDATE, DELETE 연산이 가능

  • WRITE_CONTROL : INSERT_CONTROL, DELETE_CONTROL, UP DATE_CONTROL를 합친 옵션

  • INSERT_CONTROL : INSERT 연산에 정책을 적용

  • DELETE_CONTROL : DELETE 연산에 정책을 적용

  • UPDATE_CONTROL : UPDATE 연산에 정책을 적용

  • ALL_CONTROL : 모든 정책 시행 옵션을 적용

  • NO_CONTROL : 아무런 정책 시행 옵션을 적용하지 않음

column_name

  • 정책과 연결된 열 이름을 지정

  • 저장된 열 이름은 ALL_SA_POLICIES 뷰의 COLUMN_NAME 열에서 찾을 수 있음

  • 예제

CREATE_POLICY

새로운 Label Security 정책을 생성합니다. 정책과 연결된 열 이름, 기본 정책 옵션들을 설정합니다.

CREATE_POLICY 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

policy_name

  • Label Security 정책의 이름. 정책 이름은 중복이 존재하면 안됨

  • 저장된 정책은 ALL_SA_POLICIES 뷰의 POLICY_NAME 열에서 찾을 수 있음

column_name

  • 정책에 의해 보호되는 테이블에 추가할 열 이름을 지정

  • NULL이면 poli cy_name_COL이 사용됨

  • 두 개의 정책은 같은 열 이름을 가질 수 없음

default_options

정책이 적용되고 테이블 옵션이 지정되지 않은 경우 사용할 기본 시행 옵션 각 옵션을 콤마(,)로 구분해야 함

가능한 정책 시행 옵션은 다음과 같음

  • CHECK_CONTROL : INSERT, UPDATE 연산에 READ_CONTROL 정책 옵션을 부여. 따라서, 새로 생성된 label에 대해서 정책을 적용

  • READ_CONTROL : 모든 쿼리에 정책을 적용. 권한이 부여된 row에 대해서만 SELECT, UPDATE, DELETE 연산이 가능

  • WRITE_CONTROL : INSERT_CONTROL, DELETE_CONTROL, UP DATE_CONTROL를 합친 옵션

  • INSERT_CONTROL : INSERT 연산에 정책을 적용

  • DELETE_CONTROL : DELETE 연산에 정책을 적용

  • UPDATE_CONTROL : UPDATE 연산에 정책을 적용

  • ALL_CONTROL : 모든 정책 시행 옵션을 적용

  • NO_CONTROL : 아무런 정책 시행 옵션을 적용하지 않음

  • 예제

DISABLE_POLICY

해당 정책을 제거하지 않고 정책의 시행을 중지시킨다. 정책의 시행을 중지시키면 정책에 의해 보호된 모 든 테이블의 접근 중재가 해제됩니다. 정책의 시행을 중지시키더라도 관리자는 Label Security 관리를 계속 진행 할 수 있습니다. 모든 테이블의 접근 중재가 해제되기 때문에 사용시 각별한 주의가 필요하다. 다시 정책의 시행을 활성화시키면, 정책에 의해 보호된 모든 테이블의 접근 중재가 다시 재작동됩니다.

DISABLE_POLICY 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

policy_name

  • Label Security 정책의 이름

  • 저장된 정책은 ALL_SA_POLICIES 뷰의 POLICY_NAME 열에서 찾을 수 있음

  • 예제

DROP_POLICY

해당 Label Security 정책과 연결되어 있던 유저 레이블, 데이터 레이블들을 데이터베이스에서 제거됩니다.이 프러시저를 호출하면 해당 정책과 연결되어 있는 모든 것을 시스템에서 제거할 수 있습니다. 옵션을 통해 정책에 의해 보호되는 모든 테이블들의 레이블 열을 제거할 수 있습니다. 제거 전에 정책을 중지시킬 필요는 없습니다.

DROP_POLICY 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

policy_name

  • 제거할 Label Security 정책의 이름

  • 저장된 정책은 ALL_SA_POLICIES 뷰의 POLICY_NAME 열에서 찾을 수 있음

drop_column

TRUE이면 보호되는 모든 테이블의 레이블 열들을 제거

  • 예제

ENABLE_POLICY

정책에 의해 보호되는 테이블에 대한 액세스 제어를 시행합니다. 정책은 생성될 때 자동으로 활성화됩니다. 생 성 또는 활성화 후에는 정책으로 보호되는 테이블에 대한 모든 후속 액세스에 대해 정책이 적용됩니다.

ENABLE_POLICY 프러시저의 세부 내용은 다음과 같습니다.

  • 프로토타입

  • 파라미터

파라미터
설명

policy_name

  • Label Security 정책의 이름

  • 저장된 정책과 해당 상태는 ALL_SA_POLICIES 뷰의 POLICY_NAME, STA TUS 열에서 찾을 수 있음

  • 예제

Last updated