第5章 外部認証の設定


外部認証を使用して、外部 ID プロバイダーのユーザーグループメンバーシップからユーザーとユーザーグループのパーミッションを派生させることができます。外部認証を使用する場合には、このようなユーザーを作成したり、グループメンバーシップを Satellite Server で手動で保守したりする必要はありません。外部ソースでメールが提供されない場合は、Satellite Web UI で最初のログイン時に要求されます。

重要なユーザーおよびグループアカウント情報

ユーザーおよびグループアカウントはすべて、ローカルアカウントである必要があります。これにより、Satellite Server 上のローカルアカウントと Active Directory ドメイン内のアカウントによる認証競合が避けられます。

ユーザーおよびグループアカウントが /etc/passwd/etc/group ファイルの両方に存在すれば、この競合によってシステムが影響を受けることはありません。たとえば、puppetapacheforeman および foreman-proxy グループのエントリーが /etc/passwd/etc/group の両ファイルに存在することを確認するには、以下のコマンドを実行します。

# cat /etc/passwd | grep 'puppet\|apache\|foreman\|foreman-proxy'
# cat /etc/group | grep 'puppet\|apache\|foreman\|foreman-proxy'

外部認証の設定シナリオ

Red Hat Satellite では、外部認証の設定において以下の一般的なシナリオがサポートされます。

  • Lightweight Directory Access Protocol (LDAP) サーバーを外部 ID プロバイダーとして使用するシナリオ。LDAP は、一元的に保存された情報にネットワークを介してアクセスするために使用されるオープンプロトコルセットです。Satellite では、Satellite Web UI を介して LDAP 全体を管理できます。詳細は、「LDAP の使用」 を参照してください。LDAP を使用して Red Hat Identity Management または AD サーバーに接続できますが、セットアップでは、Satellite の Web UI でのサーバー検出、フォレスト間信頼、または Kerberos を使用したシングルサインオンはサポートされません。
  • Red Hat Identity Management サーバーを外部 ID プロバイダーとして使用するシナリオ。Red Hat Identity Management は、ネットワーク環境で使用される個別 ID、認証情報、および権限を管理します。Red Hat Identity Management を使用した設定は、Satellite Web UI のみを使用して完了できず、CLI との対話が必要です。詳細は、「Red Hat Identity Management の使用」 を参照してください。
  • フォレスト間 Kerberos 信頼を介して Red Hat Identity Management に統合された Active Directory (AD) を外部 ID プロバイダーとして使用するシナリオ。詳細は、「フォレスト間信頼を使用する Active Directory」 を参照してください。
  • Red Hat Single Sign On を Satellite への外部認証用の OpenID プロバイダーとして使用するシナリオ。詳細は、「Red Hat Single Sign-On 認証を使用した Satellite の設定」 を参照してください。
  • TOTP を使用した Satellite への外部認証に Red Hat Single Sign-On を OpenID プロバイダーとして使用するシナリオ。詳細は、「TOTP を使用した Red Hat Single Sign On 認証の設定」 を参照してください。

Satellite でプロビジョニングしたホストは、Satellite Server にアクセスできるだけでなく、Red Hat Identity Management レルムと統合することもできます。Red Hat Satellite には、レルムまたはドメインプロバイダーに登録されたシステムのライフサイクルを自動的に管理するレルム機能があります。詳細は、「プロビジョニングされたホストの外部認証」 を参照してください。

表5.1 認証の概要
認証ユーザーグループ

Red Hat Identity Management

Kerberos または LDAP

あり

Active Directory

Kerberos または LDAP

あり

POSIX

LDAP

あり

5.1. LDAP の使用

Satellite は、1 つまたは複数の LDAP ディレクトリーを使用した LDAP 認証をサポートします。

Red Hat Satellite で TLS を使用してセキュアな LDAP 接続 (LDAPS) を確立する必要がある場合は、まず、接続先の LDAP サーバーで使用する証明書を取得して、以下の説明のように Satellite Server のベースオペレーティングシステムでこの証明書を信頼済みとしてマークします。LDAP サーバーで中間認証局との証明書チェーンを使用する場合は、すべての証明書が取得されるように、チェーン内のすべてのルートおよび中間証明書が信頼済みである必要があります。この時点でセキュアな LDAP を必要としない場合は、「Red Hat Satellite で LDAP を使用する設定」 に進みます。

