데이터베이스 역할: 향후 권한 부여와 함께 데이터베이스 역할 공유가 허용되지 않음¶
향후 권한 부여 및 데이터베이스 역할의 동작은 다음과 같습니다.
- 이전:
데이터베이스 역할에 향후 권한을 부여하고 데이터베이스 역할을 공유에 부여할 수 있습니다. 다음 두 가지 시나리오가 있습니다.
데이터베이스 역할에 권한을 부여한 다음 공유에 데이터베이스 역할을 부여합니다.
GRANT SELECT ON FUTURE TABLES IN SCHEMA sh TO DATABASE ROLE dbr1; GRANT DATABASE ROLE dbr1 TO SHARE myshare;
공유에 데이터베이스 역할을 부여한 다음 데이터베이스 역할에 향후 권한을 부여합니다.
GRANT DATABASE ROLE dbr1 TO SHARE myshare; GRANT SELECT ON FUTURE TABLES IN SCHEMA sh TO DATABASE ROLE dbr1;
다음 명령을 사용하여 보류 중인 변경 사항의 영향을 받는 데이터베이스 역할이 있는지 식별할 수 있습니다.
SHOW FUTURE GRANTS IN DATABASE parent_db; SHOW FUTURE GRANTS IN shared_schema;
- 현재:
데이터베이스 역할이 공유에 부여되면 오브젝트에 대해 향후 권한을 부여할 수 없습니다. Snowflake는 시도하는 시나리오에 따라 고유한 오류 메시지를 반환합니다.
시나리오 1에서의 오류 메시지는 다음과 같습니다.
Cannot share a database role with future grants to it.
데이터베이스 역할에서 향후 권한 부여를 취소하려면 REVOKE <권한> 문을 사용하십시오. 필요한 경우 향후 권한 부여를 지정하지 않도록 GRANT <권한> 문을 업데이트합니다. 마지막으로, 데이터베이스 역할을 공유에 부여합니다.
시나리오 2에서의 오류 메시지는 다음과 같습니다.
Cannot grant future grants to a database role that is granted to a share.
향후 권한 부여를 지정하지 않도록 GRANT <권한> 문을 수정합니다.
참조: 1144