Amazon RDS for Db2 での Kerberos 認証の使用 - Amazon Relational Database Service

Amazon RDS for Db2 での Kerberos 認証の使用

ユーザーが Amazon RDS for Db2 DB インスタンスに接続する際、Kerberos 認証を使用してユーザーを認証できます。DB インスタンスは AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) と連携して Kerberos 認証を有効にします。ユーザーが、信頼性の高いドメインに接続された RDS for Db2 DB インスタンスを使用して認証を実行すると、AWS Directory Service を使用して作成したディレクトリに認証リクエストが転送されます。詳細については、「AWS Directory Service 管理ガイド」の「AWS Directory Service とは」を参照してください。

まず、ユーザー認証情報を格納する AWS Managed Microsoft AD ディレクトリを作成します。次に、ドメインと AWS Managed Microsoft AD ディレクトリのその他の情報を RDS for Db2 DB インスタンスに追加します。ユーザーが RDS for Db2 DB インスタンスで認証を実行すると、認証リクエストは AWS Managed Microsoft AD ディレクトリに転送されます。

同じディレクトリにすべての認証情報を保持することで時間と労力を節約できます。この方法により、複数の DB インスタンスの認証情報を一元的に保存および管理できます。また、ディレクトリを使用することで、セキュリティプロファイル全体を向上できます。

Kerberos 認証の詳細については、以下のトピックを参照してください。

利用可能なリージョンとバージョン

機能の利用可能性とサポートは、各データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。Kerberos 認証を使用した RDS for Db2 のバージョンとリージョンの可用性の詳細については、「Amazon RDS での Kerberos データベース認証でサポートされているリージョンと DB エンジン」を参照してください。

注記

Kerberos 認証は、RDS for Db2 DB インスタンスで廃止された DB インスタンスクラスではサポートされていません。詳細については、「Amazon RDS for Db2 インスタンスクラス」を参照してください。

RDS for Db2 DB インスタンスの Kerberos 認証の概要

RDS for Db2 DB インスタンスに Kerberos 認証を設定するには、以下の一般的なステップを完了します。詳細は後で説明します。

  1. AWS Managed Microsoft AD を使用して AWS Managed Microsoft AD ディレクトリを作成します。AWS Management Console、AWS Command Line Interface (AWS CLI)、または AWS Directory Service を使用して、ディレクトリを作成できます。詳細については、「AWS Directory Service 管理ガイド」の「AWS Managed Microsoft AD を作成する」を参照してください。

  2. マネージド IAM ポリシー AmazonRDSDirectoryServiceAccess を使用する AWS Identity and Access Management (IAM) ロールの作成 この IAM ロールにより Amazon RDS はディレクトリを呼び出すことができます。

    IAM ロールによるアクセスを許可するには、AWS Security Token Service (AWS STS) エンドポイントを AWS アカウント の正しい AWS リージョン でアクティベートする必要があります。AWS STS エンドポイントはすべての AWS リージョン でデフォルトでアクティブになっているため、他のアクションを実行せずに、エンドポイントを使用することができます。詳細については、IAM ユーザーガイドの「AWS リージョン でのアクティブ化と非アクティブ化」を参照してください。

  3. 以下のいずれかの方法で、AWS Management Console、AWS CLI、または RDS API を使用して、RDS for Db2 DB インスタンスを作成または変更します。

    DB インスタンスは、ディレクトリと同じ Amazon Virtual Private Cloud (VPC) か、別の AWS アカウント または VPC にあります。RDS for Db2 DB インスタンスの作成または変更時に、次の手順を行います。

    • ディレクトリの作成時に、生成されたドメイン識別子 (d-* 識別子) を指定します。

    • 作成した IAM ロール名を指定します。

    • DB インスタンスのセキュリティグループが、ディレクトリのセキュリティグループからインバウンドトラフィックを受信できることを確認します。

  4. Db2 クライアントを設定し、次のポートでクライアントホストと AWS Directory Service の間でトラフィックが流れることを確認します。

    • TCP/UDP ポート 53 – DNS

    • TCP 88 – Kerberos 認証

    • TCP 389 – LDAP

    • TCP 464 – Kerberos 認証

ドメインの DB インスタンスの管理

AWS Management Console、AWS CLI、または RDS API を使用して、DB インスタンスおよび Microsoft Active Directory との関係を管理できます。例えば、Kerberos 認証を有効化するために、Active Directory を関連付けることができます。また、Active Directory の関連付けを解除して、Kerberos 認証を無効化することもできます。さらに、DB インスタンスを外部認証する Microsoft Active Directory を別の Active Directory に変更することもできます。

例えば、modify-db-instance CLI コマンドを使用して、次のアクションを実行できます。

  • --domain オプションに現在のメンバーシップのディレクトリ ID を指定して、失敗したメンバーシップに対する Kerberos 認証の有効化を再試行します。

  • --domain オプションに none を指定して、DB インスタンスの Kerberos 認証を無効にします。

  • --domain オプションに新しいドメインのドメイン識別子を指定して、DB インスタンスを 1 つのドメインから別のドメインに移動します。

ドメインのメンバーシップを理解する

DB インスタンスを作成または変更すると、そのインスタンスはドメインのメンバーになります。ドメインメンバーシップのステータスは、コンソールで、または describe-db-instances コマンドを実行して表示できます。DB インスタンスのステータスは、以下のいずれかです。

  • kerberos-enabled - DB インスタンスで Kerberos 認証が有効化されました。

  • enabling-kerberos - AWS は、この DB インスタンスで Kerberos 認証を有効化中です。

  • pending-enable-kerberos - この DB インスタンスでの Kerberos 認証の有効化が保留中です。

  • pending-maintenance-enable-kerberos - AWS は、次の予定メンテナンスウィンドウ中に、DB インスタンスでの Kerberos 認証の有効化を試みます。

  • pending-disable-kerberos - この DB インスタンスでの Kerberos 認証の無効化が保留中です。

  • pending-maintenance-disable-kerberos - AWS は、次の予定メンテナンスウィンドウ中に、DB インスタンスでの Kerberos 認証の無効化を試みます。

  • enable-kerberos-failed - 設定の問題により、AWS は DB インスタンスで Kerberos 認証を有効化できませんでした。DB インスタンスを変更するコマンドを再発行する前に、設定の問題を修正します。

  • disabling-kerberos - AWS は、この DB インスタンスで Kerberos 認証を無効化中です。

ネットワーク接続の問題や正しくない IAM ロールのために、Kerberos 認証の有効化リクエストは失敗する可能性があります。場合によっては、DB インスタンスを作成または変更するときに、Kerberos 認証を有効にしようとすると失敗する可能性があります。その場合、正しい IAM ロールを使用していることを確認してから、DB インスタンスを変更し、ドメインに接続します。