マスキングポリシー管理ロールの設定 - Amazon Aurora

マスキングポリシー管理ロールの設定

PostgreSQL 列マスキング拡張機能 を使用すると、pg_columnmask または rds_superuser テーブル所有者の権限を必要とせずに、マスキングポリシーの管理を特定のロールに委任できます。これにより、マスキングポリシーを作成、変更、削除できるユーザーをより詳細に制御できます。

マスキングポリシー管理権限を持つロールを設定するには、次の手順に従います。

  1. ポリシー管理者ロールの作成 – rds_superuser として、マスキングポリシーの管理を担当する新しいロールを作成します。

    CREATE ROLE mask_admin NOLOGIN;
  2. PostgreSQL パラメータの設定 – カスタム DB クラスターパラメータグループで、pgcolumnmask.policy_admin_rolname エンジン設定パラメータを作成したロールの名前に設定します。

    pgcolumnmask.policy_admin_rolname = mask_admin

    このエンジン設定パラメータは DB クラスターパラメータグループで設定でき、インスタンスの再起動は必要ありません。パラメータの更新の詳細については、「Amazon Aurora の DB クラスターパラメータグループのパラメータの変更」を参照してください。

  3. ユーザーにロールを付与する rds_superuser として、マスキングポリシーを管理できるユーザーに mask_admin ロールを付与します。

    CREATE USER alice LOGIN; CREATE USER bob LOGIN; GRANT mask_admin TO alice, bob;

    さらに、マスキングポリシーを管理するスキーマに対する USAGE 権限がユーザーに付与されていることを確認します。

    GRANT USAGE ON SCHEMA hr TO alice, bob;

これで、ユーザー alicebob がデータベースに接続すると、標準の pg_columnmask 拡張機能を使用して、スキーマに対する USAGE 権限を持つすべてのスキーマ内のすべてのテーブルでマスキングポリシーを作成、変更、削除できるようになります。