第8章 外部認証の設定
外部認証を使用して、外部 ID プロバイダーのユーザーグループメンバーシップからユーザーとユーザーグループのパーミッションを派生させることができます。そのため、これらのユーザーを作成したり、グループメンバーシップを Satellite Server で手動で保守したりする必要はありません。Red Hat Satellite では、外部認証を設定する 4 つの一般的なシナリオがサポートされます。
- Lightweight Directory Access Protocol (LDAP) サーバーを外部 ID プロバイダーとして使用するシナリオ。LDAP は、一元的に保存された情報にネットワークを介してアクセスするために使用されるオープンプロトコルセットです。詳細は、「LDAP の使用」 を参照してください。LDAP を使用して IdM または AD サーバーに接続できますが、セットアップでは、Satellite の Web UI でサーバー検出、フォレスト間信頼、または Kerberos を使用したシングルサインオンはサポートされません。
- Red Hat Enterprise Linux Identity Management (IdM)サーバーを外部 ID プロバイダーとして使用するシナリオ。IdM は、ネットワーク環境で使用される個別 ID、認証情報、および権限を管理します。詳細は、「Identity Management の使用」 を参照してください。
- フォレスト間 Kerberos 信頼を介して IdM に統合された Active Directory (AD)を外部 ID プロバイダーとして使用するシナリオ。詳細は、「フォレスト間信頼での Active Directory の使用」 を参照してください。
- 外部 ID プロバイダーとして直接 AD を使用する。詳細は、「Active Directory の直接的な使用」 を参照してください。
上記のシナリオでは、Satellite Server へのアクセスを提供します。さらに、Satellite でプロビジョニングしたホストを、IdM レルムと統合することもできます。Red Hat Satellite には、レルムまたはドメインプロバイダーに登録されたシステムのライフサイクルを自動的に管理するレルム機能があります。詳細は、「プロビジョンされたホストの外部認証」 を参照してください。
8.1. LDAP の使用
8.1.1. TLS での セキュア LDAP (LDAPS) の設定
注記
このセクションでは、LDAP の直接統合について説明しますが、Red Hat では、SSSD を使用して IdM、AD、または LDAP サーバーに対して設定することを推奨します。これらの優先される設定は、このガイドの他の場所で説明します。
Red Hat Satellite で
TLS
を使用してセキュアな LDAP 接続(LDAPS)を確立する必要がある場合は、まず、接続先の LDAP サーバーで使用する証明書を取得して、以下の説明のように Satellite Server のベースオペレーティングシステムでこの証明書を信頼済みとしてマークします。LDAP サーバーで中間認証局との証明書チェーンを使用する場合は、すべての証明書が取得されるように、チェーン内のすべてのルートおよび中間証明書が信頼済みである必要があります。この時点でセキュアな LDAP を必要としない場合は、手順8.1「LDAP 認証の設定:」 に進みます。
LDAP サーバーから証明書を取得する
Active Directory 証明書サービスを使用する場合は、ベース 64 エンコード X.509 形式を使用してエンタープライズ PKI CA 証明書をエクスポートします。Active Directory サーバーでの CA 証明書の作成およびエクスポートについては、How to configure Active Directory authentication with
TLS
on Satellite 6.2 を参照してください。
LDAP サーバー証明書は、Satellite Server がインストールされている Red Hat Enterprise Linux システムの一時的な場所にダウンロードし、終了時に削除します。たとえば、
/tmp/example.crt
です。ファイル名の拡張子を .cer
と .crt
にすることが唯一の規則であり、DER バイナリーまたは PEM ASCII 形式の証明書を参照できます。
LDAP サーバーからの証明書を信頼する
Red Hat Satellite Server では、LDAP 認証用の CA 証明書は
/etc/pki/tls/certs/
ディレクトリー内の個別ファイルである必要があります。
install コマンドを使用して適切なパーミッションでインポートされた証明書を
/etc/pki/tls/certs/
ディレクトリーにインストールします。
install /tmp/example.crt /etc/pki/tls/certs/
# install /tmp/example.crt /etc/pki/tls/certs/
root
で以下のコマンドを入力して、LDAP サーバーから取得した example.crt 証明書を信頼します。
ln -s example.crt /etc/pki/tls/certs/$(openssl x509 -noout -hash -in /etc/pki/tls/certs/example.crt).0
# ln -s example.crt /etc/pki/tls/certs/$(openssl x509 -noout -hash -in /etc/pki/tls/certs/example.crt).0
httpd
サービスを再起動します。
- Red Hat Enterprise Linux 6 の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service httpd restart
# service httpd restart
- Red Hat Enterprise Linux 7 の場合
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart httpd
# systemctl restart httpd
8.1.2. LDAP を使用するよう Red Hat Satellite を設定
Web UI を使用して LDAP 認証を設定するには、次の手順に従います。Satellite の Web UI で Kerberos を使用したシングルサインオン機能が必要な場合は、代わりに IdM および AD 外部認証を使用する必要があることに注意してください。これらのオプションの詳細は、「Identity Management の使用」 または 「Active Directory の使用」 を参照してください。
手順8.1 LDAP 認証の設定:
- allow Network Information System (NIS) サービスブール値を true に設定して SELinux により送信 LDAP 接続が中止されるのを防ぎます。
- Red Hat Enterprise Linux 6 の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow setsebool -P allow_ypbind on
# setsebool -P allow_ypbind on
- Red Hat Enterprise Linux 7 の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow setsebool -P nis_enabled on
# setsebool -P nis_enabled on
に移動します。 TLS
暗号化接続に対しては、LDAPS チェックボックスを選択して暗号化を有効にします。ポートは LDAPS のデフォルト値である 636 に変更されるはずです。- アカウント タブ 「LDAP 設定の説明と例」 を参照してください。、アカウント情報とドメイン名の詳細を入力します。説明と例については、
- 属性 「LDAP 設定の説明と例」 を参照してください。で、LDAP 属性を Satellite 属性にマッピングします。Login name、First name、Surname、Email address、および Photo 属性をマップできます。サンプルについては、
これで Satellite Server は LDAP サーバーを使用するように設定されました。Satellite でアカウントを自動作成する を 選択しなかった場合は、「ユーザーの作成」 を参照してユーザーアカウントを手動で作成してください。このオプションを選択した場合、LDAP ユーザーは LDAP アカウントおよびパスワードを使用して Satellite にログインできます。初回ログイン後に、Satellite 管理者はロールを手動で割り当てる必要があります。Satellite でユーザーアカウントに適切なロールを割り当てるには、「ユーザーへのロールの割り当て」 を参照してください。
8.1.3. LDAP 設定の説明と例
以下の表は、
タブの各設定の説明を示しています。
設定 | 説明 |
---|---|
アカウントユーザー名 | LDAP サーバーへの読み取りアクセスを持つ LDAP ユーザー。ユーザー名は、サーバーで匿名の読み取りが許可されている場合は必要ありません。以下に例を示します。
uid=$login,cn=users,cn=accounts,dc=example,dc=com
$login 変数には、ログインページで入力されたユーザー名がリテラル文字列として格納されます。この値は、変数がデプロイメントされたときにアクセスされます。
この変数は、LDAP ソースからの外部ユーザーグループとは使用できません。ユーザーがログインしていない場合、Satellite はグループリストを取得する必要があります。匿名または専用サービスユーザーを使用してください。
|
アカウントパスワード |
アカウント フィールドで定義されたユーザーの LDAP パスワード。アカウント が
$login 変数を使用している場合 は、 このフィールドを空白にすることができます。
|
ベース DN |
LDAP ディレクトリーの最上位のドメイン名。
|
グローバルベース DN |
グループが含まれる LDAP ディレクトリーツリーの最上位のドメイン名。
|
LDAP フィルター |
LDAP クエリーを制限するフィルター。
|
Satellite でアカウントを自動作成する |
このオプションを選択した場合には、LDAP ユーザーが Satellite に初めてログインすると、それらのユーザーに対して Satellite ユーザーアカウントが自動的に作成されます。
権限が拒否された(Permission Denied )警告が表示されます。また、ユーザーには、Satellite 管理者に連絡して、ユーザーアカウントをロールに関連付ける必要があります。
|
ユーザーグループの同期 |
このオプションが選択された場合は、ユーザーのログイン時にユーザーのユーザーグループメンバーシップが自動的に同期され、メンバーシップは常に最新の状態になります。このオプションが選択されていない場合は、Satellite で Cron ジョブを使用してグループメンバーシップを定期的に同期します(デフォルトでは 30 分ごと)。詳細については、手順8.6「外部ユーザーグループの設定:」 を参照してください。
|
以下の表は、異なる種類の LDAP 接続の設定例を示しています。以下のすべての例では、ユーザーおよびグループのエントリーに対してバインド、読み取り、および検索権限を持つ redhat と呼ばれる専用のサービスアカウントを使用します。LDAP 属性名は、大文字と小文字が区別されることに注意してください。
設定 | 値の例 |
---|---|
アカウントユーザー名 | DOMAIN\redhat |
アカウントパスワード | P@ssword |
ベース DN | DC=example,DC=COM |
グループベース DN | CN=Users,DC=example,DC=com |
ログイン名属性 | userPrincipalName |
名属性 | givenName |
ラストネーム属性 | sn |
メールアドレス属性 |
注記
userPrincipalName
ユーザー名に空白文字を使用できます。ログイン名属性 sAMAccountName
(上記の表にはリストされていない)は、レガシーの Microsoft システムとの後方互換性を提供します。sAMAccountName
ユーザー名に空白文字を使用することはできません。
設定 | 値の例 |
---|---|
アカウントユーザー名 | uid=redhat,cn=users,cn=accounts,dc=example,dc=com |
ベース DN | dc=example,dc=com |
グループベース DN | cn=groups,cn=accounts,dc=example,dc=com˙ |
ログイン名属性 | uid |
名属性 | givenName |
ラストネーム属性 | sn |
メールアドレス属性 |
設定 | 値の例 |
---|---|
アカウントユーザー名 | uid=redhat,ou=users,dc=example,dc=com |
ベース DN | dc=example,dc=com |
グループベース DN | cn=employee,ou=userclass,dc=example,dc=com˙ |
ログイン名属性 | uid |
名属性 | givenName |
ラストネーム属性 | sn |
メールアドレス属性 |