Babelfish for Aurora PostgreSQL でのアクセス許可とアクセスコントロールの管理 - Amazon Aurora

Babelfish for Aurora PostgreSQL でのアクセス許可とアクセスコントロールの管理

Babelfish for Aurora PostgreSQL では、データベース、スキーマ、オブジェクトのアクセス許可とアクセスコントロールを管理できます。次の表は、さまざまなアクセスコントロールのシナリオを達成するために、Babelfish でアクセス許可を付与するための特定の SQL コマンドの概要を示しています。サポートされている実装可能なユースケースと、現在サポートされていないケースの回避策について説明します。これにより、Babelfish データベースを使用する際のセキュリティおよびコンプライアンス要件を満たす適切なアクセス許可を設定できます。

対応するユースケース

次の表は、Babelfish でサポートされているユースケースを示しています。各ユースケースについて、達成するために必要なアクションとサンプル SQL コマンドがテーブルに表示されています。

ユースケース アクション SQL コマンド コメント Babelfish バージョンの互換性

ログインして任意のデータベースで SELECT/DML/DDL を実行できるようにする

sysadmin サーバーロールにログインを追加する

ALTER SERVER ROLE sysadmin ADD MEMBER login

なし

すべてのバージョン

ログインしてデータベースで SELECT/DML/DDL を実行できるようにする

ログインをデータベースの所有者にする

ALTER AUTHORIZATION ON DATABASE::database TO login

データベースの所有者は 1 人だけです。

バージョン 3.4 以降

データベースユーザーにスキーマでの SELECT/DML の実行を許可する

スキーマのデータベースユーザーにアクセス許可を付与する

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 以降

データベースユーザーにスキーマでの SELECT/DML の実行を許可する

スキーマ作成時にデータベースユーザーをスキーマの所有者にする

CREATE SCHEMA schema AUTHORIZATION user

作成後のスキーマ所有者の変更は現在サポートされていません。

バージョン 1.2 以降

データベースユーザーにオブジェクトに対する SELECT/DML の実行を許可する

オブジェクトのデータベースユーザーにアクセス許可を付与する

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

なし

すべてのバージョン

データベースユーザーに、データベースの削除を含む、データベース内での SELECT/DML/DDL の実行を許可する

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 バージョンの互換性

ユーザーにオブジェクト/スキーマに対する SELECT/DML の実行と、これらのアクセス許可を他のユーザーに "付与" するオプションを許可する

他のすべてのユーザーにアクセス許可を直接 "付与" する

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

GRANT ... WITH GRANT OPTION は現在サポートされていません。

バージョン 3.6 以降、4.2 以降

データベースユーザーに、データベースの削除を含む、データベース内での SELECT/DML/DDL の実行を許可する

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 固定サーバーロールは現在サポートされていません。