重要

ユーザーは、Red Hat Identity Management と LDAP の両方を認証方法として使用することはできません。ユーザーが 1 つの方法を使用して認証されると、他の方法を使用することはできません。

ユーザーの認証方法を変更するには、自動的に作成されたユーザーを Satellite から削除する必要があります。

Red Hat Identity Management を認証方法として使用する方法の詳細については、「Red Hat Identity Management の使用」 を参照してください。

5.1.1. セキュア LDAP 向けの TLS の設定

Satellite CLI を使用して、セキュア LDAP (LDAPS) 向けに TLS を設定します。

手順

  1. LDAP サーバーから証明書を取得します。

    1. Active Directory 証明書サービスを使用する場合は、ベース 64 エンコード X.509 形式を使用してエンタープライズ PKI CA 証明書をエクスポートします。Active Directory サーバーでの CA 証明書の作成およびエクスポートについては、How to configure Active Directory authentication with TLS on Satellite を参照してください。
    2. LDAP サーバー証明書を一時的な場所の Satellite Server にダウンロードし、終了したら削除します。

      たとえば、/tmp/example.crt です。ファイル名の拡張子を .cer.crt にすることが唯一の規則であり、この拡張子は、DER バイナリーまたは PEM ASCII の形式の証明書を参照できます。

  2. LDAP サーバーからの証明書を信頼します。

    Satellite Server では、LDAP 認証用の CA 証明書は /etc/pki/tls/certs/ ディレクトリー内の個別ファイルである必要があります。

    1. install コマンドを使用して適切なパーミッションでインポート済みの証明書を /etc/pki/tls/certs/ ディレクトリーにインストールします。

      # install /tmp/example.crt /etc/pki/tls/certs/
    2. root で以下のコマンドを実行して、LDAP サーバーから取得した example.crt 証明書を信頼します。

      # ln -s example.crt /etc/pki/tls/certs/$(openssl \
      x509 -noout -hash -in \
      /etc/pki/tls/certs/example.crt).0
    3. httpd サービスを再起動します。

      # systemctl restart httpd

5.1.2. Red Hat Satellite で LDAP を使用する設定

Satellite Web UI で、LDAP を使用するように Satellite を設定します。

Satellite web UI で Kerberos を使用したシングルサインオン機能が必要な場合は、代わりに Red Hat Identity Management および AD 外部認証を使用する必要があることに注意してください。詳細は以下を参照してください。

手順

  1. Network Information System (NIS) サービスのブール値を true に設定して SELinux により LDAP の送信接続がブロックされないようにします。

    # setsebool -P nis_enabled on
  2. Satellite Web UI で、Administer > Authentication Sources に移動します。
  3. Create LDAP Authentication Source をクリックします。
  4. LDAP サーバータブで LDAP サーバーの名前、ホスト名、ポート、およびサーバータイプを入力します。デフォルトポートは 389、デフォルトサーバータイプは POSIX です (認証サーバーのタイプに応じて FreeIPA または Active Directory を選択することもできます)。TLS 暗号化接続に対しては、LDAPS チェックボックスを選択して暗号化を有効にします。ポートは LDAPS のデフォルト値である 636 に変更されるはずです。
  5. アカウント タブで、アカウント情報とドメイン名の詳細を入力します。説明と例については、「LDAP 設定の説明」 を参照してください。
  6. 属性マッピング タブで、LDAP 属性を Satellite 属性にマッピングします。ログイン名、名、姓、メールアドレス、および写真の属性をマッピングできます。サンプルについては、「LDAP 接続の設定例」 を参照してください。
  7. ロケーション タブで、左側の表からロケーションを選択します。選択したロケーションは、LDAP 認証ソースから作成されたユーザーに割り当てられ、初回ログイン以降、利用可能となります。
  8. 組織 タブで、左側の表から組織を選択します。選択した組織は、LDAP 認証ソースから作成されたユーザーに割り当てられ、初回ログイン以降、利用可能となります。
  9. Submit をクリックします。
  10. LDAP ユーザーの新しいアカウントを設定します。

    • Satellite でアカウントを自動作成する のチェックボックスを選択しなかった場合は、Red Hat Satellite の管理 の ユーザーの 作成 を参照して、ユーザーアカウントを手動で作成します。
    • Satellite でアカウントを自動作成する のチェックボックスを選択した場合は、LDAP ユーザーは LDAP アカウントおよびパスワードを使用して Satellite にログインできます。初回ログイン後に、Satellite 管理者はロールを手動で割り当てる必要があります。Satellite でユーザーアカウントに適切なロールを割り当てる方法は、Red Hat Satellite の管理 の ユーザーへのロールの割り当て を参照してください。

