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 認証を使用する」を参照してください。