-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CBRD-25574] Add test case for When dropped user then remove related data on db_auth, db_authorization table #1950
base: develop
Are you sure you want to change the base?
Conversation
DBA | ||
U1 | ||
U2 null | ||
U3 null |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jdbc driver의 구현상의 문제로 db_authorization 테이블의 grants column은 출력되지 않습니다.
sql/_35_fig_cake/cbrd_25574/answers/04_drop_user_granted_partition_table.answer
Show resolved
Hide resolved
sql/_35_fig_cake/cbrd_25574/answers/04_drop_user_granted_partition_table.answer
Show resolved
Hide resolved
evaluate 'u2 grant to u1.tbl (granted select twice, but duplicate granted does not work)'; | ||
GRANT SELECT ON u1.tbl TO u2 WITH GRANT OPTION; | ||
GRANT SELECT ON u1.tbl TO u2 WITH GRANT OPTION; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"WITH GRANT OPTION"을 A 유저에게 부여했다.
취소 또는 변경도 가능한가?
취소/변경이 가능하다면, "WITH GRANT OPTION"을 갖고 있던 시점에 다른계정에 부여했던 권한은 유지되는가? 변경시점에 관련데이타도 함께 소멸하는가?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 내용은 아래의 PR에서 검증할 예정입니다.
#1956
select owner.name, grants from db_authorization where owner.name != 'PUBLIC' order by owner.name; | ||
|
||
select name from db_user order by name; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
○ 추가시나로 검토 - 아래 시나리오 확인하고, 추가 가능한지 검토해 주세요.
case #1
u1 계정에서 객체를 한개 생성
u1이 u2에게 조회와 권한부여 할당
u3에게는 조회 권한만 부여
u2가 u3에게 객체에 대한 조회 및 권한부여 할당
즉, u2는 u1으로부터도 권한을 받고, u2로부터도 권한을 받음
u2 유저 삭제
u3에게는 u1으로부터만 받은 권한이 존재하는지 확인
case #2
u1 계정에서 객체를 한개 생성
u1이 u2, u3에게 조회와 권한부여 할당
u2가 u4에게 객체에 대한 조회, 권한부여 할당
u3가 u4에게 객체에 대한 조회 할당
즉, u4는 u2으로부터도 조회+권한부여를 받고, u3로부터도 조회권한을 받음
u2 유저 삭제하고 u4에게 남아 있는 권한 확인
u3 유저 삭제하고 u4에게 남아 있는 권한 확인
case #3
u1 계정에서 객체를 한개 생성
u1이 u2, u3에게 조회와 권한부여 할당
u2가 u4에게 객체에 대한 조회 할당
u3가 u4에게 객체에 대한 조회 할당
즉, u4는 u2으로부터도 권한을 받고, u3로부터도 권한을 받음
u4 유저 삭제하고 권한데이타 확인
case #4
u1 계정에서 객체를 한개 생성
u1이 u2에게 조회와 권한부여 할당
u2가 u3에게 객체에 대한 조회 할당
u3가 u4에게 객체에 대한 조회 할당
u4가 u5에게 객체에 대한 조회 할당
u5가 u6에게 객체에 대한 조회 할당
u6가 u7에게 객체에 대한 조회 할당
u5 유저 삭제하고 권한데이타 확인
u2 유저 삭제하고 권한데이타 확인
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 내용은 아래의 PR에서 검증되고 있습니다.
PR: #1944
tc path: sql/_35_fig_cake/grant_revoke_redefine/cases/cbrd_25582.sql
sql/_35_fig_cake/cbrd_25574/cases/02_drop_last_granted_user.sql
Outdated
Show resolved
Hide resolved
=================================================== | ||
0 | ||
=================================================== | ||
grantor_name grantee_name object_type object_name owner_name auth_type is_grantable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GRANT EXECUTE ON PROCEDURE u1.hello TO u2; 수행 결과도 포함되어야 하는 것 아닌가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
지적 감사합니다.
해당 내용은 개발팀에 report하여 확인중입니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
해당 내용은 추후 spec 논의가 필요할 것으로 판단됩니다.
(관련 url: http://jira.cubrid.org/browse/CBRD-25580?focusedCommentId=4768802&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-4768802 )
따라서 현재 답지를 merge한 후, 추후 spec 논의 후 답지를 변경하는건 어떨까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네, 알겠습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ssihil
개발팀하고 논의한 내용을 공유 드립니다.
해당 tc는 u3가 db_auth를 통해 자신이 부여 받았거나, 부여한 권한에 대해서 조회하는 내용입니다.
만약, 말씀하신 것 처럼, u3 계정에서 u2가 u1에게 받은 권한을 확인하게 된다면, 보안 이슈가 발생하게 됩니다.
따라서 u3계정에서 'u2가 u1으로부터 부여 받은 권한을 열람하는 것은 바람직하지 않은 것 같습니다.
향후 스펙 논의를 하게 될 경우, 현행 유지 또는 oracle과 유사한 방식으로 변경하는 두가지 관점에서 논의하게 될 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네, 알겠습니다.
sql/_35_fig_cake/cbrd_25574/cases/04_drop_user_granted_partition_table.sql
Outdated
Show resolved
Hide resolved
Base branch 변경 |
Refer to http://jira.cubrid.org/browse/CBRD-25574
It related http://jira.cubrid.org/browse/CBRD-25580
and It needs to backport release/10.2, release/11.0 release/11.2, release/11.3