Red Hat Enterprise Linux 仮想マシンを Microsoft Entra Domain Services のマネージド ドメインに参加させる

ユーザーが 1 セットの資格情報を使用して Azure の仮想マシン (VM) にサインインできるようにするには、Microsoft Entra Domain Services のマネージド ドメインに VM を参加させます。 VM を Domain Services のマネージド ドメインに参加させると、ドメインのユーザー アカウントと資格情報を使用して、サーバーにサインインして管理することができます。 マネージド ドメインのグループ メンバーシップも適用され、VM 上のファイルまたはサービスへのアクセスを制御できるようになります。

この記事では、Red Hat Enterprise Linux (RHEL) VM をマネージド ドメインに参加させる方法について説明します。

前提条件

このチュートリアルを完了するには、以下のリソースと特権が必要です。

RHEL Linux VM を作成してそれに接続する

Azure に RHEL Linux VM が既にある場合は、SSH を使用してそれに接続した後、次の手順に進んで VM の構成を開始します。

RHEL Linux VM を作成する必要がある場合、またはこの記事で使用するためのテスト VM を作成する場合は、次のいずれかの方法を使用できます。

VM を作成するときは、VM がマネージド ドメインと通信できるように、仮想ネットワークの設定に注意してください。

  • Microsoft Entra Domain Services を有効にしたのと同じ仮想ネットワーク、またはピアリングされた仮想ネットワークに、VM をデプロイします。
  • VM を Microsoft Entra Domain Services のマネージド ドメインとは異なるサブネットにデプロイします。

VM をデプロイした後、SSH を使用して VM に接続する手順に従います。

hosts ファイルを構成する

マネージド ドメインに対して VM ホスト名が正しく構成されていることを確認するには、 /etc/hosts ファイルを編集して、ホスト名を設定します。

sudo vi /etc/hosts

hosts ファイルで、localhost アドレスを更新します。 次の例では

  • aaddscontoso.com は、マネージド ドメインの DNS ドメイン名です。
  • rhel は、マネージド ドメインに参加させる RHEL VM のホスト名です。

これらの名前を実際の値に更新します。

127.0.0.1 rhel rhel.aaddscontoso.com

終わったら、エディターの :wq コマンドを使用して、hosts ファイルを保存して終了します。

重要

Red Hat Enterprise Linux 6.X および Oracle Linux 6.x は既に EOL であることを考慮してください。 RHEL 6.10 では、2024 年 6 月に終了予定ELS サポートを利用できます。

必要なパッケージをインストールする

VM をマネージド ドメインに参加させるには、VM にいくつかの追加パッケージが必要です。 これらのパッケージをインストールして構成するには、yum を使用してドメイン参加ツールを更新およびインストールします。

sudo yum install adcli sssd authconfig krb5-workstation

VM をマネージド ドメインに参加させる

