Babelfish for Aurora PostgreSQL에서 권한 및 액세스 제어 관리 - Amazon Aurora

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 login

없음

모든 버전

데이터베이스에서 SELECTs/DMLs/DDLs를 수행하기 위한 로그인 허용

로그인을 데이터베이스의 소유자로 설정

ALTER AUTHORIZATION ON DATABASE::database TO login

데이터베이스에는 소유자가 하나만 있을 수 있습니다.

버전 3.4 이상

데이터베이스 사용자가 스키마에서 SELECTs/DMLs를 수행하도록 허용

스키마에서 데이터베이스 사용자에게 권한 부여

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON SCHEMA::schema TO user

CASCADE는 스키마에 대한 권한 부여/취소에서 지원되지 않습니다.

GRANT/REVOKE OPTION FOR .. on SCHEMA는 Babelfish에서 지원되지 않습니다.

CREATE SCHEMA 내의 GRANT/REVOKE는 Babelfish에서 지원되지 않습니다.

버전 3.6 이상, 4.2 이상

데이터베이스 사용자가 스키마에서 SELECTs/DMLs를 수행하도록 허용

스키마 생성 시 스키마의 데이터베이스 사용자 소유자 생성

CREATE SCHEMA schema AUTHORIZATION user.

만든 후 스키마 소유권 변경은 현재 지원되지 않습니다.

버전 1.2 이상

데이터베이스 사용자가 객체에서 SELECTs/DMLs를 수행하도록 허용

객체의 데이터베이스 사용자에게 권한 부여

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT::object TO user

없음

모든 버전

데이터베이스 사용자가 데이터베이스 삭제를 포함하여 데이터베이스에서 SELECTs/DMLs/DDLs를 수행하도록 허용

db_owner 고정 데이터베이스 역할에 사용자 추가

ALTER ROLE db_owner ADD MEMBER user

db_owner 고정 데이터베이스 역할에 사용자만 추가할 수 있습니다. db_owner 역할에 역할을 추가하는 것은 아직 지원되지 않습니다.

버전 4.5 이상, 5.1 이상

사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 SELECT만 수행하도록 허용

db_datareader 고정 데이터베이스 역할에 사용자 또는 역할 추가

ALTER ROLE db_datareader ADD MEMBER user / role

없음

버전 4.5 이상, 5.1 이상

사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DML만 수행하도록 허용

db_datawriter 고정 데이터베이스 역할에 사용자 또는 역할 추가

ALTER ROLE db_datawriter ADD MEMBER user / role

없음

버전 4.5 이상, 5.1 이상

사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DDL만 수행하도록 허용

db_accessadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가

ALTER ROLE db_accessadmin ADD MEMBER user / role

없음

버전 4.5 이상, 5.1 이상

사용자 지정 데이터베이스 역할의 사용자 또는 구성원에게 사용자 지정 역할 CREATE/ALTER/DROP, 데이터베이스의 객체에 대한 권한 GRANT/REVOKE 및/또는 데이터베이스의 CREATE SCHEMA만 허용

db_securityadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가

ALTER ROLE db_securityadmin ADD MEMBER user / role

없음

버전 4.5 이상, 5.1 이상

사용자 지정 데이터베이스 역할의 사용자 또는 구성원에게 모든 사용자에 대한 CREATE/ALTER/DROP, 데이터베이스 액세스 권한 부여 또는 취소, 로그인에 사용자 계정 매핑 및/또는 데이터베이스에서의 CREATE SCHEMA만 허용

db_accessadmin 고정 데이터베이스 역할에 사용자 또는 역할 추가

ALTER ROLE db_accessadmin ADD MEMBER user / role

없음

버전 4.5 이상, 5.1 이상

로그인에 모든 데이터베이스에 대한 CREATE/DROP/ALTER만 허용

dbcreator 고정 서버 역할에 로그인 추가

ALTER SERVER ROLE dbcreator ADD MEMBER login

dbcreator 로그인이 액세스할 수 있는 데이터베이스만 변경할 수 있습니다.

버전 4.5 이상, 5.1 이상

로그인에 모든 로그인에 대한 CREATE/ALTER/DROP만 허용

securityadmin 고정 서버 역할에 로그인 추가

ALTER SERVER ROLE securityadmin ADD MEMBER login

없음

버전 4.5 이상, 5.1 이상

지원되지 않는 사용 사례 및 해결 방법

다음 표에서는 Babelfish에서 지원되지 않지만 해결 방법을 사용하여 달성할 수 있는 사용 사례를 설명합니다.

사용 사례 작업 SQL 명령 설명 해결 방법을 위한 Babelfish 버전 호환성

다른 사용자에게 이러한 권한을 GRANT하는 옵션과 함께 사용자가 객체/스키마에 SELECT/DML을 수행하도록 허용

다른 모든 사용자에게 직접 권한 GRANT

GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA::object/schema TO user

GRANT ... WITH GRANT OPTION은 현재 지원되지 않습니다.

버전 3.6 이상, 4.2 이상

데이터베이스 사용자가 데이터베이스 삭제를 포함하여 데이터베이스에서 SELECTs/DMLs/DDLs를 수행하도록 허용

db_owner 고정 데이터베이스 역할에 역할 구성원 추가

ALTER ROLE db_owner ADD MEMBER user

db_owner 역할에 역할 추가는 현재 지원되지 않습니다.

버전 4.5 이상, 5.1 이상

지원되는 사용 사례

다음 표에서는 Babelfish에서 지원되지 않는 사용 사례를 설명합니다.

사용 사례 설명

사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 SELECT를 수행하지 못하도록 거부

db_denydatareader 고정 데이터베이스 역할은 아직 지원되지 않습니다.

사용자 지정 데이터베이스 역할의 사용자 또는 구성원이 데이터베이스에서 DML을 수행하지 못하도록 거부

db_denydatawriter 고정 데이터베이스 역할은 현재 지원되지 않습니다.

로그인에 모든 데이터베이스 연결에 대한 KILL만 허용

processadmin 고정 서버 역할은 현재 지원되지 않습니다.

로그인에 연결된 서버 추가 또는 제거만 허용

setupadmin 고정 서버 역할은 현재 지원되지 않습니다.