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 クラスターを認証できます。この認証方法では、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 クラスターの資格情報を保存し、管理する一元的な場所が用意されています。
セルフマネージド Active Directory の認証情報を使用するには、DB クラスターが参加している AWS Directory Service for Microsoft Active Directory との信頼関係を確立する必要があります。
Aurora PostgreSQL および Aurora MySQL は、フォレスト全体の認証または選択的認証による一方向および双方向のフォレスト信頼関係をサポートしています。
シナリオによっては、外部信頼関係に Kerberos 認証を設定できます。これには、セルフマネージド Active Directory に追加の設定が必要です。これには、Kerberos フォレストの検索順序
Aurora は、Aurora MySQL および Aurora PostgreSQL DB クラスターについて Kerberos 認証をサポートしています。詳細については、「Aurora MySQL での Kerberos 認証の使用」および「Aurora PostgreSQL で Kerberos 認証を使用する」を参照してください。