第25章 Kerberos でのユーザー認証
Automation Controller では、Active Directory (AD) を使用したユーザー認証 (Kerberos による認証とも呼ばれます) がサポートされます。
25.1. Kerberos パッケージのセットアップ リンクのコピーリンクがクリップボードにコピーされました!
まず、Kerberos チケットを正常に生成できるように、Automation Controller で Kerberos パッケージをセットアップします。
次のコマンドを使用してパッケージをインストールします。
yum install krb5-workstation yum install krb5-devel yum install krb5-libs
yum install krb5-workstation
yum install krb5-devel
yum install krb5-libs
インストールされたら、/etc/krb5.conf ファイルを次のように編集して、AD のアドレス、ドメインなどの情報を指定します。
設定ファイルが更新されたら、次のコマンドを使用して認証し、有効なトークンを取得します。
kinit username Password for username@WEBSITE.COM:
[root@ip-172-31-26-180 ~]# kinit username
Password for username@WEBSITE.COM:
[root@ip-172-31-26-180 ~]#
有効なチケットがあるかどうかを確認します。
有効なチケットがある場合は、すべてが期待どおりに動作していることをコマンドラインから確認できます。
これをテストするには、インベントリーは次のようにする必要があります。
以下も行う必要があります。
- ホスト名が AD のエントリーと一致する適切なクライアントホスト名であり、IP アドレスではないことを確認してください。
-
Kerberos では大文字と小文字が区別されるため、ユーザー名の宣言で、ドメイン名 (
@の後のテキスト) が大文字と小文字を区別して正しく入力されていることを確認してください。 - Automation Controller の場合は、インベントリーが同じであることも確認する必要があります。
Server not found in Kerberos database というエラーメッセージが表示され、インベントリーが (IP アドレスではなく) FQDN を使用して設定されている場合は、サービスプリンシパル名が欠落していないか、またサービスプリンシパル名の設定に間違いがないか確認してください。
Playbook は期待どおりに実行されるはずです。これをテストするには、awx ユーザーとして Playbook を実行します。
Playbook が適切に動作することを確認したら、Automation Controller と統合できます。
awx ユーザーとして Kerberos チケットを生成します。Automation Controller は、生成されたチケットを自動的に取得して認証します。
Python の kerberos パッケージをインストールする必要があります。Ansible は、kerberos パッケージがインストールされているかどうかを確認し、インストールされている場合は Kerberos 認証を使用するように設計されています。