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

の IAM データベース認証

AWS Identity and Access Management (IAM) データベース認証を使用して、DB クラスターを認証できます。IAM データベース認証には、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 インスタンスに固有のプロファイル認証情報を使用して、パスワードの代わりにデータベースにアクセスできます。

一般に、アプリケーションが 1 秒あたり 200 未満の接続を作成し、アプリケーションコードでユーザー名とパスワードを直接管理したくない場合は、IAM データベース認証の使用を検討してください。

MySQL 用の AWS JDBC ドライバーは IAM データベース認証をサポートしています。詳細については、MySQL GitHub リポジトリ用の AWS JDBC ドライバーの「AWS IAM データベースの認証」を参照してください。

リージョンとバージョンの可用性

利用できる機能とそのサポートは、各 Aurora データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。Aurora と IAM データベース認証を使用したバージョンとリージョンの可用性の詳細については、「Aurora での IAM データベース認証」を参照してください。

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

CLI および SDK のサポート

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

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

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

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

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

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

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

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

IAM データベース認証を使用する場合には、以下のことをお勧めします。

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

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

    Amazon Aurora を使用するデータベースエンジンでは、1 秒あたりの認証試行回数に制限はありません。ただし、IAM データベース認証を使用するときは、アプリケーションは認証トークンを生成する必要があります。次に、アプリケーションはそのトークンを使用して DB クラスターに接続します。1 秒あたりの新しい接続数の上限を超えた場合、IAM データベース認証の追加オーバーヘッドによって接続のスロットリングが発生する場合があります。