Kerberos 認証を使用した Aurora MySQL への接続
エラーを回避するため、Unix プラットフォームではバージョン 8.0.26 以降、Windows では 8.0.27 以降の MySQL クライアントを使用してください。
Aurora MySQL Kerberos ログインを使用して DB クラスターに接続する
Kerberos 認証で Aurora MySQL に接続するには、ステップ 6: Kerberos 認証を使用する Aurora MySQL ユーザーを作成する の手順に従って作成したデータベースユーザーとしてログインします。
コマンドプロンプトで、Aurora MySQL DB クラスターに関連付けられているエンドポイントの 1 つに接続します。パスワードの入力を求められたら、そのユーザー名に関連付けられている Kerberos パスワードを入力します。
Kerberos で認証すると、ticket-granting ticket (TGT) がまだ存在しない場合は、TGT が生成されます。authentication_kerberos
プラグインによって TGT を使用してサービスチケットを取得し、そのチケットが Aurora MySQL データベースサーバーに提示されます。
MySQL クライアントを使用すると、Windows または Unix を使用して Kerberos 認証によって Aurora MySQL に接続できます。
接続するには、次のいずれかの方法を使用します。
-
TGT を手動で入手します。この場合、MySQL クライアントにパスワードを指定する必要はありません。
-
Active Directory ログイン用のパスワードを MySQL クライアントに直接指定します。
クライアント側のプラグインは、Unix プラットフォームでは MySQL クライアントバージョン 8.0.26 以降でサポートされています。
TGT を手動で取得して接続するには
-
コマンドラインインターフェイスで、次のコマンドを使用して TGT を取得します。
kinit
user_name
-
次の
mysql
コマンドを使用して、DB クラスターの DB インスタンスエンドポイントにログインします。mysql -h
DB_instance_endpoint
-P 3306 -uuser_name
-p注記
DB インスタンスでキータブがローテーションされると、認証が失敗する可能性があります。この場合は、
kinit
を再実行して新しい TGT を取得します。
直接接続するには
-
コマンドラインインターフェイスで、次の
mysql
コマンドを使用して、DB クラスターの DB インスタンスエンドポイントにログインします。mysql -h
DB_instance_endpoint
-P 3306 -uuser_name
-p -
Active Directory ユーザーのパスワードを入力します。
Windows では、通常、認証はログイン時に行われるため、Aurora MySQL DB クラスターに接続するために TGT を手動で取得する必要はありません。データベースユーザー名の大文字と小文字は、Active Directory のユーザーのものと一致する必要があります。例えば、Active Directory のユーザーが Admin
として表示されている場合、データベースユーザー名は Admin
である必要があります。
クライアント側のプラグインは、Windows では MySQL クライアントバージョン 8.0.27 以降でサポートされています。
直接接続するには
-
コマンドラインインターフェイスで、次の
mysql
コマンドを使用して、DB クラスターの DB インスタンスエンドポイントにログインします。mysql -h
DB_instance_endpoint
-P 3306 -uuser_name
Aurora グローバルデータベースで Kerberos 認証を使用する
Aurora MySQL の Kerberos 認証は、Aurora グローバルデータベースでサポートされています。プライマリ DB クラスターの Active Directory を使用してセカンダリ DB クラスターのユーザーを認証するには、Active Directory をセカンダリ AWS リージョン に複製します。プライマリクラスターと同じドメイン ID を使用して、セカンダリクラスターの Kerberos 認証を有効にします。AWS Managed Microsoft AD レプリケーションは、エンタープライズバージョンの Active Directory でのみサポートされます。詳細については、AWS Directory Service 管理ガイドの「マルチリージョンレプリケーション」を参照してください。
RDS for MySQL から Aurora MySQL への移行
Kerberos 認証を有効にした RDS for MySQL から Aurora MySQL への移行後、auth_pam
プラグインで作成されたユーザーを authentication_kerberos
プラグインを使用するように変更します。次に例を示します。
ALTER USER
user_name
IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name
';
チケットキャッシュの防止
MySQL クライアントアプリケーションの起動時に有効な TGT が存在しない場合、アプリケーションは TGT を取得してキャッシュできます。TGT がキャッシュされないようにするには、/etc/krb5.conf
ファイルに設定パラメータを設定します。
注記
この設定は UNIX を実行しているクライアントホストにのみ適用され、Windows には適用されません。
TGT キャッシュを防止するには
-
次のように、
/etc/krb5.conf
に[appdefaults]
セクションを追加します。[appdefaults] mysql = { destroy_tickets = true }
Kerberos 認証用のログ記録
AUTHENTICATION_KERBEROS_CLIENT_LOG
環境変数によって、Kerberos 認証のログ記録レベルを設定します。ログはクライアント側のデバッグに使用できます。
指定できる値は 1~5 です。ログメッセージは、標準エラー出力に書き込まれます。次の表に各ログ記録レベルの説明を示します。
ログ記録レベル | 説明 |
---|---|
1 または未設定 | ログ記録なし |
2 | エラーメッセージ |
3 | エラーと警告メッセージ |
4 | エラー、警告、情報メッセージ |
5 | エラー、警告、情報メッセージ、デバッグメッセージ |