5.2. RHEL ホスト用の Managed Service Account の設定

この手順では、lab.example.com Active Directory (AD) ドメインからホスト用の MSA (Managed Service Account) を作成し、production.example.com AD ドメインにアクセスして認証できるように SSSD を設定します。

注記

RHEL ホストから AD リソースにアクセスする必要がある場合、Red Hat では、realm コマンドを使用して RHEL ホストを AD ドメインに参加させることを推奨しています。Connecting RHEL systems directly to AD using SSSD を参照してください。

以下の条件のいずれかが当てはまる場合に限り、この手順を実行します。

  • RHEL ホストを AD ドメインに参加させることはできませんが、AD でそのホストのアカウントを作成する必要があります。
  • RHEL ホストを AD ドメインに参加させており、一方向の信頼など、参加しているドメインのホストの認証情報が無効な別の AD ドメインにアクセスする必要があります。

前提条件

  • RHEL ホストの以下のポートが開放され、AD ドメインコントローラーからアクセスできることを確認している。

    サービスポートプロトコル

    DNS

    53

    TCP、UDP

    LDAP

    389

    TCP、UDP

    LDAPS (オプション)

    636

    TCP、UDP

    Kerberos

    88

    TCP、UDP

  • production.example.com ドメインに MSA を作成する権限を持つ AD 管理者のパスワードがある。
  • adcli コマンドを実行し、/etc/sssd/sssd.conf 設定ファイルを変更するために必要な root 権限がある。
  • (任意) klist 診断ユーティリティーを含む krb5-workstation パッケージがインストールされている。

手順

  1. production.example.com AD ドメインにホスト用の MSA を作成します。

    [root@client ~]# adcli create-msa --domain=production.example.com
  2. 作成された Kerberos キータブから MSA に関する情報を表示します。MSA の名前を書き留めておきます。

    [root@client ~]# klist -k /etc/krb5.keytab.production.example.com
    Keytab name: FILE:/etc/krb5.keytab.production.example.com
    KVNO Principal
    ---- ------------------------------------------------------------
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes256-cts-hmac-sha1-96)
       2 CLIENT!S3A$@PRODUCTION.EXAMPLE.COM (aes128-cts-hmac-sha1-96)
  3. /etc/sssd/sssd.conf ファイルを開き、適切な SSSD ドメイン設定を選択して追加します。

    • MSA が別のフォレストの AD ドメイン に対応する場合は、[domain/<name_of_domain>] という名前の新しいドメインセクションを作成し、MSA とキータブに関する情報を入力します。最も重要なオプションは、ldap_sasl_authidldap_krb5_keytab、および krb5_keytab です。

      [domain/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...
    • MSA がローカルフォレストの AD ドメイン に対応する場合は、[domain/root.example.com/sub-domain.example.com] 形式で新しいサブドメインセクションを作成し、MSA とキータブに関する情報を入力します。最も重要なオプションは、ldap_sasl_authidldap_krb5_keytab、および krb5_keytab です。

      [domain/ad.example.com/production.example.com]
      ldap_sasl_authid = CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
      ldap_krb5_keytab = /etc/krb5.keytab.production.example.com
      krb5_keytab = /etc/krb5.keytab.production.example.com
      ad_domain = production.example.com
      krb5_realm = PRODUCTION.EXAMPLE.COM
      access_provider = ad
      ...

検証手順

  • MSA として Kerberos TGT (Ticket-granting ticket) を取得できることを確認します。

    [root@client ~]# kinit -k -t /etc/krb5.keytab.production.example.com 'CLIENT!S3A$'
    [root@client ~]# klist
    Ticket cache: KCM:0:54655
    Default principal: CLIENT!S3A$@PRODUCTION.EXAMPLE.COM
    
    Valid starting       Expires              Service principal
    11/22/2021 15:48:03  11/23/2021 15:48:03  krbtgt/PRODUCTION.EXAMPLE.COM@PRODUCTION.EXAMPLE.COM
  • AD で、Managed Service Accounts Organizational Unit (OU) にホストの MSA があることを確認します。