58.2. RBCD を使用してサービスへのアクセスを委任する
RBCD を使用してサービスへのアクセスを委譲するには、サービスが実行されているホストにルールを追加します。この手順例では、Kerberos サービス HTTP/client.example.test を使用して、Web アプリケーションのユーザー認証情報をファイルサーバー nfs/client.example.test に委任する方法を説明します。ホストは常にそれ自体で実行しているサービスを管理するため、これを client.example.test ホストで実行できます。
前提条件
-
client.example.testホストの/etc/krb5.keytabファイルにアクセスできる。 -
nfs/client.example.testサービスのキータブが存在します。 -
HTTP/client.example.testの keytab/path/to/web-service.keytabが存在します。
手順
client.example.testホストで、Kerberos チケットを取得します。# kinit -kRBCD ACL を定義します。
# ipa service-add-delegation nfs/client.example.test HTTP/client.example.test ------------------------------------------------------- Added new resource delegation to the service principal "nfs/client.example.test@EXAMPLE.TEST" ------------------------------------------------------- Principal name: nfs/client.example.test@EXAMPLE.TEST Delegation principal: HTTP/client.example.test@EXAMPLE.TEST
検証
委任が正しく設定されていることを確認するには、HTTP サービスを介してログインし、NFS サービスへのプロトコル移行を実行する testuser ユーザーをシミュレートできます。
NFS サービスを表示して、委任ルールが存在することを確認します。
# ipa service-show nfs/client.example.test Principal name: nfs/client.example.test@EXAMPLE.TEST Principal alias: nfs/client.example.test@EXAMPLE.TEST Delegation principal: HTTP/client.example.test@EXAMPLE.TEST Keytab: True Managed by: client.example.testHTTP サービスプリンシパルの Kerberos チケットを取得します。
# kinit -kt http.keytab HTTP/client.example.testチケット付与チケットが存在することを確認します。
# klist -f Ticket cache: KCM:0:99799 Default principal: HTTP/client.example.test@EXAMPLE.TEST Valid starting Expires Service principal 10/13/2023 14:39:23 10/14/2023 14:05:07 krbtgt/EXAMPLE.TEST@EXAMPLE.TEST Flags: FIAtestuserに代わってプロトコル移行を実行します。# kvno -U testuser -P nfs/client.example.test nfs/client.example.test@EXAMPLE.TEST: kvno = 1testuserに代わってプロトコル移行中に取得したチケットが存在することを確認します。# klist -f Ticket cache: KCM:0:99799 Default principal: HTTP/client.example.test@EXAMPLE.TEST Valid starting Expires Service principal 10/13/2023 14:39:38 10/14/2023 14:05:07 HTTP/client.example.test@EXAMPLE.TEST for client testuser@EXAMPLE.TEST, Flags: FAT 10/13/2023 14:39:23 10/14/2023 14:05:07 krbtgt/EXAMPLE.TEST@EXAMPLE.TEST Flags: FIA 10/13/2023 14:39:38 10/14/2023 14:05:07 nfs/client.example.test@EXAMPLE.TEST for client testuser@EXAMPLE.TEST, Flags: FAT