5.1.3. LDAP 設定の説明

次の表では、Account タブの各設定について説明します。

表5.2 Account タブの設定
設定説明

アカウント

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 によりユーザーアカウントが作成されます。初回ログイン後に、Satellite 管理者はロールを手動で割り当てる必要があります。Red Hat Satellite の管理 の ユーザーへのロールの割り当て を参照して、Satellite でユーザーアカウントに適切なロールを割り当てます。

ユーザーグループの同期

このオプションが選択された場合は、ユーザーのログイン時にユーザーのユーザーグループメンバーシップが自動的に同期され、メンバーシップは常に最新の状態になります。このオプションが選択されていない場合は、Satellite で cron ジョブを使用してグループメンバーシップを定期的 (デフォルトでは 30 分ごと) に同期します。詳細は、「外部ユーザーグループの設定」 を参照してください。

5.1.4. LDAP 接続の設定例

以下の表は、異なる種類の LDAP 接続の設定例を示しています。以下の例では、ユーザーおよびグループのエントリーに対してバインド、読み取り、および検索のパーミッションを持つ redhat という名前の専用サービスアカウントを使用します。LDAP 属性名は、大文字と小文字が区別されることに注意してください。

表5.3 Active Directory、Free IPA または Red Hat Identity Management、POSIX LDAP 接続の設定例
設定Active DirectoryFreeIPA または Red Hat Identity ManagementPOSIX (OpenLDAP)

アカウント

DOMAIN\redhat

uid=redhat,cn=users, cn=accounts,dc=example, dc=com

uid=redhat,ou=users, dc=example,dc=com

アカウントパスワード

P@ssword

-

-

ベース DN

DC=example,DC=COM

dc=example,dc=com

dc=example,dc=com

グループベース DN

CN=Users,DC=example,DC=com

cn=groups,cn=accounts, dc=example,dc=com

cn=employee,ou=userclass, dc=example,dc=com

ログイン名属性

userPrincipalName

uid

uid

名属性

givenName

givenName

givenName

姓属性

sn

sn

sn

メールアドレス属性

mail

mail

mail

写真属性

thumbnailPhoto

-

-

注記

userPrincipalName では、ユーザー名に空白文字を使用できます。ログイン名属性 sAMAccountName (上記の表にはリストされていない) は、レガシーの Microsoft システムとの後方互換性を提供します。sAMAccountName では、ユーザー名に空白文字を使用できません。

5.1.5. LDAP フィルターの例

管理者は LDAP フィルターを作成することで、特定のユーザーの Satellite へのアクセスを制限することができます。

表5.4 特定ユーザーのログインを許可するフィルターの例
ユーザーフィルター

User1

(distinguishedName=cn=User1,cn=Users,dc=domain,dc=example)

User1、User3

(memberOf=cn=Group1,cn=Users,dc=domain,dc=example)

User2、User3

(memberOf=cn=Group2,cn=Users,dc=domain,dc=example)

User1、User2、User3

(|(memberOf=cn=Group1,cn=Users,dc=domain,dc=example)(memberOf=cn=Group2,cn=Users,dc=domain,dc=example))

User1、User2、User3

(memberOf:1.2.840.113556.1.4.1941:=cn=Users,dc=domain,dc=example)

注記

グループの Users は、グループ Group1Group2 を含むネストされたグループです。ネストされたグループからすべてのユーザーをフィルターする場合は、ネストされたグループ名の前に memberOf:1.2.840.113556.1.4.1941:= を追加する必要があります。上の表の最後の例を参照してください。

LDAP ディレクトリー構造

上記の例のフィルターで使用される LDAP ディレクトリー構造

DC=Domain,DC=Example
   |
   |----- CN=Users
         |
         |----- CN=Group1
         |----- CN=Group2
         |----- CN=User1
         |----- CN=User2
         |----- CN=User3

LDAP グループメンバーシップ

上記の例のフィルターで使用されるグループメンバーシップ

グループメンバー

Group1

User1、User3

Group2

User2、User3

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.