必要なパッケージが VM にインストールされたので、VM をマネージド ドメインに参加させます。

  1. adcli info コマンドを使用して、マネージド ドメインを検出します。 次の例では、領域 ADDDSCONTOSO.COM を検出しています。 独自のマネージド ドメイン名を、すべて大文字で指定します。

    sudo adcli info aaddscontoso.com
    

    adcli info コマンドでマネージド ドメインが見つからない場合は、次のトラブルシューティング手順を確認してください。

    • ドメインに VM からアクセスできることを確認します。 ping aaddscontoso.com を試し、肯定応答が返されるかどうかを確認します。
    • VM が、マネージド ドメインを利用可能な仮想ネットワークと同じ仮想ネットワーク、またはそれとピアリングされた仮想ネットワークに、デプロイされていることを確認します。
    • 仮想ネットワークに対する DNS サーバーの設定が、マネージド ドメインのドメイン コントローラーを指すように更新されていることを確認します。
  2. まず、adcli join コマンドを使用してドメインに参加します。このコマンドにより、マシンを認証するためのキータブも作成されます。 マネージド ドメインの一部であるユーザー アカウントを使用します。

    sudo adcli join aaddscontoso.com -U contosoadmin
    
  3. 次に、/ect/krb5.conf を構成し、aaddscontoso.com Active Directory ドメインを使用する /etc/sssd/sssd.conf ファイルを作成します。 AADDSCONTOSO.COM が独自のドメイン名に置き換えられていることを確認します。

    /etc/krb5.conf ファイルをエディターで開きます。

    sudo vi /etc/krb5.conf
    

    次のサンプルと同じになるように krb5.conf ファイルを更新します。

    [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
     default_realm = AADDSCONTOSO.COM
     dns_lookup_realm = true
     dns_lookup_kdc = true
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
    
    [realms]
     AADDSCONTOSO.COM = {
     kdc = AADDSCONTOSO.COM
     admin_server = AADDSCONTOSO.COM
     }
    
    [domain_realm]
     .AADDSCONTOSO.COM = AADDSCONTOSO.COM
     AADDSCONTOSO.COM = AADDSCONTOSO.COM
    

    /etc/sssd/sssd.conf ファイルを作成します。

    sudo vi /etc/sssd/sssd.conf
    

    次のサンプルと同じになるように sssd.conf ファイルを更新します。

    [sssd]
     services = nss, pam, ssh, autofs
     config_file_version = 2
     domains = AADDSCONTOSO.COM
    
    [domain/AADDSCONTOSO.COM]
    
     id_provider = ad
    
  4. /etc/sssd/sssd.conf のアクセス許可が 600 であり、ルート ユーザーによって所有されていることを確認します。

    sudo chmod 600 /etc/sssd/sssd.conf
    sudo chown root:root /etc/sssd/sssd.conf
    
  5. authconfig を使用し、AD Linux 統合について VM に指示します。

    sudo authconfig --enablesssd --enablesssd auth --update
    
  6. sssd サービスを開始し、有効にします。

    sudo service sssd start
    sudo chkconfig sssd on
    

VM のドメイン参加プロセスを正常に完了できない場合は、VM のネットワーク セキュリティ グループで、マネージド ドメインの仮想ネットワーク サブネットに対する TCP + UDP ポート 464 での送信 Kerberos トラフィックが許可されていることを確認します。

次に、getent を使用してユーザー AD 情報を照会できるかどうかを確認します。

sudo getent passwd contosoadmin

SSH のパスワード認証を許可する

既定では、ユーザーは SSH 公開キーベースの認証を使用することによってのみ、VM にサインインできます。 パスワードベースの認証は失敗します。 VM をマネージド ドメインに参加させるときは、これらのドメイン アカウントでパスワードベースの認証を使用する必要があります。 次のようにして、パスワードベースの認証を許可するように SSH の構成を更新します。

  1. エディターで sshd_conf ファイルを開きます。

    sudo vi /etc/ssh/sshd_config
    
  2. PasswordAuthentication の行を yes に更新します。

    PasswordAuthentication yes
    

    終わったら、エディターの :wq コマンドを使用して、sshd_conf ファイルを保存して終了します。

  3. 変更を適用し、ユーザーがパスワードを使用してサインインできるようにするには、お使いの RHEL ディストリビューションのバージョンに対応した SSH サービスを再起動します。

    sudo service sshd restart
    

"AAD DC Administrators" グループに sudo 特権を付与する

AAD DC Administrators グループのメンバーに RHEL VM での管理特権を付与するには、 /etc/sudoers にエントリを追加します。 追加した後、AAD DC Administrators グループのメンバーは、RHEL VM で sudo コマンドを使用できるようになります。

  1. sudoers ファイルを編集用に開きます。

    sudo visudo
    
  2. /etc/sudoers ファイルの最後に、次のエントリを追加します。 AAD DC Administrators グループの名前に空白が含まれているため、グループ名に円記号のエスケープ文字を含めます。 独自のドメイン名 (aaddscontoso.com など) を追加します。

    # Add 'AAD DC Administrators' group members as admins.
    %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
    

    終わったら、エディターの :wq コマンドを使用してエディターを保存して終了します。

ドメイン アカウントを使用して VM にサインインする

VM がマネージド ドメインに正常に参加したことを確認するには、ドメイン ユーザー アカウントを使用して新しい SSH 接続を開始します。 ホーム ディレクトリが作成されていること、およびドメインのグループ メンバーシップが適用されていることを確認します。

  1. コンソールから新しい SSH 接続を作成します。 ssh -l コマンドを使用して、マネージド ドメインに属しているドメイン アカウントを使用し (contosoadmin@aaddscontoso.com など)、VM のアドレス (rhel.aaddscontoso.com など) を入力します。 Azure Cloud Shell を使用する場合は、内部 DNS 名ではなく、VM のパブリック IP アドレスを使用します。

    ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
    
  2. VM に正常に接続したら、ホーム ディレクトリが正しく初期化されていることを確認します。

    pwd
    

    ユーザー アカウントと一致する独自のディレクトリの /home ディレクトリにいる必要があります。

  3. 次に、グループ メンバーシップが正しく解決されていることを確認します。

    id
    

    マネージド ドメインからのグループ メンバーシップが表示される必要があります。

  4. AAD DC Administrators グループのメンバーとして VM にサインインした場合は、sudo コマンドを正しく使用できることを確認します。

    sudo yum update
    

次のステップ

マネージド ドメインへの VM の接続、またはドメイン アカウントでのサインインに関して問題がある場合は、「ドメイン参加の問題のトラブルシューティング」を参照してください。