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 をマネージド ドメインに参加させる方法について説明します。
前提条件
このチュートリアルを完了するには、以下のリソースと特権が必要です。
- 有効な Azure サブスクリプション
- Azure サブスクリプションをお持ちでない場合は、アカウントを作成してください。
- ご利用のサブスクリプションに関連付けられた Microsoft Entra テナント (オンプレミス ディレクトリまたはクラウド専用ディレクトリと同期されていること)。
- 必要に応じて、Microsoft Entra テナントを作成するか、ご利用のアカウントに Azure サブスクリプションを関連付けます。
- Microsoft Entra テナントで有効にされていて、構成されている Microsoft Entra Domain Services マネージド ドメイン。
- 必要であれば、1 つ目のチュートリアルで Microsoft Entra Domain Services のマネージド ドメインを作成して構成します。
- マネージド ドメインの一部であるユーザー アカウント。
- 名前の切り詰めによって生じる Active Directory での競合を防ぐため、最大 15 文字の一意の Linux 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 をマネージド ドメインに参加させます。
adcli info
コマンドを使用して、マネージド ドメインを検出します。 次の例では、領域 ADDDSCONTOSO.COM を検出しています。 独自のマネージド ドメイン名を、すべて大文字で指定します。sudo adcli info aaddscontoso.com
adcli info
コマンドでマネージド ドメインが見つからない場合は、次のトラブルシューティング手順を確認してください。- ドメインに VM からアクセスできることを確認します。
ping aaddscontoso.com
を試し、肯定応答が返されるかどうかを確認します。 - VM が、マネージド ドメインを利用可能な仮想ネットワークと同じ仮想ネットワーク、またはそれとピアリングされた仮想ネットワークに、デプロイされていることを確認します。
- 仮想ネットワークに対する DNS サーバーの設定が、マネージド ドメインのドメイン コントローラーを指すように更新されていることを確認します。
- ドメインに VM からアクセスできることを確認します。
まず、
adcli join
コマンドを使用してドメインに参加します。このコマンドにより、マシンを認証するためのキータブも作成されます。 マネージド ドメインの一部であるユーザー アカウントを使用します。sudo adcli join aaddscontoso.com -U contosoadmin
次に、
/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
/etc/sssd/sssd.conf
のアクセス許可が 600 であり、ルート ユーザーによって所有されていることを確認します。sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.conf
authconfig
を使用し、AD Linux 統合について VM に指示します。sudo authconfig --enablesssd --enablesssd auth --update
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 の構成を更新します。
エディターで sshd_conf ファイルを開きます。
sudo vi /etc/ssh/sshd_config
PasswordAuthentication の行を yes に更新します。
PasswordAuthentication yes
終わったら、エディターの
:wq
コマンドを使用して、sshd_conf ファイルを保存して終了します。変更を適用し、ユーザーがパスワードを使用してサインインできるようにするには、お使いの RHEL ディストリビューションのバージョンに対応した SSH サービスを再起動します。
sudo service sshd restart
"AAD DC Administrators" グループに sudo 特権を付与する
AAD DC Administrators グループのメンバーに RHEL VM での管理特権を付与するには、 /etc/sudoers にエントリを追加します。 追加した後、AAD DC Administrators グループのメンバーは、RHEL VM で sudo
コマンドを使用できるようになります。
sudoers ファイルを編集用に開きます。
sudo visudo
/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 接続を開始します。 ホーム ディレクトリが作成されていること、およびドメインのグループ メンバーシップが適用されていることを確認します。
コンソールから新しい SSH 接続を作成します。
ssh -l
コマンドを使用して、マネージド ドメインに属しているドメイン アカウントを使用し (contosoadmin@aaddscontoso.com
など)、VM のアドレス (rhel.aaddscontoso.com など) を入力します。 Azure Cloud Shell を使用する場合は、内部 DNS 名ではなく、VM のパブリック IP アドレスを使用します。ssh -l contosoadmin@AADDSCONTOSO.com rhel.aaddscontoso.com
VM に正常に接続したら、ホーム ディレクトリが正しく初期化されていることを確認します。
pwd
ユーザー アカウントと一致する独自のディレクトリの /home ディレクトリにいる必要があります。
次に、グループ メンバーシップが正しく解決されていることを確認します。
id
マネージド ドメインからのグループ メンバーシップが表示される必要があります。
AAD DC Administrators グループのメンバーとして VM にサインインした場合は、
sudo
コマンドを正しく使用できることを確認します。sudo yum update
次のステップ
マネージド ドメインへの VM の接続、またはドメイン アカウントでのサインインに関して問題がある場合は、「ドメイン参加の問題のトラブルシューティング」を参照してください。