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

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

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

パスワード認証は、すべての DB クラスターでデフォルトで使用できます。Aurora MySQL および 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 エンジンがパスワードを指定するのに必要な正しい句を使用して、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 クラスターの資格情報を保存し、管理する一元的な場所が用意されています。

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

Aurora は、Aurora MySQL および Aurora PostgreSQL DB クラスターについて Kerberos 認証をサポートしています。Aurora MySQL の Kerberos 認証の詳細については、「Aurora MySQL での Kerberos 認証の使用」を参照してください。

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