Aurora PostgreSQL で Kerberos 認証を使用する - Amazon Aurora

Aurora PostgreSQL で Kerberos 認証を使用する

ユーザーが PostgreSQL が実行されている DB クラスターに接続する場合、Kerberos を使用してそのユーザーを認証できます。そのためには、Kerberos 認証に AWS Directory Service for Microsoft Active Directory を使用するように DB クラスターを設定します。AWS Directory Service for Microsoft Active Directory は AWS Managed Microsoft AD とも呼ばれます。これは、AWS Directory Service で利用できる機能です。詳細については、「AWS Directory Service 管理ガイド」の「AWS Directory Service とは」を参照してください。

まず、ユーザー認証情報を格納する AWS Managed Microsoft AD ディレクトリを作成します。次に、Active Directory のドメインおよびその他の情報を PostgreSQL DB クラスターに提供します。ユーザーが PostgreSQL DB クラスターを使用して認証を実行すると、認証要求は AWS Managed Microsoft AD ディレクトリに転送されます。

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

また、独自のオンプレミスの Microsoft Active Directory から認証情報にアクセスできます。そのためには、信頼するドメイン関係を作成して、AWS Managed Microsoft AD ディレクトリがオンプレミスの Microsoft Active Directory を信頼するようにします。これにより、ユーザーは、オンプレミスネットワークのワークロードにアクセスするときと同じ Windows シングルサインオン (SSO) の使い方で、PostgreSQL クラスターにアクセスできます。

データベースは Kerberos、AWS Identity and Access Management (IAM)、または Kerberos 認証と IAM 認証の両方。ただし、Kerberos 認証と IAM 認証では異なる認証方法が提供されるため、特定のユーザーは、一方の認証方法のみを使用してデータベースにログインできますが、両方を使用することはできません。IAM 認証の詳細については、「 の IAM データベース認証」を参照してください。

リージョンとバージョンの可用性

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

PostgreSQL DB クラスターの Kerberos 認証の概要

PostgreSQL DB クラスターに Kerberos 認証を設定するには、以下で説明するステップを実行します。

  1. AWS Managed Microsoft AD を使用して AWS Managed Microsoft AD ディレクトリを作成します。AWS Management Console、AWS CLI、AWS Directory Service API を使用して、ディレクトリを作成できます。ディレクトリがクラスターと通信できるように、ディレクトリセキュリティグループで関連するアウトバウンドポートを必ず開いてください。

  2. AWS Managed Microsoft AD ディレクトリを呼び出すためのアクセスを Amazon Aurora に許可するロールを作成します。これにより、マネージド IAM ポリシー AmazonRDSDirectoryServiceAccess を使用する AWS Identity and Access Management (IAM) ロールが作成されます。

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

  3. Microsoft Active Directory のツールを使用して、AWS Managed Microsoft AD ディレクトリでユーザーとグループを作成し、設定します。Active Directory にユーザーを作成する方法の詳細については、AWS 管理ガイドの「AWS Directory Service マネージド Microsoft AD でユーザーとグループを管理する」を参照してください。

  4. 異なる AWS アカウントまたは Virtual Private Cloud (VPC) 内にディレクトリおよび DB インスタンスを配置する場合は、VPC ピア接続を設定します。詳細については、Amazon VPC Peering Guideの「VPC ピア機能とは」を参照してください。

  5. 以下のいずれかの方法を使用して、コンソール、CLI、RDS API から PostgreSQL DB クラスターを作成または変更します。

    クラスターは、ディレクトリと同じ Amazon Virtual Private Cloud (VPC)、または別の AWS アカウントまたは VPC にあります。PostgreSQL DB クラスターの作成または変更時に、次のステップを行います。

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

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

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

  6. RDS マスターユーザー認証情報を使用して、PostgreSQL DB クラスターインスタンスに接続します。外部で識別されるように PostgreSQL でユーザーを作成します。外部で識別されたユーザーは、Kerberos 認証を使用して PostgreSQL DB クラスターにログインできます。