SYS 객체에 대한 SELECT 또는 EXECUTE 권한 부여 - Amazon Relational Database Service

SYS 객체에 대한 SELECT 또는 EXECUTE 권한 부여

일반적으로 여러 객체가 포함되어 있을 수 있는 역할을 사용하여 권한을 이전합니다. 단일 객체에 권한을 부여하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.grant_sys_object를 사용합니다. 이 프로시저는 마스터 사용자가 역할이나 직접 부여를 통해 이미 부여받은 권한만 부여합니다.

grant_sys_object 프로시저에는 다음과 같은 파라미터가 있습니다.

중요

대소문자를 구분하는 식별자로 사용자를 생성하지 않는 한 모든 파라미터 값에 대문자를 사용합니다. 예를 들어 CREATE USER myuser 또는 CREATE USER MYUSER를 실행하는 경우 데이터 딕셔너리에 MYUSER가 저장됩니다. 그러나 CREATE USER "MyUser"에서 큰 따옴표를 사용하는 경우 데이터 딕셔너리를 MyUser에 저장합니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_obj_name

varchar2

권한을 부여할 객체의 이름입니다. 디렉터리, 기능, 패키지, 프로시저, 시퀀스, 테이블, 뷰가 객체가 될 수 있습니다. 객체 이름은 DBA_OBJECTS에 표시된 대로 정확하게 입력해야 합니다. 대부분의 시스템 객체는 대문자로 정의되므로 먼저 대문자로 시도하는 것이 좋습니다.

p_grantee

varchar2

권한을 부여할 객체의 이름입니다. 스키마나 역할이 객체가 될 수 있습니다.

p_privilege

varchar2

null

p_grant_option

boolean

false

아니요

true는 부여 옵션과 함께 사용하도록 설정됩니다.

다음 예에서는 V_$SESSION이라는 객체에 대한 선택 권한을 USER1이라는 사용자에게 부여합니다.

begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT'); end; /

다음 예에서는 V_$SESSION 이라는 객체에 대한 선택 권한을 USER1이라는 사용자에게 부여 옵션과 함께 부여합니다.

begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SESSION', p_grantee => 'USER1', p_privilege => 'SELECT', p_grant_option => true); end; /

객체에 권한을 부여할 수 있으려면 해당 권한을 부여 옵션을 통해 계정에 직접 부여하거나 with admin option을 사용해 부여된 역할을 통해 계정에 부여해야 합니다. 대부분 이미 SELECT 역할에 부여된 DBA 뷰에 SELECT_CATALOG_ROLE 권한을 부여하는 경우가 많습니다. 해당 역할이 아직 with admin option을 통해 사용자에게 직접 부여되지 않았다면 권한을 양도할 수 없습니다. DBA 권한이 있다면 역할을 직접 다른 사용자에게 부여할 수 있습니다.

다음은 SELECT_CATALOG_ROLEEXECUTE_CATALOG_ROLEUSER1에게 부여하는 예제입니다. with admin option을 사용했기 때문에, USER1은 이제 SELECT_CATALOG_ROLE에 부여된 SYS 객체 액세스 권한을 부여할 수 있습니다.

GRANT SELECT_CATALOG_ROLE TO USER1 WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE to USER1 WITH ADMIN OPTION;

PUBLIC에 이미 부여된 객체는 다시 부여할 필요가 없습니다. grant_sys_object 프로시저를 사용하여 액세스 권한을 다시 부여한다면, 프로시저는 성공을 호출합니다.