2013-05-22 3 views
1

특정 사용자가 다른 사용자에게 액세스 할 수있는 모든 데이터베이스 개체의 사용 권한을 부여하는 방법을 알고 싶습니다. 한 사용자가 Oracle에서 다른 사용자에게 권한을 부여하십시오.

는 오라클 데이터베이스에 4 명의 사용자가, 설명하기 : A, B, C 및 D가

  1. 사용자 A 물건을 보유하고 있지 않습니다,하지만 B와 C
  2. 에서 특정 개체에 액세스 할 수 있습니다
  3. 사용자 B와 C는

가 지금은 사용자 A가 사용자 B와 C가 가진 모든 권한을 갖고 싶어 일부 개체를 소유뿐만 아니라, B, C에서 다른 데이터베이스 오브젝트에 대한 액세스를 가지고 있고, D. (그들 중 일부는 이미 있었을 것이다).

이 작업을 수행하는 올바른 방법은 무엇입니까? 쿼리 나 프로 시저를 사용해야합니까? 이 절차는 항상 데이터베이스 객체 소유자의 로그인으로 실행해야합니까? 예를 들어, B는 D의 어떤 객체에 접근 할 수 있고, B는 A의 객체의 허가를 줄 수 있습니까?

답변

2

역할을 사용하여 시스템 및 개체 권한을 그룹화 한 다음 해당 역할을 사용자 및 기타 역할에 할당 할 수 있습니다. 이렇게하면 역할에 포함 된 권한을 사용자에게 부여 할 수 있으므로 보안 관리가 단순 해집니다 (데이터베이스 개념의 "Privilege and Role Authorization" 참조).

예를 들어 B는 D의 일부 개체에 액세스 할 수 있으며 B는 A 개체에 D 개체의 권한을 부여 할 수 있습니까? 그는이 권한 또는 역할 WITH ADMIN OPTION 또는 WITH GRANT OPTION이 부여 된 경우

사용자 SCOTT 다른 사용자 또는 역할에 개체 권한, 시스템 권한 또는 역할을 부여 할 수 있습니다.

grant select_hr to scott with admin option; 

SCOTT 지금이 할당 할 수 있습니다 :

create role select_hr; 
grant select on hr.employees to select_hr; 
grant select on hr.departments to select_hr; 

지금 당신이 SCOTT이 방법이 역할을 할당 할 수 있습니다 : 예를 들어, 역할 select_hr는 사용자 HR가 소유 한 일부 테이블을 조회 할 수있는 권한을 가지고 관리자 옵션없이 또는 다른 데이터베이스 사용자에게 역할 :

grant select_hr to bob; 

날엔에 "Granting a User Privileges and Roles"를 참조하십시오 보안 지침을 준수하십시오.

관련 문제