Babelfish for Aurora PostgreSQL에서 권한 및 액세스 제어 관리
Babelfish for Aurora PostgreSQL에서 데이터베이스, 스키마 및 객체에 대한 권한 및 액세스 제어를 관리할 수 있습니다. 다음 표에는 Babelfish에서 다양한 액세스 제어 시나리오를 달성할 수 있는 권한을 부여하는 특정 SQL 명령이 요약되어 있습니다. 현재 지원되지 않는 사례에 대한 해결 방법뿐만 아니라 구현할 수 있는 지원되는 사용 사례를 다룹니다. 이렇게 하면 Babelfish 데이터베이스로 작업할 때 보안 및 규정 준수 요구 사항에 맞게 적절한 권한을 구성할 수 있습니다.
지원되는 사용 사례
다음 표에서는 Babelfish에서 지원되는 사용 사례를 설명합니다. 각 사용 사례에 대해 표에는 이를 달성하는 데 필요한 작업과 샘플 SQL 명령이 나와 있습니다.
사용 사례 | 작업 | SQL 명령 | 설명 | Babelfish 버전 호환성 |
---|---|---|---|---|
모든 데이터베이스에서 SELECTs/DMLs/DDLs를 수행하기 위한 로그인 허용 |
sysadmin 서버 역할에 로그인 추가 |
ALTER SERVER ROLE sysadmin ADD MEMBER |
없음 |
모든 버전 |
데이터베이스에서 SELECTs/DMLs/DDLs를 수행하기 위한 로그인 허용 |
로그인을 데이터베이스의 소유자로 설정 |
ALTER AUTHORIZATION ON DATABASE:: |
데이터베이스에는 소유자가 하나만 있을 수 있습니다. |
버전 3.4 이상 |
데이터베이스 사용자가 스키마에서 SELECTs/DMLs를 수행하도록 허용 |
스키마에서 데이터베이스 사용자에게 권한 부여 |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON SCHEMA:: |
CASCADE는 스키마에 대한 권한 부여/취소에서 지원되지 않습니다. GRANT/REVOKE OPTION FOR .. on SCHEMA는 Babelfish에서 지원되지 않습니다. CREATE SCHEMA 내의 GRANT/REVOKE는 Babelfish에서 지원되지 않습니다. |
버전 3.6 이상, 4.2 이상 |
데이터베이스 사용자가 스키마에서 SELECTs/DMLs를 수행하도록 허용 |
스키마 생성 시 스키마의 데이터베이스 사용자 소유자 생성 |
CREATE SCHEMA |
만든 후 스키마 소유권 변경은 현재 지원되지 않습니다. |
버전 1.2 이상 |
데이터베이스 사용자가 객체에서 SELECTs/DMLs를 수행하도록 허용 |
객체의 데이터베이스 사용자에게 권한 부여 |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT:: |
없음 |
모든 버전 |
데이터베이스 사용자가 데이터베이스 삭제를 포함하여 데이터베이스에서 SELECTs/DMLs/DDLs를 수행하도록 허용 |
db_owner 고정 데이터베이스 역할에 사용자 추가 |
ALTER ROLE db_owner ADD MEMBER |
db_owner 고정 데이터베이스 역할에 사용자만 추가할 수 있습니다. db_owner 역할에 역할을 추가하는 것은 아직 지원되지 않습니다. |
버전 4.5 이상, 5.1 이상 |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 SELECT만 수행하도록 허용 |
db_datareader 고정 데이터베이스 역할에 사용자 또는 역할 추가 |
ALTER ROLE db_datareader ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DML만 수행하도록 허용 |
db_datawriter 고정 데이터베이스 역할에 사용자 또는 역할 추가 |
ALTER ROLE db_datawriter ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DDL만 수행하도록 허용 |
db_accessadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가 |
ALTER ROLE db_accessadmin ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원에게 사용자 지정 역할 CREATE/ALTER/DROP, 데이터베이스의 객체에 대한 권한 GRANT/REVOKE 및/또는 데이터베이스의 CREATE SCHEMA만 허용 |
db_securityadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가 |
ALTER ROLE db_securityadmin ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원에게 모든 사용자에 대한 CREATE/ALTER/DROP, 데이터베이스 액세스 권한 부여 또는 취소, 로그인에 사용자 계정 매핑 및/또는 데이터베이스에서의 CREATE SCHEMA만 허용 |
db_accessadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가 |
ALTER ROLE db_accessadmin ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
로그인에 모든 데이터베이스에 대한 CREATE/DROP/ALTER만 허용 |
dbcreator 고정 서버 역할에 로그인 추가 |
ALTER SERVER ROLE dbcreator ADD MEMBER |
dbcreator 로그인이 액세스할 수 있는 데이터베이스만 변경할 수 있습니다. |
버전 4.5 이상, 5.1 이상 |
로그인에 모든 로그인에 대한 CREATE/ALTER/DROP만 허용 |
securityadmin 고정 서버 역할에 로그인 추가 |
ALTER SERVER ROLE securityadmin ADD MEMBER |
없음 |
버전 4.5 이상, 5.1 이상 |
지원되지 않는 사용 사례 및 해결 방법
다음 표에서는 Babelfish에서 지원되지 않지만 해결 방법을 사용하여 달성할 수 있는 사용 사례를 설명합니다.
사용 사례 | 작업 | SQL 명령 | 설명 | 해결 방법을 위한 Babelfish 버전 호환성 |
---|---|---|---|---|
다른 사용자에게 이러한 권한을 GRANT하는 옵션과 함께 사용자가 객체/스키마에 SELECT/DML을 수행하도록 허용 |
다른 모든 사용자에게 직접 권한 GRANT |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA:: |
GRANT ... WITH GRANT OPTION은 현재 지원되지 않습니다. |
버전 3.6 이상, 4.2 이상 |
데이터베이스 사용자가 데이터베이스 삭제를 포함하여 데이터베이스에서 SELECTs/DMLs/DDLs를 수행하도록 허용 |
db_owner 고정 데이터베이스 역할에 역할 구성원 추가 |
ALTER ROLE db_owner ADD MEMBER |
db_owner 역할에 역할 추가는 현재 지원되지 않습니다. |
버전 4.5 이상, 5.1 이상 |
지원되는 사용 사례
다음 표에서는 Babelfish에서 지원되지 않는 사용 사례를 설명합니다.
사용 사례 | 설명 |
---|---|
사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 SELECT를 수행하지 못하도록 거부 |
db_denydatareader 고정 데이터베이스 역할은 아직 지원되지 않습니다. |
사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DML을 수행하지 못하도록 거부 |
db_denydatawriter 고정 데이터베이스 역할은 현재 지원되지 않습니다. |
로그인에 모든 데이터베이스 연결에 대한 KILL만 허용 |
processadmin 고정 서버 역할은 현재 지원되지 않습니다. |
로그인에 연결된 서버 추가 또는 제거만 허용 |
setupadmin 고정 서버 역할은 현재 지원되지 않습니다. |