Babelfish で Active Directory セキュリティグループを使用して Kerberos 認証を設定する - Amazon Aurora

Babelfish で Active Directory セキュリティグループを使用して Kerberos 認証を設定する

Babelfish バージョン 4.2.0 以降では、Active Directory セキュリティグループを使用して Babelfish の kerberos 認証を設定できます。Active Directory を使用して kerberos 認証の設定を完了するための前提条件は次のとおりです。

  • Babelfish を使用した Kerberos 認証」に記載されているすべてのステップに従う必要があります。

  • DB インスタンスが Active Directory に関連付けられていることを確認します。これを確認するために、ドメインメンバーシップのステータスをコンソールで表示するか、describe-db-instances AWS CLI コマンドを実行すると表示できます。

    DB インスタンスのステータスは kerberos 対応である必要があります。ドメインメンバーシップの理解についての詳細は、「ドメインのメンバーシップを理解する」を参照してください。

  • NetBIOS ドメイン名と DNS ドメイン名の間のマッピングを確認するには、次のクエリを使用します。

    SELECT netbios_domain_name, fq_domain_name FROM babelfish_domain_mapping;
  • 先に進む前に、個々のログインを使用した Kerberos 認証が期待どおりに機能することを確認します。Active Directory ユーザーとして Kerberos 認証を使用する接続は成功する必要があります。問題が発生した場合は、「頻繁に発生するエラー」を参照してください。

pg_ad_mapping 拡張機能のセットアップ

pg_ad_mapping 拡張機能のセットアップ」に記載されているすべてのステップに従う必要があります。拡張機能がインストールされていることを確認するには、TDS エンドポイントから次のクエリを実行します。

1> SELECT extname, extversion FROM pg_extension where extname like 'pg_ad_mapping'; 2> GO extname extversion ------------- ---------- pg_ad_mapping 0.1 (1 rows affected)

グループログインの管理

ログインの管理」に記載されている手順に従って、グループログインを作成します。メンテナンスを容易にするために、ログイン名は Active Directory (AD) セキュリティグループ名と同じにすることをお勧めしますが、必須ではありません。次に例を示します。

CREATE LOGIN [corp\accounts-group] FROM WINDOWS [WITH DEFAULT_DATABASE=database]

監査とログ記録

AD セキュリティプリンシパル ID を決定するには、次のコマンドを使用します。

1> select suser_name(); 2> GO suser_name ---------- corp\user1 (1 rows affected)

現在、AD ユーザー ID はログに表示されません。log_connections パラメータを有効にすると、DB セッションの確立をログに記録できます。詳細については、「log_connections」を参照してください。出力には、次の例に示すように、プリンシパルとして AD ユーザー ID が含まれます。この出力に関連付けられたバックエンド PID は、属性アクションを実際の AD ユーザーに戻すのに役立ちます。

bbf_group_ad_login@babelfish_db:[615]:LOG: connection authorized: user=bbf_group_ad_login database=babelfish_db application_name=sqlcmd GSS (authenticated=yes, encrypted=yes, principal=user1@CORP.EXAMPLE.COM)