데이터베이스보기에 대한 IBM System i 권한


8

IBM i OS v6r1을 실행하는 IBM System i가 있습니다. 이 시스템에서 일부 데이터베이스 뷰를 작성했습니다. 내가하고 싶은 것은 특정 사용자 그룹 에게이보기에만 액세스 할 수있게하고보기가있는 라이브러리 내의 다른 것에는 액세스하지 않는 것입니다. 이것이 가능한가? 내 뷰가있는 라이브러리의 모든 테이블 및 뷰에 대한 읽기 권한 만 가진 사용자 그룹이 있었고 사용자가이 사용자 그룹 아래에 있으면 액세스가 작동합니다. 사용자 그룹을 복사 한 다음 내가 만든보기 만 포함하도록 권한을 할당하려고했으나 액세스가 거부되었습니다. 사용자 나 사용자 그룹에게도 뷰에 액세스하기 위해 뷰가 시작된 테이블에 대한 권한이 있어야합니까?


dba.stackexchange.com에이 게시 고려
WarrenT

@WarrenT는 이것이 iSeries / midrange에 대한 DB 질문만큼 실제로 시스템 관리 질문이라고 생각합니다. DB2 데이터베이스는 OS / 400에 긴밀하게 통합되어 있으며, 질문에서 물건을 걸려 넘어지는 도서관. (안타깝게도 미드 레인지 박스에 로그인 한 이후로 문제가 해결 된 방법이 100 % 확실하지 않습니다!)
voretaq7

@ voretaq7 예. 데이터베이스는 운영 체제의 본질에 짜여진 것이 아니라 머신 자체 (머신 인터페이스, MI)로 설계되었습니다. QSECOFR 이후 10 년이 지났으므로 답을 찾아봐야합니다. 그러나 아직 아무도 대답하지 않았으며 두 사이트 모두에게 공정한 게임이기 때문에 dba에 누군가가 머리 꼭대기에서 그것을 알고 있을지도 모른다고 생각했습니다.
WarrenT

답변:


4

예. 보기를 사용할 권한을 부여하는 것만으로는 충분하지 않습니다. 또한 사용자는 기본 테이블에 대한 권한도 가지고 있어야합니다.

제한된 사용자에게 액세스를 허용하는 한 가지 방법은 승인 된 권한입니다. 예를 들어 다음을 가정 해 봅시다.

사용자 RESTRICTED는 테이블에 액세스 할 수 없습니다. 모든 라이브러리는 AUT (* EXCLUDE)이거나 사용자 RESTRICTED는 모든 라이브러리에 대한 * EXCLUDE 권한을 갖습니다. USER PERMITTED는 테이블과 라이브러리에 액세스하거나 소유 할 수 있습니다. 라이브러리 DATA에는 테이블이 있습니다. 라이브러리 프로그램에는 프로그램과 저장 프로 시저가 있습니다.

라이브러리 프로그램에서 RPG 스토어드 프로 시저를 작성하도록 허용하십시오. 프로그램에 USRPRF (* OWNER)가 지정되어 있는지 확인하십시오. 이것은 프로그램이 실행될 때 프로그램을 실행하는 프로파일의 권한 (RESTRICTED)이 아닌 소유자의 권한 (PERMITTED)을 사용한다는 것을 의미합니다.

RPG 프로그램 오브젝트에 사용자 PERMITTED * USE 권한을 부여하십시오 (또는 SQL을 통해 GRANT). 또한 사용자에게 라이브러리 PROGRAMS에 대한 RESTRICTED * USE 액세스 권한을 부여하십시오. 이것은 RESTRICTED가 저장 프로 시저 / 프로그램을 실행할 수있게합니다.

RESTRICTED 사용자에게는 DATA의 테이블에 액세스 할 수있는 권한이 없으므로 그대로두기를 원합니다.

이제 RESTRICTED 사용자가 SQL을 사용하여 스토어드 프로 시저를 호출하도록하십시오. 라이브러리 프로그램 및 컴파일 된 프로그램 오브젝트에 대한 * USE 권한이 있으므로 프로그램을 실행할 권한이 있습니다. 스토어드 프로시 저는 소유자 PERMITTED의 권한으로 실행되며 PERMITTED는 라이브러리 DATA 및 그 테이블에 대한 전체 액세스 권한을 가지므로 스토어드 프로시 저는 해당 테이블에 액세스 / 업데이트 할 수 있습니다. RESTRICTED가 사용하려고 시도하는 원시 SQL은 권한이 충분하지 않아 실패합니다. 수행 할 수있는 유일한 작업은 작성된 저장 프로 시저를 호출하는 것입니다.

프로그램이 데이터와 동일한 라이브러리에 저장된 경우 라이브러리에 RESTRICTED * USE 권한을 부여하고 특히 해당 라이브러리의 모든 테이블에 대해 (EXCLUDE를 통해) 제한해야합니다. 저장 프로 시저 만 보유하고 해당 라이브러리에 대한 권한을 부여하는 RESTRICTED 라이브러리를 작성하는 것이 더 쉬울 수 있습니다. 따라서 DATA에서 새로 작성된 테이블을 제한하지 않아도되므로 지속적인 유지 보수가 쉬워집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.