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

の IAM データベース認証

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

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

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

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

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

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

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

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

  • Aurora MySQL

    • Aurora MySQL バージョン 3、すべてのマイナーバージョン

    • Aurora MySQL バージョン 2、すべてのマイナーバージョン

    • Aurora MySQLバージョン 1.10以上1.1 以降のマイナーバージョン

  • Aurora PostgreSQL

    • すべての Aurora PostgreSQL 13 バージョン

    • すべての Aurora PostgreSQL 12 バージョン

    • Aurora PostgreSQL 11.6 以降の 11 バージョン

    • Aurora PostgreSQL 10.11 以降の 10 バージョン

    • Aurora PostgreSQL 9.6.16 以降の 9.6 バージョン

    詳細については、「Amazon Aurora PostgreSQL リリースとエンジンのバージョン」を参照してください。

Aurora MySQLでは、サポートされているすべての DB インスタンスクラスは、db.t2.small および db.t3.small を除き、IAM データベース認証をサポートします。サポートされている DB インスタンスクラスの詳細については、DB インスタンスクラスでサポートされている DB エンジンを参照してください。

IAM データベース認証は、AWS CLI と以下の各言語固有の AWS SDK について使用できます。

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

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

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

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

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

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

  • PostgreSQL の場合、IAM ロール (rds_iam) がマスターユーザーに追加されると、IAM 認証はパスワード認証よりも優先されるため、マスターユーザーは IAM ユーザーとしてログインする必要があります。

IAM データベース認証に関する MariaDB および Aurora MySQL の推奨事項

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

  • データベースへのテンポラリ個人アクセス用メカニズムとして IAM データベース認証を使用します。

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

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

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

注記

これらの推奨事項は Aurora PostgreSQL DB クラスターには適用されません。