翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 Linux インスタンスをSimple AD アクティブディレクトリに手動で結合する
Amazon EC2 Windows インスタンスに加え、特定の Amazon EC2 Linux インスタンスを Simple AD Active Directoryに結合することもできます。以下の Linux インスタンスのディストリビューションおよびバージョンがサポートされています。
-
Amazon Linux AMI 2018.03.0
-
Amazon Linux 2 (64 ビット x86)
-
Amazon Linux 2023 AMI
-
Red Hat Enterprise Linux 8 (HVM) (64 ビット x86)
-
Ubuntu Server 18.04 LTS および Ubuntu Server 16.04 LTS
-
CentOS 7 x86-64
-
SUSE Linux Enterprise Server 15 SP1
他の Linux ディストリビューションとバージョンも動作する可能性がありますが、まだテストされていません。
前提条件
Amazon Linux、CentOS、Red Hat、または Ubuntu インスタンスをディレクトリに結合するときは、先に、Amazon EC2 Linux スタンスを Simple AD Active Directoryにシームレスに結合する で指定したとおりにインスタンスを起動する必要があります。
次の手順は、正しく実行しないと、インスタンスに到達不可能になったり、インスタンスが使用できなくなったりする可能性があります。したがって、これらの手順を実行する前に、バックアップを作成するか、インスタンスのスナップショットを作成することを強くお勧めします。
Linux インスタンスをディレクトリに結合するには
個々の Linux インスタンスについて、次のいずれかのタブの手順に従います。
- Amazon Linux
-
-
任意の SSH クライアントを使用してインスタンスに接続します。
-
提供された DNS サーバーの DNS サーバー IP アドレスを使用するように Linux インスタンスを設定します。 AWS Directory Serviceこれを行うには、VPC にアタッチされている DHCP オプションセットに設定するか、または手動でインスタンスに設定します。手動で設定するには、 AWS
ナレッジセンターの「プライベート Amazon EC2 インスタンスが Amazon Linux、Ubuntu、または RHEL で実行中です。再起動中も持続する EC2 インスタンスに静的 DNS サーバーを割り当てる方法を教えてください。」で、特定の Linux ディストリビューションとバージョンの永続的な DNS サーバーの設定に関するガイダンスを参照してください。
-
Amazon Linux - 64 bit インスタンスが最新であることを確認します。
sudo yum -y update
-
必要な Amazon Linux パッケージを Linux インスタンスにインストールします。
これらのパッケージの一部が既にインストールされている可能性があります。
パッケージをインストールすると、いくつかのポップアップ設定画面が表示されます。一般的に、これらの画面のフィールドは空白のままで構いません。
- Amazon Linux
-
sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
-
次のコマンドを使用してディレクトリにインスタンスを結合します。
sudo realm join -U join_account@EXAMPLE.COM
example.com
--verbose
...
* Successfully enrolled machine in realm
-
SSH サービスを設定して、パスワード認証を許可します。
-
テキストエディタで /etc/ssh/sshd_config
ファイルを開きます。
sudo vi /etc/ssh/sshd_config
-
PasswordAuthentication
設定を「yes
」に設定します。
PasswordAuthentication yes
-
SSH サービスを再起動します。
sudo systemctl restart sshd.service
または:
sudo service sshd restart
-
インスタンスが再起動したら、任意の SSH クライアントを使用して接続し、次の手順を実行してドメイン管理者グループを sudoers リストに追加します。
-
次のコマンドを使用して sudoers
ファイルを開きます。
sudo visudo
-
次の内容を sudoers
ファイルの下部に追加して保存します。
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(上の例では「\<space>」を使用して Linux スペース文字を作成しています)。
- CentOS
-
-
任意の SSH クライアントを使用してインスタンスに接続します。
-
AWS Directory Service提供された DNS サーバーの DNS サーバー IP アドレスを使用するように Linux インスタンスを設定します。これを行うには、VPC にアタッチされている DHCP オプションセットに設定するか、または手動でインスタンスに設定します。手動で設定するには、 AWS
ナレッジセンターの「プライベート Amazon EC2 インスタンスが Amazon Linux、Ubuntu、または RHEL で実行中です。再起動中も持続する EC2 インスタンスに静的 DNS サーバーを割り当てる方法を教えてください。」で、特定の Linux ディストリビューションとバージョンの永続的な DNS サーバーの設定に関するガイダンスを参照してください。
-
CentOS 7 インスタンスが最新であることを確認します。
sudo yum -y update
-
必要な CentOS 7 パッケージを Linux インスタンスにインストールします。
これらのパッケージの一部が既にインストールされている可能性があります。
パッケージをインストールすると、いくつかのポップアップ設定画面が表示されます。一般的に、これらの画面のフィールドは空白のままで構いません。
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
次のコマンドを使用してディレクトリにインスタンスを結合します。
sudo realm join -U join_account@example.com
example.com
--verbose
...
* Successfully enrolled machine in realm
-
SSH サービスを設定して、パスワード認証を許可します。
-
テキストエディタで /etc/ssh/sshd_config
ファイルを開きます。
sudo vi /etc/ssh/sshd_config
-
PasswordAuthentication
設定を「yes
」に設定します。
PasswordAuthentication yes
-
SSH サービスを再起動します。
sudo systemctl restart sshd.service
または:
sudo service sshd restart
-
インスタンスが再起動したら、任意の SSH クライアントを使用して接続し、次の手順を実行してドメイン管理者グループを sudoers リストに追加します。
-
次のコマンドを使用して sudoers
ファイルを開きます。
sudo visudo
-
次の内容を sudoers
ファイルの下部に追加して保存します。
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(上の例では「\<space>」を使用して Linux スペース文字を作成しています)。
- Red hat
-
-
任意の SSH クライアントを使用してインスタンスに接続します。
-
AWS Directory Service提供された DNS サーバーの DNS サーバー IP アドレスを使用するように Linux インスタンスを設定します。これを行うには、VPC にアタッチされている DHCP オプションセットに設定するか、または手動でインスタンスに設定します。手動で設定するには、 AWS
ナレッジセンターの「プライベート Amazon EC2 インスタンスが Amazon Linux、Ubuntu、または RHEL で実行中です。再起動中も持続する EC2 インスタンスに静的 DNS サーバーを割り当てる方法を教えてください。」で、特定の Linux ディストリビューションとバージョンの永続的な DNS サーバーの設定に関するガイダンスを参照してください。
-
Red Hat - 64 bit インスタンスが最新であることを確認します。
sudo yum -y update
-
必要な Red Hat パッケージを Linux インスタンスにインストールします。
これらのパッケージの一部が既にインストールされている可能性があります。
パッケージをインストールすると、いくつかのポップアップ設定画面が表示されます。一般的に、これらの画面のフィールドは空白のままで構いません。
sudo yum -y install sssd realmd krb5-workstation samba-common-tools
-
次のコマンドを使用してディレクトリにインスタンスを結合します。
sudo realm join -v -U join_account
example.com
--install=/
...
* Successfully enrolled machine in realm
-
SSH サービスを設定して、パスワード認証を許可します。
-
テキストエディタで /etc/ssh/sshd_config
ファイルを開きます。
sudo vi /etc/ssh/sshd_config
-
PasswordAuthentication
設定を「yes
」に設定します。
PasswordAuthentication yes
-
SSH サービスを再起動します。
sudo systemctl restart sshd.service
または:
sudo service sshd restart
-
インスタンスが再起動したら、任意の SSH クライアントを使用して接続し、次の手順を実行してドメイン管理者グループを sudoers リストに追加します。
-
次のコマンドを使用して sudoers
ファイルを開きます。
sudo visudo
-
次の内容を sudoers
ファイルの下部に追加して保存します。
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(上の例では「\<space>」を使用して Linux スペース文字を作成しています)。
- Ubuntu
-
-
任意の SSH クライアントを使用してインスタンスに接続します。
-
AWS Directory Service提供された DNS サーバーの DNS サーバー IP アドレスを使用するように Linux インスタンスを設定します。これを行うには、VPC にアタッチされている DHCP オプションセットに設定するか、または手動でインスタンスに設定します。手動で設定するには、 AWS
ナレッジセンターの「プライベート Amazon EC2 インスタンスが Amazon Linux、Ubuntu、または RHEL で実行中です。再起動中も持続する EC2 インスタンスに静的 DNS サーバーを割り当てる方法を教えてください。」で、特定の Linux ディストリビューションとバージョンの永続的な DNS サーバーの設定に関するガイダンスを参照してください。
-
Ubuntu - 64 bit インスタンスが最新であることを確認します。
sudo apt-get update
sudo apt-get -y upgrade
-
必要な Ubuntu パッケージを Linux インスタンスにインストールします。
これらのパッケージの一部が既にインストールされている可能性があります。
パッケージをインストールすると、いくつかのポップアップ設定画面が表示されます。一般的に、これらの画面のフィールドは空白のままで構いません。
sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
-
逆引き DNS 解決を無効にし、デフォルトのレルムをドメインの FQDN に設定します。Ubuntu インスタンスは、レルムが稼働する前に DNS で逆引き解決可能になっている必要があります。なっていない場合、次のように /etc/krb5.conf で逆引き DNS を無効にする必要があります。
sudo vi /etc/krb5.conf
[libdefaults]
default_realm = EXAMPLE.COM
rdns = false
-
次のコマンドを使用してディレクトリにインスタンスを結合します。
sudo realm join -U join_account example.com
--verbose
join_account@example.com
-
AccountNameドメイン参加権限を持つ example.com
ドメイン内のアカウントの SAM。プロンプトが表示されたら、アカウントのパスワードを入力します。これらの権限の委任に関する詳細については、「AWS Managed Microsoft AD のディレクトリ結合権限を委任する」を参照してください。
example.com
-
ディレクトリの完全修飾 DNS 名です。
...
* Successfully enrolled machine in realm
-
SSH サービスを設定して、パスワード認証を許可します。
-
テキストエディタで /etc/ssh/sshd_config
ファイルを開きます。
sudo vi /etc/ssh/sshd_config
-
PasswordAuthentication
設定を「yes
」に設定します。
PasswordAuthentication yes
-
SSH サービスを再起動します。
sudo systemctl restart sshd.service
または:
sudo service sshd restart
-
インスタンスが再起動したら、任意の SSH クライアントを使用して接続し、次の手順を実行してドメイン管理者グループを sudoers リストに追加します。
-
次のコマンドを使用して sudoers
ファイルを開きます。
sudo visudo
-
次の内容を sudoers
ファイルの下部に追加して保存します。
## Add the "Domain Admins" group from the example.com
domain.
%Domain\ Admins@example.com
ALL=(ALL:ALL) ALL
(上の例では「\<space>」を使用して Linux スペース文字を作成しています)。
Simple AD の使用において、「最初のログイン時にユーザーにパスワードの変更を強制する」オプションを指定して Linux インスタンスのユーザーアカウントを作成する場合、そのユーザーは kpasswd を使用して初期のパスワード変更ができません。初めてパスワードを変更する場合、ドメイン管理者が Active Directory 管理ツールを使用してユーザーのパスワードを更新する必要があります。
Linux インスタンスからアカウントを管理する
Linux インスタンスから Simple AD のアカウントを管理するには、次に示すように、Linux インスタンスで特定の設定ファイルを更新する必要があります。
/etc/sssd/sssd.conf ファイルで、krb5_use_kdcinfo を 「False 」に設定します。例:
[domain/example.com]
krb5_use_kdcinfo = False
設定を有効にするには、sssd サービスを再起動する必要があります。
$ sudo systemctl restart sssd.service
または、次のコマンドを使用できます。
$ sudo service sssd start
CentOS Linux インスタンスからユーザーを管理する場合は、次を含めるためにファイル /etc/smb.conf も編集する必要があります。
[global]
workgroup = EXAMPLE.COM
realm = EXAMPLE.COM
netbios name = EXAMPLE
security = ads
アカウントのログインアクセスの制限
デフォルトでは、すべてのアカウントは Active Directory で定義されているため、ディレクトリのすべてのユーザーがインスタンスにログインできます。sssd.conf の ad_access_filter を使用して、特定のユーザーのみにインスタンスへのログインを許可できます。例:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
ユーザーは、特定のグループのメンバーである場合にのみ、インスタンスへのアクセスを許可されることを示しています。
cn
-
アクセス権限のあるグループの共通名。この例では、グループ名は、admins
です。
ou
-
これは、上記のグループが配置される組織単位です。この例では、OU は、Testou
です。
dc
-
これは、ドメインのドメインコンポーネントです。この例では、example
です。
dc
-
これは、追加のドメインコンポーネントです。この例では、com
です。
ad_access_filter を手動で /etc/sssd/sssd.conf に追加する必要があります。
テキストエディタで /etc/sssd/sssd.conf ファイルを開きます。
sudo vi /etc/sssd/sssd.conf
この操作を行った後、sssd.conf は次のようになります。
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam
[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
設定を有効にするには、sssd サービスを次のように再起動する必要があります。
sudo systemctl restart sssd.service
または、次のコマンドを使用できます。
sudo service sssd restart
ID マッピング
ID マッピングは 2 つの方法で実行でき、UNIX/Linux ユーザー識別子 (UID) とグループ識別子 (GID)、Windows ID、Active Directoryセキュリティ識別子 (SID) ID 間の統一されたエクスペリエンスを維持できます。
での集中型ユーザ ID マッピングには、ポータブルオペレーティングシステムインターフェイス (POSIX) Active Directory が必要です。
一元化されたユーザ ID マッピング
Active Directoryまたは、Linux ユーザーに UID と GID を提供する別のライトウェイトディレクトリアクセスプロトコル (LDAP) サービスもあります。ではActive Directory、次の ID がユーザーの属性に保存されます。
元の UID と GID を使用するように Linux インスタンスを設定するにはActive Directory、sssd.conf ファイルに設定しますldap_id_mapping = False
。この値を設定する前に、UID、UID 番号、GID 番号が内のユーザーとグループに追加されていることを確認してください。Active Directory
分散型ユーザー ID マッピング
POSIX Active Directory 拡張がない場合や、ID マッピングを一元管理しないことを選択した場合、Linux は UID と GID の値を計算できます。Linux はユーザー固有のセキュリティ識別子 (SID) を使用して一貫性を保ちます。
分散ユーザー ID マッピングを設定するには、ldap_id_mapping = True
sssd.conf ファイルで設定します。
Linux インスタンスへの接続
ユーザーの SSH クライアントを使用してインスタンスに接続し、ユーザー名の入力が求められます。ユーザーは、username@example.com
または EXAMPLE\username
のいずれかの形式でユーザー名を入力することができます。使用している Linux ディストリビューションに応じて、レスポンスは次のように表示されます。
Amazon Linux、Red Hat Enterprise Linux、および CentOS Linux
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
SUSE Linux
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)
As "root" (sudo or sudo -i) use the:
- zypper command for package management
- yast command for configuration management
Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud
Have a lot of fun...
Ubuntu Linux
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Apr 18 22:03:35 UTC 2020
System load: 0.01 Processes: 102
Usage of /: 18.6% of 7.69GB Users logged in: 2
Memory usage: 16% IP address for eth0: 10.24.34.1
Swap usage: 0%