Amazon Aurora でのデータベース認証 - Amazon Aurora

Amazon Aurora でのデータベース認証

Amazon Aurora は、データベースユーザを認証するいくつかの方法をサポートしています。

パスワード認証は、すべての DB クラスターでデフォルトで使用できます。Aurora MySQL の場合、IAM データベース認証を追加することもできます。Aurora PostgreSQL の場合、同じ DB クラスターに IAM データベース認証と Kerberos 認証のいずれかまたは両方を追加することもできます。

パスワード、Kerberos、および IAM データベース認証では、データベースに対する認証にはさまざまな方法が使用されます。したがって、特定のユーザーは、1 つの認証方法のみを使用してデータベースにログインできます。

PostgreSQL の場合は、特定のデータベースのユーザーに対して、次のロール設定の 1 つだけを使用します。

  • IAM データベース認証を使用するには、rds_iamロールをユーザーに割り当てます。

  • Kerberos 認証を使用するには、rds_adロールをユーザーに割り当てます。

  • パスワード認証を使用するには、rds_iam または rds_ad ロールをユーザーに割り当てないでください。

ネストされた許可アクセスによって直接的または間接的に PostgreSQL データベースのユーザーに rds_iam ロールと rds_ad ロールを両方を割り当てないでください。rds_iamロールがマスターユーザーに追加されると、IAM 認証はパスワード認証よりも優先されるため、マスターユーザーは IAM ユーザーとしてログインする必要があります。

パスワード認証

パスワード認証を使用すると、DB インスタンスがユーザーアカウントのすべての管理を行います。DB エンジンがパスワードを指定するのに必要な正しい句を使用して、CREATE USER などの SQL 文でユーザーを作成します。例えば、MySQL の文は CREATE USER 名前 IDENTIFIED BY パスワード となりますが、PostgreSQLでは CREATE USER 名前 WITH PASSWORD パスワード となります。

パスワード認証を使用すると、データベースがユーザーアカウントを制御および認証します。DB エンジンに強力なパスワード管理機能がある場合は、セキュリティを強化できます。ユーザーコミュニティが小規模である場合は、パスワード認証を使用すると、データベース認証が管理しやすくなります。この場合、クリアテキストパスワードが生成されるため、AWS Secrets Manager との統合によってセキュリティが強化されます。

Amazon Aurora での Secrets Manager の使用については、AWS Secrets Manager ユーザーガイド の「基本シークレットの作成」と「サポートされている Amazon RDS データベースのシークレットのローテーション」を参照してください。カスタムアプリケーションにおいてシークレットをプログラムで取得する方法については、AWS Secrets Manager ユーザーガイドの「シークレット値の取得」を参照してください。

IAM データベース認証

AWS Identity and Access Management (IAM) データベース認証を使用して、DB クラスターを認証できます。IAM データベース認証には、Aurora MySQL および Aurora PostgreSQL を使用します。この認証方法では、DB クラスターに接続するときにパスワードを使用する必要はありません。代わりに、認証トークンを使用します。

特定の DB エンジンの可用性など、IAM データベース認証の詳細については、「 の IAM データベース認証」を参照してください。

Kerberos 認証

Amazon Aurora で、Kerberos と Microsoft Active Directory を使用した、データベースユーザーの外部認証がサポートされるようになりました。Kerberos は、ネットワーク経由でパスワードを送信する必要をなくすためにチケットと対称キー暗号化を使用するネットワーク認証プロトコルです。Kerberos は Active Directory に組み込まれており、データベースなどのネットワークリソースに対するユーザー認証を行えるように設計されています。

Amazon Aurora での Kerberos と Active Directory のサポートにより、データベースユーザーのシングルサインオンおよび一元化認証という利点が得られます。ユーザー資格情報を Active Directory に保持できます。Active Directory には、複数の DB インスタンスの資格情報を保存し、管理する一元的な場所が用意されています。

データベースユーザーには、 2 つの方法で DB インスタンスに対して認証できるようにすることができます。AWS Directory Service for Microsoft Active Directory またはオンプレミスの Active Directory に格納されている資格情報を使用できます。

現在、Aurora は Aurora PostgreSQL DB クラスターの Kerberos 認証をサポートしています。Aurora PostgreSQL DB クラスターは、Kerberos 認証により、一方向および双方向のフォレストの信頼関係をサポートしています。詳細については、「Aurora PostgreSQL で Kerberos 認証を使用する」を参照してください。