35.3. ad_integration システムロールを使用した RHEL システムの AD への直接接続

ad_integration システムロールを使用すると、Ansible Playbook を実行することで、RHEL システムと AD ドメイン間の直接統合を設定できます。

注記

RHEL8 以降、RHEL はデフォルトで RC4 暗号化をサポートしなくなりました。AD ドメインで AES を有効にできない場合は、AD-SUPPORT 暗号化ポリシーを有効にし、Playbook で RC4 暗号化を許可する必要があります。

重要

RHEL サーバーと AD 間の時刻は同期する必要があります。これを確実にするには、Playbook で timesync システムロールを使用します。

この例では、RHEL システムは、AD Administrator ユーザーと、Ansible コンテナーに保存されているこのユーザーのパスワードを使用して、domain.example.com AD ドメインに参加します。また、Playbook は AD-SUPPORT 暗号化ポリシーを設定し、RC4 暗号化を許可します。RHEL システムと AD 間の時刻同期を確実にするために、Playbook は adserver.domain.example.com サーバーを timesync ソースとして設定します。

前提条件

  • 1 つ以上の 管理対象ノード へのアクセスとパーミッション。
  • コントロールノード へのアクセスおよびパーミッション。

    コントロールノードでは、

    • ansible-core パッケージおよび rhel-system-roles パッケージがインストールされている。
    • マネージドノードが記載されているインベントリーファイルがある。
  • AD ドメインコントローラー上の次のポートが開いており、RHEL サーバーからアクセスできます。

    表35.1 ad_integration システムロールを使用して Linux システムを AD に直接統合するために必要なポート

    送信元ポート送信先ポートプロトコルサービス

    1024:65535

    53

    UDP および TCP

    DNS

    1024:65535

    389

    UDP および TCP

    LDAP

    1024:65535

    636

    TCP

    LDAPS

    1024:65535

    88

    UDP および TCP

    Kerberos

    1024:65535

    464

    UDP および TCP

    Kerberos のパスワード変更/設定 (kadmin)

    1024:65535

    3268

    TCP

    LDAP グローバルカタログ

    1024:65535

    3269

    TCP

    LDAP グローバルカタログ SSL/TLS

    1024:65535

    123

    UDP

    NTP/Chrony (オプション)

    1024:65535

    323

    UDP

    NTP/Chrony (オプション)

手順

  1. 次の内容を含む新しい ad_integration.yml ファイルを作成します。

    ---
    - hosts: all
      vars:
        ad_integration_realm: "domain.example.com"
        ad_integration_password: !vault | vault encrypted password
        ad_integration_manage_crypto_policies: true
        ad_integration_allow_rc4_crypto: true
        ad_integration_timesync_source: "adserver.domain.example.com"
      roles:
        - linux-system-roles.ad_integration
    ---
  2. オプション: Playbook の構文を確認します。

    # ansible-playbook --syntax-check ad_integration.yml -i inventory_file
  3. インベントリーファイルで Playbook を実行します。

    # ansible-playbook -i inventory_file /path/to/file/ad_integration.yml

検証

  • administrator ユーザーなどの AD ユーザーの詳細を表示します。

    getent passwd administrator@ad.example.com
    administrator@ad.example.com:*:1450400500:1450400513:Administrator:/home/administrator@ad.example.com:/bin/bash