Amazon RDS でのデータベース認証 - Amazon Relational Database Service

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

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

パスワード認証

パスワード認証を使用すると、DB インスタンスがユーザーアカウントのすべての管理を行います。CREATE USER などの SQL ステートメントを使用してユーザーを作成し IDENTIFIED BY 句でパスワードを指定します。

すべての RDS DB エンジンは、パスワード認証をサポートしています。パスワード認証の詳細については、DB エンジンのドキュメントを参照してください。

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

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

IAM データベース認証

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

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

Kerberos 認証

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

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

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

Microsoft SQL Server、MySQLe、PostgreSQL の各 DB インスタンスは、一方向および双方向のフォレストの信頼関係をサポートしています。Oracle DB インスタンスは、一方向と双方向の外部およびフォレストの信頼関係をサポートしています。詳細については、AWS Directory Service 管理ガイドの「信頼関係を作成する場合」を参照してください。

特定の DB エンジンを使用した Kerberos 認証については、以下を参照してください。

注記

現在、Kerberos 認証は MariaDB DB インスタンスではサポートされていません。