MySQL および PostgreSQL の IAM データベース認証 - Amazon Relational Database Service

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

MySQL および PostgreSQL の IAM データベース認証

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

認証トークンは、Amazon RDS がリクエストに応じて生成する一意の文字列です。認証トークンは、AWS 署名バージョン 4 を使用して生成されます。各トークンには 15 分の有効期間があります。認証は IAM を使用して外部的に管理されるため、ユーザー認証情報をデータベースに保存する必要はありません。引き続き標準のデータベース認証を使用することもできます。

IAM データベース認証には次の利点があります。

  • データベースとの間で送受信されるネットワークトラフィックは、Secure Socket Layer (SSL) または Transport Layer Security (TLS) を使用して暗号化されます。Amazon RDS で SSL/TLS を使用する方法については、「SSL/TLS を使用した DB インスタンスへの接続の暗号化」を参照してください

  • IAM を使用して各 DB インスタンスで個別に管理するのではなく、データベースリソースへのアクセスを一元的に管理できます。

  • Amazon EC2 で実行するアプリケーションの場合、セキュリティを高めるため、EC2 インスタンスに固有のプロファイル認証情報を使用して、パスワードの代わりにデータベースにアクセスできます。

IAM データベース認証の可用性

IAM データベース認証は、次のデータベースエンジンで利用できます。

  • MySQL 8.0、マイナーバージョン 8.0.16 以降。

  • MySQL 5.7、マイナーバージョン 5.7.16 以降

  • MySQL 5.6、マイナーバージョン 5.6.34 以降

  • PostgreSQL 12、すべてのマイナーバージョン

  • PostgreSQL 11、すべてのマイナーバージョン

  • PostgreSQL 10、マイナーバージョン 10.6 以降

  • PostgreSQL 9.6、マイナーバージョン 9.6.11 以降

  • PostgreSQL 9.5、マイナーバージョン 9.5.15 以降

IAM データベース認証の制限

IAM データベース認証を使用する場合、以下の制限が適用されます。

  • DB インスタンスの 1 秒あたりの最大接続数は、DB インスタンスクラスとワークロードに応じて制限される場合があります。

  • 現在、IAM データベース認証はグローバル条件コンテキストキーをサポートしていません。

    グローバル条件コンテキストキーの詳細については、IAM ユーザーガイドの「AWS グローバル条件コンテキストキー」を参照してください。

  • 現在、CNAME では IAM データベース認証はサポートされていません。

IAM データベース認証に関する MySQL の推奨事項

MySQL DB エンジンを使用する場合には、以下のことをお勧めします。

  • データベースへの一時的な個人アクセス用メカニズムとして IAM データベース認証を使用します。

  • 簡単に再試行できるワークロードに対してのみ、IAM データベース認証を使用します。

  • アプリケーションが必要とする新しい IAM データベース認証接続が 1 秒あたり 200 未満の場合は、IAM データベース認証を使用します。

    Amazon RDS を使用するデータベースエンジンでは、1 秒あたりの認証試行回数に制限はありません。ただし、IAM データベース認証を使用するときは、アプリケーションは認証トークンを生成する必要があります。次に、アプリケーションはそのトークンを使用して DB インスタンスに接続します。1 秒あたりの新しい接続数の上限を超えた場合、IAM データベース認証の追加オーバーヘッドによって接続のスロットリングが発生する場合があります。追加オーバーヘッドによって既存の接続が切断される可能性もあります。MySQL の最大合計接続数については、「MySQL および MariaDB の最大接続数」を参照してください。