の 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 クラスターには適用されません。