検索

55.3. RBCD を使用してサービスへのアクセスを委任する

download PDF

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 が存在します。

手順

  1. client.example.test ホストで、Kerberos チケットを取得します。

    # kinit -k
  2. 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 ユーザーをシミュレートできます。

  1. 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
  2. HTTP サービスプリンシパルの Kerberos チケットを取得します。

    # kinit -kt http.keytab HTTP/client.example.test
  3. チケット付与チケットが存在することを確認します。

    # 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
  4. testuser に代わってプロトコル移行を実行します。

    # kvno -U testuser -P nfs/client.example.test
    nfs/client.example.test@EXAMPLE.TEST: kvno = 1
  5. 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
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.