IAM 認証を使用したデータベースアカウントの作成 - Amazon Aurora

IAM 認証を使用したデータベースアカウントの作成

IAM データベース認証では、作成するユーザーアカウントにデータベースのパスワードを割り当てる必要はありません。データベースアカウントにマッピングされているユーザーを削除した場合は、DROP USER ステートメントでデータベースアカウントも削除する必要があります。

注記

IAM 認証に使用されるユーザー名は、データベース内のユーザー名の大文字および小文字と一致する必要があります。

Aurora MySQL での IAM 認証の使用

Aurora MySQL では、認証は、AWSAuthenticationPlugin (IAM とシームレスに連携してユーザーを認証する AWS 提供のプラグイン) によって処理されます。DB クラスターに、マスターユーザーまたはユーザーを作成して権限を付与できる別のユーザーとして接続します。接続後、次の例に示すように、CREATE USER ステートメントを発行します。

CREATE USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';

IDENTIFIED WITH 句により、Aurora MySQL は AWSAuthenticationPlugin を使用して、データベースアカウント (jane_doe) を認証できます。AS 'RDS' 句は、認証方式を参照します。指定したデータベースユーザー名は、IAM データベースアクセスの IAM ポリシー内のリソースと同じであることを確認します。詳細については、「IAM データベースアクセス用の IAM ポリシーの作成と使用」を参照してください。

注記

次のメッセージが表示された場合、AWS が提供するプラグインが、現在の DB クラスターに使用できないことを意味します。

ERROR 1524 (HY000): Plugin 'AWSAuthenticationPlugin' is not loaded

このエラーをトラブルシューティングするには、サポートされている設定を使用していること、および DB クラスターで IAM データベース認証を有効にしていることを確認します。詳細については、「リージョンとバージョンの可用性」および「IAM データベース認証の有効化と無効化」を参照してください。

AWSAuthenticationPlugin を使用してアカウントを作成したら、他のデータベースのアカウントと同様に管理します。例えば、GRANT および REVOKE ステートメントでアカウント特権を変更したり、ALTER USER ステートメントでさまざまなアカウント属性を変更したりできます。

IAM を使用する場合、データベースネットワークトラフィックは SSL/TLS を使用して暗号化されます。SSL 接続を許可するには、以下のコマンドでユーザーアカウントを変更します。

ALTER USER 'jane_doe'@'%' REQUIRE SSL;

Aurora PostgreSQL での IAM 認証の使用

Aurora PostgreSQL で IAM 認証を使用するには、マスターユーザーまたはユーザーを作成して権限を付与できる別のユーザーとして DB クラスターに接続します。接続後、データベースユーザーを作成して、次の例に示すように、ユーザーに rds_iam ロールを付与します。

CREATE USER db_userx; GRANT rds_iam TO db_userx;

指定したデータベースユーザー名は、IAM データベースアクセスの IAM ポリシー内のリソースと同じであることを確認します。詳細については、「IAM データベースアクセス用の IAM ポリシーの作成と使用」を参照してください。IAM 認証を使用するには、rds_iam ロールを付与する必要があります。ロールのネストされたメンバーシップまたは間接的な付与を使用することもできます。

PostgreSQL データベースユーザーは IAM または Kerberos 認証のいずれかを使用できますが、両方を使用することはできないため、このユーザーも rds_ad ロールを持つことはできません。これは、ネストされたメンバーシップにも適用されます。詳細については、「 ステップ 7: Kerberos プリンシパル用の PostgreSQL ユーザーを作成する 」を参照してください。