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 |
なし |
すべてのバージョン |
ログインしてデータベースで SELECT/DML/DDL を実行できるようにする |
ログインをデータベースの所有者にする |
ALTER AUTHORIZATION ON DATABASE:: |
データベースの所有者は 1 人だけです。 |
バージョン 3.4 以降 |
データベースユーザーにスキーマでの SELECT/DML の実行を許可する |
スキーマのデータベースユーザーにアクセス許可を付与する |
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 以降 |
データベースユーザーにスキーマでの SELECT/DML の実行を許可する |
スキーマ作成時にデータベースユーザーをスキーマの所有者にする |
CREATE SCHEMA |
作成後のスキーマ所有者の変更は現在サポートされていません。 |
バージョン 1.2 以降 |
データベースユーザーにオブジェクトに対する SELECT/DML の実行を許可する |
オブジェクトのデータベースユーザーにアクセス許可を付与する |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT:: |
なし |
すべてのバージョン |
データベースユーザーに、データベースの削除を含む、データベース内での SELECT/DML/DDL の実行を許可する |
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 バージョンの互換性 |
---|---|---|---|---|
ユーザーにオブジェクト/スキーマに対する SELECT/DML の実行と、これらのアクセス許可を他のユーザーに "付与" するオプションを許可する |
他のすべてのユーザーにアクセス許可を直接 "付与" する |
GRANT SELECT/EXECUTE/INSERT/UPDATE/DELETE ON OBJECT/SCHEMA:: |
GRANT ... WITH GRANT OPTION は現在サポートされていません。 |
バージョン 3.6 以降、4.2 以降 |
データベースユーザーに、データベースの削除を含む、データベース内での SELECT/DML/DDL の実行を許可する |
db_owner 固定データベースロールにロールのメンバーを追加する |
ALTER ROLE db_owner ADD MEMBER |
db_owner ロールへのロールの追加は現在サポートされていません。 |
バージョン 4.5 以降、5.1 以降 |
サポートされていないユースケース
次の表は、Babelfish でサポートされていないユースケースを示しています。
ユースケース | コメント |
---|---|
ユーザーまたはカスタムデータベースロールのメンバーに、データベース内の SELECT の実行を拒否する |
db_denydatareader 固定データベースロールはまだサポートされていません |
ユーザーまたはカスタムデータベースロールのメンバーに、データベース内の DML の実行を拒否する |
db_denydatawriter 固定データベースロールは現在サポートされていません。 |
任意のデータベース接続の KILL のみへのログインを許可する |
processadmin 固定サーバーロールは現在サポートされていません。 |
リンクされたサーバーのみを追加または削除するためのログインを許可する |
setupadmin 固定サーバーロールは現在サポートされていません。 |