51.4. Ansible を使用して AD ユーザーが IdM を管理できるようにする


ansible-freeipaidoverrideuser および group モジュールを使用して、信頼済み AD ドメインの Active Directory (AD) ユーザーのユーザー ID オーバーライドを作成し、そのユーザーに IdM ユーザーと同じ権限を付与することができます。この手順で使用する例では、最初の Playbook タスクで Default Trust View ID ビューに ad_user@AD.EXAMPLE.COM ID オーバーライドを追加します。次の Playbook タスクで、ad_user@AD.EXAMPLE.COM ID オーバーライドを IdM admins グループにメンバーとして追加します。その結果、AD 管理者が 2 つの異なるアカウントとパスワードを使用しなくても IdM を管理できるようになります。

前提条件

  • 次の要件を満たすように Ansible コントロールノードを設定している。

    • Ansible バージョン 2.15 以降を使用している。
    • ansible-freeipa パッケージがインストールされている。
    • ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル が作成されている (この例の場合)。
    • secret.yml Ansible vault に ipaadmin_password が保存されており、secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできる (この例の場合)。
  • インベントリーファイル内の ipaserver ホストが、信頼コントローラーまたは信頼エージェントとして設定されている。
  • ターゲットノード (freeipa.ansible_freeipa モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。

手順

  1. Ansible コントロールノードで、ad_user@ad.example.com ユーザーオーバーライドを Default Trust View に追加するタスクを含む enable-ad-admin-to-administer-idm.yml Playbook を作成します。

    ---
    - name: Enable AD administrator to act as a FreeIPA admin
      hosts: ipaserver
      become: false
      gather_facts: false
    
      tasks:
      - name: Ensure idoverride for ad_user@ad.example.com in 'Default Trust View'
        ipaidoverrideuser:
          ipaadmin_password: "{{ ipaadmin_password }}"
          idview: "Default Trust View"
          anchor: ad_user@ad.example.com

    上記の例では、以下のようになります。

    • ad_user@ad.example.com は、信頼が確立されている AD ドメインに保存されている AD ユーザーのユーザー ID オーバーライドです。
  2. 同じ Playbook 内の別の Playbook タスクを使用して、AD 管理者ユーザー ID オーバーライドを admins グループに追加します。

      - name: Add the AD administrator as a member of admins
        ipagroup:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: admins
          idoverrideuser:
          - ad_user@ad.example.com

    上記の例では、以下のようになります。

    • admins は、ad_user@ad.example.com ID オーバーライドを追加するデフォルトの IdM POSIX グループの名前です。このグループのメンバーには、完全な管理者権限があります。
  3. ファイルを保存します。
  4. Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。

    $ ansible-playbook --vault-password-file=password_file -v -i inventory enable-ad-admin-to-administer-idm.yml

検証

  1. AD 管理者として IdM クライアントにログインします。

    $ ssh ad_user@ad.example.com@client.idm.example.com
  2. 有効な Ticket-Granting Ticket (TGT) を取得したことを確認します。

    $ klist
    Ticket cache: KCM:325600500:99540
    Default principal: ad_user@AD.EXAMPLE.COM
    Valid starting Expires Service principal
    02/04/2024 11:54:16 02/04/2024 21:54:16 krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM
    renew until 02/05/2024 11:54:16
  3. IdM の admin 権限を確認します。

    $ ipa user-add testuser --first=test --last=user
    ------------------------
    Added user "tuser"
    ------------------------
      User login: tuser
      First name: test
      Last name: user
      Full name: test user
    [...]
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る