ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
LDAPユーザー管理とOracle Linux Automation Managerの統合
イントロダクション
Oracle Linux Automation Managerを使用すると、管理者は既存の内部RBAC (ロールベースのアクセス制御)ソースとともに、ユーザー管理のLDAPを統合できます。構成後、LDAPアカウントを使用してログインするユーザーは、自動的にOracle Linux Automation Managerアカウントを生成し、標準ユーザーまたは管理者組織に割り当てられます。
目的
このチュートリアルでは、次の方法を学習します。
- LDAPでのアカウントおよびグループの作成および構成
- bindアカウント
- userアカウント
- superuserグループ
- system_auditorグループ
- LDAPを使用するためのOracle Linux Automation Managerの構成
- LDAPアクセスの検証
- LDAPSの有効化
前提条件
- Oracle Linux Automation Managerがインストールされているシステム。
- オープンソースのFreeIPAアイデンティティ管理サーバーなど、使用可能なLDAPサーバー。
Oracle Linux Automation Managerのデプロイ
ノート:独自のテナンシで実行している場合は、linux-virt-labs
GitHubプロジェクトREADME.mdを読み、演習環境をデプロイする前に前提条件を完了してください。
-
Lunaデスクトップでターミナルを開きます。
-
linux-virt-labs
GitHubプロジェクトをクローニングします。git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
作業ディレクトリに移動します。
cd linux-virt-labs/olam
-
必要なコレクションをインストールします。
ansible-galaxy collection install -r requirements.yml
-
Oracle Linuxインスタンス構成を更新します。
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" 2: instance_name: "ipa-server" type: "server" use_freeipa: true olam_type: single EOF
-
インベントリファイルを作成します。
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
演習環境をデプロイします。
ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
無料のラボ環境では、Oracle Cloud Infrastructure SDK for Python用のRPMパッケージをインストールするため、localhostに追加変数
ansible_python_interpreter
が必要です。このパッケージをインストールする場所は、使用しているOracle Linuxのバージョンに基づくシステムのデフォルトのPythonモジュールの下にあります。インベントリ変数を使用すると、localhost以外のホストで実行されている再生に影響を与えません。デフォルトのデプロイメント・シェイプでは、AMD CPUが使用されます。コマンドラインで新しいシェイプ変数定義を渡すことで、インスタンスのシェイプを変更できます。
たとえば:
-e instance_shape="VM.Standard3.Flex"
同様に、Oracle Linuxイメージのデフォルト・バージョンでは、default_vars.ymlファイルに定義されている変数
os_version
が使用されます。この値は、コマンドラインでOracle Linuxメジャー・バージョンを渡すことによって変更できます。たとえば:
-e os_version="9"
重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。プレイブックのこの段階では、Oracle Linuxのインストールが完了し、インスタンスの準備ができました。前回の再生は、デプロイするノードのパブリックIPアドレスとプライベートIPアドレスを出力します。
IPAサーバーが存在することを確認する
-
端末を開き、SSHを介してipa-serverインスタンスに接続します。
ssh oracle@<ip_address_of_node>
-
IPAサービスが実行されていることを確認します。
sudo systemctl status ipa.service
ipa.serviceは、
ipactl
コマンドを利用して、個々のコンポーネントをすべて同時に起動または停止します。 -
端末ローカライゼーション設定を設定します。
この設定は、
ipactl
コマンドの要件です。export LC_ALL="C.UTF-8"
-
IPAサーバー制御インタフェースを使用してステータスを確認します。
sudo ipactl status
IPAサーバーが正しく機能するためには、一覧表示されているすべてのコンポーネントが実行されている必要があります。
バインド・アカウントの作成
バインド・アカウントは、LDAP構造全体への読取り専用アクセスを可能にするシステム・アカウントです。通常のユーザー・アカウントではなくバインド・アカウントを使用すると、他のシステムへのアクセスが防止され、ファイルは所有されません。さらに、バインドアカウントには特別な権限がなく、IPA LDAPサーバーにデータを書き込むことはできません。
-
更新ファイルを作成します。
ipa-LDAP-updaterのマニュアルページによると、更新ファイルには、追加または変更するLDAPエントリと、そのエントリに対して実行する一連の操作を記述します。
tee olam-binddn.update << EOF dn: uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=com default:objectclass:account default:objectclass:simplesecurityobject default:uid:olam-bind only:userPassword:olamPassword123 only:passwordExpirationTime:20380101000000Z only:nsIdleTimeout:0 EOF
バインドユーザーアカウントの強力でセキュアなパスワードと、妥当な uidを選択します。前述のuserPasswordおよびuidは、無料の演習環境内でのみデモンストレーションを目的としています。
-
IPAサーバーに更新ファイルをインポートします。
sudo ipa-ldap-updater olam-binddn.update
-
新しいバインド・アカウントが存在することを確認します。
ldapsearch -D 'cn=Directory Manager' -x uid=olam-bind -W
-
プロンプトが表示されたら、Directory Managerアカウントのパスワードを入力します。
無料の演習環境では、パスワードは
DMPassword1
です。出力例:
[oracle@ipa-server ~]$ ldapsearch -D 'cn=Directory Manager' -x uid=olam-bind -W Enter LDAP Password: # extended LDIF # # LDAPv3 # base <dc=lv,dc=vcn,dc=oraclevcn,dc=com> (default) with scope subtree # filter: uid=olam-bind # requesting: ALL # # olam-bind, sysaccounts, etc, lv.vcn.oraclevcn.com dn: uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=co m objectClass: account objectClass: simplesecurityobject objectClass: top uid: olam-bind userPassword:: e1BCS0RGMl9TSEEyNTZ9QUFBSUFPTjJrZ295RVBRcmFtWkFydE5kRllNOVlkcmp UK2pVMkgwTm5qUUpxbHpJTUNxSUJOUXp4Z1F5emVqdk02Nk5jL2ZXMVNvelUyaGUwZDFJenFMN2Fk aExTaWFnc1kzVVFTbnBxL3RUdUo3VnBvU05GaXFpQWJTWktrcGZwR0REM0lNdCtKRWt1T2NBRk94d mFwS2tTUC9KS1FYUVprcGRjbzF0TlZDNHkzNEE4cFQ2UGtWM0pFcm4zdUNkdkVGZ2ZIM1Y4QWxiaG pQcm9HWU50aTdrMXRrM0ZkdFI0VlNGWW96SUcra2tUTkt1OE9tYVl3YXp6ZlV5VHBxeFFEMnBxRy9 XYmxBdW02OURNcDA2RzVBZUJzRGlYOWpDWkZrenNwbllKQXdiQ015MTFXVXI0TFB5VzByejNac2V0 SmE0dU9yS2NmOWhCZWpBV3NiRlNhQVR0MTU4V2FtN3Q2S21wNXU5em1yTm9oMVRCeEdqaG5Mb3dJN kdjcDF4a2p2VkNsYmhVSkQxZTRqS0lzTFJHc3JOclRKN3R0MitpbXZtSlRtR1FkRllsb1dr # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
ユーザーの作成
Oracle Linux Automation Managerは、インストール時にデフォルトのadminユーザーを作成します。同じ権限が割り当てられるLDAPユーザーを作成します。
-
Kerberosチケットを取得して、IPAサーバーに対して手動で認証します。
kinit admin
-
IPAサーバーの事前定義された adminアカウントパスワードを入力します。
無料の演習環境では、パスワードは
ADMPassword1
です。 -
IPAサーバーにユーザーを作成します。
ipa user-add olam_admin --first=OLAM --last=Administrator --password
ユーザーのログイン、名、姓を
ipa user-add
コマンドに渡します。これらの詳細をディレクトリに保存すると、IPAは自動的にユーザーログイン全体を小文字に変換するため、大文字と小文字が混在するユーザー名は使用できません。 -
olam_adminアカウントのプロンプトで、選択したパスワードを入力して確認します。
-
すべてのIPAサーバー・アカウントをリストして、ユーザーが存在することを確認します。
ipa user-find
結果には、デフォルトのIPAサーバー adminアカウントと新しく作成された olam_adminが表示されます。
グループの作成
Oracle Linux Automation Managerには3つのユーザー・タイプがあり、そのうちの2つは作成する必要があるLDAPグループに変換されます。これらのグループは、システム管理者およびシステム監査者のタイプ用です。
-
管理者グループを作成します。
ipa group-add olam_administrators
-
監査者グループを作成します。
ipa group-add olam_auditors
-
新しいユーザーを管理者グループに追加します。
ipa group-add-member olam_administrators --users=olam_admin
これで、IPAサーバーで最小限必要な手順が完了します。
-
IPAサーバーに対して開いているセッションを閉じます。
exit
LDAPクライアントツールのインストール
Oracle Linux Automation Managerでは、デフォルトでOpenLDAPアプリケーションおよび開発ツールのスイートはインストールされません。管理者はこれらのツールを使用して、端末からLDAPディレクトリにアクセスして変更し、構成をテストできます。
-
SSHを介して、既存の端末を使用してolam-nodeインスタンスに接続します。
ssh oracle@<ip_address_of_node>
-
OpenLDAPツール・パッケージをインストールします。
sudo dnf -y install openldap-clients
-
LDAPサーバーに接続して検索します。
ldapsearch -D uid=olam_admin,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com -W -H ldap://ipa-server.lv.vcn.oraclevcn.com:389
-D
: LDAPディレクトリにバインドする識別名(DN)です。-W
: 簡易認証のプロンプト-H
: プロトコル、ホストおよびポートのみで構成されるLDAPサーバーのURIを指定します。
-
olam_admin
ユーザーのパスワードをプロンプトに入力します。接続に成功すると、検索結果が返されます。
-
ターミナル・セッションを閉じます。
exit
Oracle Linux Automation Manager Web UIへのログイン
-
既存の端末を使用して、olam-nodeインスタンスへのSSHトンネルを構成します。
ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<ip_address_of_node> sleep 300
-o ExitOnForwardFailure=yes
: すべてのリモート・ポート転送が正常に確立されるまで待機します。-f
: SSHトンネルをバックグラウンドで実行します。-L
: ローカル・システム上のポート8444にトンネルを作成し、リモート・システム上の443を作成しますsleep 300
: リモート・トンネルを5分間開いたままにし、確立された接続を待機してから自動的に閉じます。
-
Webブラウザを開き、URLを入力します。
https://localhost:8444
ノート:使用するブラウザに基づいてセキュリティ警告を承認します。Chromeブラウザの「詳細」ボタンをクリックし、「localhostに進む(安全でない)」リンクをクリックします。
-
Oracle Linux Automation Manager Web UIにログインします
無料の演習環境では、ユーザー名
admin
とパスワードadmin
を使用します。 -
ログインすると、Web UIが表示されます。
LDAP設定を開く
システム管理者権限を持つユーザーは、Oracle Linux Automation Manager Web UIの「設定」ページを使用して、LDAPなどの代替の認証設定を追加します。
-
ナビゲーション・メニューの下部にある「設定」をクリックして、「設定」ページを表示します。
このページでは、LDAPサーバーへのアクセスの構成に使用する代替の認証設定にアクセスできます。
-
「認証」セクションの下の「LDAP設定」リンクをクリックします。
このリンクをクリックすると、「デフォルト」のLDAPサーバー構成ページが表示されます。Oracle Linux Automation Managerでは、デフォルトのLDAPサーバーの他に、5つの追加のLDAPソースを構成できます。
デフォルトのLDAP設定の編集
-
「デフォルトの詳細」ページの下部までスクロールし、「編集」ボタンをクリックします。
ページがリフレッシュされ、様々なフィールドの編集が可能になりました。無料の演習環境の様々なフィールドにエントリを貼り付ける場合は、
Ctrl+V
を使用することをお薦めします。 -
「LDAPサーバーURI」フィールドにLDAPサーバー・アドレスを入力します。
ldap://ipa-server.lv.vcn.oraclevcn.com:389
-
「LDAPバインド・パスワード」フィールドにバインド・ユーザーのパスワードを入力します。
無料の演習環境では、パスワードは
olamPassword123
です。olamPassword123
Oracle Linux Automation Managerは、構成変更の保存後にパスワード・フィールドを暗号化します。「LDAPバインド・パスワード」フィールドは引き続き編集できますが、入力した初期パスワードはWeb UIに表示されなくなります。
-
「LDAPグループ・タイプ」ドロップダウン値リストからグループ・タイプをクリックして選択します。
無料の演習環境では、LDAPグループ・タイプのデフォルトはMemberDNGroupTypeで、これはLDAPサーバーとともに使用します。
Oracle Linux Automation ManagerでサポートされているLDAPグループ・タイプでは、django-auth-LDAP-libraryが使用されます。
各LDAPグループ・タイプは異なるパラメータを使用する可能性があるため、django_auth_ldapアップストリーム・ドキュメントの
init
クラスを参照して、必要なパラメータを確認してください。 -
Oracle Linux Automation ManagerがLDAPサーバーへの接続またはバインドに使用するLDAPユーザーの「LDAPバインドDN」フィールドに、識別名(DN)を入力します。
以前に作成した olam-bindユーザーアカウントを使用します。
uid=olam-bind,cn=sysaccounts,cn=etc,dc=lv,dc=vcn,dc=oraclevcn,dc=com
-
「LDAPユーザーDNテンプレート」フィールドに、ユーザーの名前を格納するキーを入力します。
uid=%(user)s,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
-
「LDAPグループが必要」フィールドにグループ識別名を入力して、そのグループ内のユーザーがOracle Linux Automation Managerにアクセスできるようにします。
cn=olam_administrators,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com
「詳細の編集」ページは、この段階の無料の演習環境のスクリーンショットのようになります。
-
「LDAPユーザー検索」フィールドに、認証時にユーザーを検索する場所を入力します。
[ "cn=users,cn=accounts,dc=lv,dc=1inuxvirt,dc=oraclevcn,dc=com", "SCOPE_SUBTREE", "(uid=%(user)s)" ]
-
「LDAPグループ検索」フィールドに、検索するグループとその検索方法を入力します。
[ "cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com", "SCOPE_SUBTREE", "(objectClass=groupofNames)" ]
-
「LDAPユーザー属性マップ」テキスト・フィールドにユーザー属性を入力します。
{ "email": "mail", "first_name": "givenName", "last_name": "sn" }
ユーザーを取得する場合、Oracle Linux Automation Managerは、snキーからlast_nameによってユーザーを取得します。
-
「グループ別LDAPユーザー・フラグ」フィールドにユーザー・プロファイル・フラグを入力します。
これらのプロファイルは、LDAPユーザーをスーパーユーザーおよび監査者として割り当てます。
{ "is_superuser": "cn=olam_administrators,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com", "is_system_auditor": "cn=olam_auditors,cn=groups,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com" }
Oracle Linux Automation Managerは、表示されている例と一致するように構成を保存した後、このフィールドの形式を変更します。
-
終了後、「Save」ボタンをクリックします。
認証設定の確認
LDAP設定を保存すると、LDAPユーザーとしてOracle Linux Automation Managerにログインできるようになります。
-
Oracle Linux Automation Managerからログアウトします。
Web UIの右上隅にあるadminユーザーをクリックし、値リストから「ログアウト」を選択します。
-
ユーザー名
olam_admin
でOracle Linux Automation Managerにログインします。アカウントの作成時にユーザーに割り当てたパスワードを使用します。
-
ナビゲーション・メニューの「ユーザー」メニュー項目をクリックします。
-
ユーザーのリストに
olam_admin
が存在することを確認します。重要: Oracle Linux Automation Managerは、ユーザーを自動的に同期しません。かわりに、ユーザーの初期ログイン時にユーザーを作成して追加します。
(オプション) SSL/TLSを有効にします
IPAサーバーは、certutil
を使用して自己署名自己署名CAをインストールし、証明書を生成します。これらの証明書を使用すると、クライアントとサーバー間のSSLおよびTLS通信をテストできます。本番環境では、信頼できる認証局(CA)によって署名された証明書を使用する必要があります。
IPAサーバーの自己署名付きCA証明書は、IPAサーバーの /etc/ipa/ca.crtディレクトリにあります。
-
olam-nodeインスタンスに接続されている開いているターミナル・セッションに切り替えます。
-
自己署名CAをIPAサーバーからOracle Linux Automation Managerにコピーします。
scp oracle@ipa-server:/etc/ipa/ca.crt ~/
パスワードとして
oracle
と入力し、端末が無料の演習環境でパスワード・プロンプトを表示する場合はENTER
と入力します。 -
自己署名CA証明書をOracle Linux Automation Managerサーバーの共有システム証明書ディレクトリにコピーします。
sudo mv ~/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
-
証明書ファイルの所有権を変更します。
sudo chown root.root /etc/pki/ca-trust/source/anchors/ipa.crt
-
システム全体のトラスト・ストア構成を更新します。
sudo update-ca-trust
-
SSLを使用したLDAPサーバーへの接続をテストします。
ldapsearch -D uid=olam_admin,cn=users,cn=accounts,dc=lv,dc=vcn,dc=oraclevcn,dc=com -W -H ldaps://ipa-server.lv.vcn.oraclevcn.com
-
ブラウザに戻り、必要に応じて、
admin
ユーザーとしてOracle Linux Automation Managerにログインします。 -
「設定」および「LDAP設定」に移動します。
-
スクロール・ダウンして「編集」ボタンをクリックします。
-
LDAP Server URIまたは LDAP Start TLSを更新します。
LDAPサーバーURIの更新を選択した場合は、プロトコルを
ldap://
からldaps://
に変更し、ポートを389
から636
に変更します。LDAP Start TLSを更新する場合は、スイッチを Onに切り替えます。
重要: Oracle Linux Automation Managerを使用したLDAPSは、これらのオプションのいずれかが有効になっている場合にのみ機能し、両方が有効になるわけではありません。したがって、URIを更新する場合は、トグルを有効にせず、その逆も同様です。
-
ページ下部へスクロールして「Save」ボタンをクリックします。
-
Web UIからログアウトします。
-
ユーザー名
olam_admin
およびアカウント作成時に割り当てたパスワードを使用して、Oracle Linux Automation Managerにログインします。ログインすると、Oracle Linux Automation ManagerとLDAPサーバー間のSSL/TLS通信が動作していることを確認しました。時間があれば、LDAP設定を再度編集して、もう一方のオプションを試してください。
次のステップ
Oracle Linux Automation Managerは、外部LDAPサーバーに対してユーザーを正常に認証できるようになり、Web UI資格証明およびアクセス制御を集中管理できるようになります。Oracle Linuxトレーニング・ステーションにアクセスして、その他のOracle Linux Automation Managerトレーニングの一部を確認してください。
関連リンク
- Oracle Linux Automation Managerインストレーション・ガイド
- Oracle LinuxへのFreeIPAサーバーのインストール
- Oracle Linux Automation Managerドキュメント
- Oracle Linux Automation Managerトレーニング
- Oracle Linuxトレーニング・ステーション
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Integrate LDAP User Management with Oracle Linux Automation Manager
F75248-03
Copyright ©2022, Oracle and/or its affiliates.