56.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 -k
RBCD 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.test
HTTP サービスプリンシパルの 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: FIA
testuser
に代わってプロトコル移行を実行します。# kvno -U testuser -P nfs/client.example.test nfs/client.example.test@EXAMPLE.TEST: kvno = 1
testuser
に代わってプロトコル移行中に取得したチケットが存在することを確認します。# 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