目次


IBM PureApplication System での OS 認証と Microsoft Active Directory の統合

Comments

はじめに

IBM は、IBM PureApplication System を実装する際には、外部 LDAP サブシステムを統合するよう推奨しています。こうすることにより、認証ならびにグループ・メンバーシップを、IT ランドスケープ内の既存の法人ディレクトリーにオフロードすることができます。これは、IBM PureApplication System の管理インターフェース (システム・コンソール、ワークロード・コンソール、Pure CLI、REST インターフェースなど) のユーザーおよびグループに関して言えることです。

重要な点として指摘しておかなければならないのは、上述の LDAP 統合を適用したとしても、システム上の各仮想マシンでデプロイされるオペレーティング・システムが自動的に LDAP を統合するわけではないことです。外部 LDAP の統合は、多くのクライアントで OS の要件となっています。それは、PureApplication System 上の多数の VM のセキュリティー管理が大幅に単純化されるためです。

この記事では、PureApplication System 上の OS セキュリティーに、多くのクライアントで使用されている LDAP 実装である Microsoft Active Directory を統合する方法を説明します。特に詳しく説明するのは、仮想システム・パターンに含まれる VM にスクリプト・パッケージを適用して、Active Directory が自動的に統合されるようにする方法です。また、この統合を有効にする上で Active Directory に必要となるセットアップについても焦点を当てます。

この記事で説明するソリューションを適用できるのは、Red Hat Enterprise Linux を実行している Intel IBM PureApplication System モデル (8283/W1500 および 8283/W2500) のみです。

問題

仮想システム・パターンをデプロイする場合、管理者はデプロイ時に、RHEL (Red Hat Enterprise Linux) OS 内に定義される 1 つ以上の OS アカウントに対するパスワードを指定する必要があります。アカウントには常に rootvirtuser が含まれますが、仮想システム・パターンによっては他のアカウントも含まれることがあります (例えば IBM DB2 の場合、db2inst1 が含まれます)。

PureApplication System に 1 つの仮想システム・パターンをデプロイすると、1 つ以上の仮想マシンがデプロイされるようになります。その結果として、VM の数が多くなると VM の管理が困難になってきます。各 VM の管理者には仮想システム・パターンのデプロイ時に指定した OS アカウントのパスワードを渡す必要があります。これらのアカウントのライフサイクルの管理には手間がかかりがちです。例えば、3 ヶ月ごとにパスワードを変更することを要件とするパスワード・ポリシーを施行するにはどうすればよいでしょう?さらに、管理者のチームに新しいメンバーが加わったり、メンバーが抜けたりするなどの難題もあります。

これらの難題を考えると、RHEL OS に既存の Microsoft Active Directory サービスを統合することで、多くのメリットがもたらされます。この場合、パスワードのライフサイクル管理は、もはや PureApplication System 自体の VM スコープ内に収まらなくなり、Active Directory に登録されているユーザーが、デプロイされた VM にログオンするためのメカニズムが必要になります。また、ユーザーが SSH でログインしようとした時点で、RHEL OS が Active Directory にアクセスし、ユーザーの資格情報とグループ・メンバーシップを検証するように構成する必要があります。グループ・メンバーシップを使用すれば、VM へのアクセスを Active Directory に登録されているユーザーのサブセットに制限することができます。

実装

このサンプル・ソリューションでは、Samba を使用して Active Directory に対して認証を行います。PAM (Pluggable Authentication Module) と winbind を構成して、RHEL ホストを実際に Active Directory ドメインに参加させるようにします。ドメインに参加させるには、Active Directory 内のコンテナーと、そのドメイン内でコンピューター・オブジェクトを作成するのに十分な権限が与えられたバインド・ユーザーが必要です。

以上の準備が整うと、OS がチャレンジ/レスポンスを使用して、Active Directory に対して認証を行えるようになります。ユーザーのグループ・メンバーシップも Active Directory から取得されて、uid と gid への一貫したマッピングを構成することができます。RHEL ホストはドメインに参加していることから、Kerberos チケットも取得することができます。これにより、ドメイン内でのシングル・サインオン (SSO) という強力な機能が有効になります。つまり、ある VM にログインしたユーザーは、パスワードを再度入力しなくても、同じドメイン内の別の VM に SSH を使用してログインできるということです。

PureApplication System 上の VM は削除可能です。VM を削除する場合は、Active Directory 内の対応するコンピューター・オブジェクトも削除する必要があります。このことから、バインド・ユーザーには Active Directory 内のコンピューター・オブジェクトを削除するのに十分な権限が必要となります (図 1 を参照)。

図 1. ソリューションの概要
ソリューションの概要
ソリューションの概要

目的としているのは、Active Directory に登録されているユーザーのグループ・メンバーシップに基づいてアクセス権限を渡すことです。以下のグループ・メンバーシップを使用することで、システム上のワークロードごとに、ユーザーに SSH でログオンする権限が与えられているのかどうか、あるいはユーザーが技術ユーザーや root へのユーザー切り替え (su) を実行できるのかどうかを判別することができます。

  • GRP_IPAS_<workload>_login
    このグループのメンバーには、SSH を使用して、OS へログインすることが許可されます。
  • GRP_IPAS_<workload>_middleware
    このグループのメンバーには、OS 上の 1 つ以上の異なる技術ユーザー (例えば、virtuser または db2inst1) へのユーザー切り替え (su) が許可されます。
  • GRP_IPAS_<workload>_root
    このグループのメンバーには、root へのユーザー切り替え (su) が許可されます。

Active Directory のセットアップ

以降のセクションで、Active Directory ドメインで行う必要があるセットアップについて説明します。このセットアップは、RHEL の OS セキュリティーを構成してドメインに参加する前に完了しておく必要があります。

  • コンテナー

    この例では Active Directory の構造を単純化するために、Active Directory ドメインのルートにある単一の以下のコンテナーに、関連するすべてのコンポーネントを格納します。

    OU=IPAS,DC=dw,DC=ibm,DC=com

    このコンテナー内に、以下の 3 つのコンテナーを作成します。これらのコンテナーはそれぞれ、サービス・アカウント用、グループ用、そしてドメインに参加する実際のホスト用です。

    OU=Service Accounts,OU=Users,OU=IPAS,DC=dw,DC=ibm,DC=com
    OU=Management,OU=Groups,OU=IPAS,DC=dw,DC=ibm,DC=com
    OU=Servers,OU=IPAS,DC=dw,DC=ibm,DC=com

    図 2 に、用意しておかなければならないディレクトリー構造を示します。

    図 2. Active Directory ツリーのセットアップ
    Active Directory ツリーのセットアップのスクリーンショット
  • サービス・アカウント

    ドメインに参加させる新規コンピューター・オブジェクトを作成できる、Active Directory のサービス・アカウントが必要です。このアカウントには、コンテナー OU=Servers,OU=IPAS,DC=dw,DC=ibm,DC=com 内に新規のコンピューター・オブジェクトを作成する権限が必要になります。コンピューター・オブジェクトをドメインから切り離したら、そのコンピューター・オブジェクトをコンテナーからも削除しなければならないので、このアカウントには以下のコンテナーからコンピューター・オブジェクトを削除する権限も必要です。

    CN=IPASAD,OU=Service Accounts,OU=Users,OU=IPAS,DC=dw,DC=ibm,DC=com

  • グループおよびユーザー

    ドメインに参加した後は、ユーザー・メンバーシップを使用して、その OS 上でユーザーが持つ権限を判別します。したがって、そうした目的で使用できるいくつかのグループ (下記参照) を作成する必要があります。もちろん、後で他のグループを追加することもできます。

    • GRP_IPAS_myWorkload_login
      このグループのメンバーには、SSH を使用して OS へログインすることが許可されます。
    • GRP_IPAS_myWorkload_middleware
      このグループのメンバーには、OS 上の 1 つ以上の異なる技術ユーザー (例えば、virtuser または db2inst1) へのユーザー切り替え (su) が許可されます。
    • GRP_IPAS_myWorkload_root
      このグループのメンバーには、root へのユーザー切り替え (su) が許可されます。

    当然ながら、いくつかのユーザーも定義されていなければなりません。テストのために、それぞれに異なるグループ・メンバーシップを持つユーザーを定義する必要があります。

  • 必要となる RPM

    Active Directory との統合を有効にするには、以下の RPM ファイルが必要です。バージョンが重要となる可能性があることに注意してください (古いバージョンの Samba/winbind バイナリーでは、グループ・メンバーシップに関する動作が一貫しないことがわかっています)。以下に記載する RPM のバージョンはテスト済みです。これらのバージョンが、最低限必要とされるバージョン番号であると考えてください。

    これらの RPM は、RHEL OS を構成する前にインストールしておく必要があります。仮想システム・パターンで使用する仮想イメージによっては、すでにインストールされている RPM もあります。

    • libsmbclient-3.6.9-151.el6.x86_64.rpm
    • libtalloc-2.0.7-2.el6.x86_64.rpm
    • libtdb-1.2.10-1.el6.x86_64.rpm
    • openldap-clients-2.4.23-20.el6.x86_64.rpm *
    • openldap-clients-2.4.23-26.el6_3.2.x86_64.rpm *
    • openldap-clients-2.4.23-32.el6_4.1.x86_64.rpm *
    • openldap-clients-2.4.23-34.el6_5.1.x86_64.rpm *
    • samba-3.6.9-151.el6.x86_64.rpm *
    • samba-3.6.9-151.el6_4.1.x86_64.rpm *
    • samba-3.6.9-169.el6_5.x86_64.rpm *
    • samba-client-3.6.9-151.el6.x86_64.rpm
    • samba-common-3.6.9-151.el6.x86_64.rpm
    • samba-winbind-3.6.9-151.el6.x86_64.rpm
    • samba-winbind-clients-3.6.9-151.el6.x86_64.rpm

    上記のリストで * が付いているパッケージについては、仮想イメージによって使用するバージョンが異なります。

  • 必要となるデータ

    以下に、スクリプトを実行するための変数として必要なデータを定義します。

    $ADS_username
    $ADS_password
    $ADS_container_shortname
    $ADS_domain
    $ADS_workgroup
    $ADS_realm
    $ADS_login_group
    $ADS_middleware_group
    $ADS_root_group

    • サービス・アカウントのユーザー名とパスワード: Active Directory に定義済みのサービス・アカウントのユーザー名とパスワード。コンピューター・オブジェクトを作成 (および削除) する際に必要となります。
    • コンテナー名: コンピューター・オブジェクトを格納するコンテナー (OU) の名前。net ads join コマンドに必要です。OU ストリングは、相対識別名 (RDN) 抜きで上から下の方向で示され、「/」で区切られます。この例でのコンテナー OU=Servers,OU=IPAS,DC=dw,DC=ibm,DC=com は、「IPAS/Servers」として指定します。
    • ドメイン: 仮想マシンのドメイン。特に、net ads join コマンドに必要となります。修飾ホスト名はデプロイ時に PureApplication System によって指定されるため、ドメイン名を取得するには hostname -domain コマンドを使用することになります。したがって、ドメイン名をスクリプト・パッケージ変数として公開する必要はありません。
    • ワークグループ: 参加するワークグループの名前。Samba で使用します。以降に記載するサンプル・コードでは、このデータは $ADS_workgroup 変数に格納されます。
    • レルム: レルムの名前。Samba 構成と Kerberos 構成で使用します。また、Active Directory への参加時に UPN (User Principal Name) を作成する場合にも使用します。以降に記載するサンプル・コードでは、このデータは $ADS_realm 変数に格納されます。
    • グループ名: 正しいアクセス権限をセットアップするには、以下の 3 つのグループの名前が必要です。
      • GRP_IPAS_myWorkload_login
      • GRP_IPAS_myWorkload_middleware
      • GRP_IPAS_myWorkload_root.

RHEL 6 OS を構成する

以降のセクションで、Active Directory を統合するために RHEL 6 内でセキュリティーを構成する上で必要とされるステップを説明します。

1. 構成ファイルのパスを識別する

この例では、構成ファイルのデフォルト・ファイル・パスを使用します。作業対象となるファイルは以下のとおりです。

  • /etc/samba/smb.conf
  • /etc/security/pam_winbind.conf
  • /etc/security/access.conf
  • /etc/krb5.conf
  • /etc/sudoers.

2. サービスを起動する

すべての必須 RPM をインストールした後は、最初のステップとして messagebusoddjobdsmb、および winbind サービスのすべてが起動済みになっていることを確認します。

3. Samba の初期構成を設定する

ファイル /etc/samba/smb.conf の中身を、リスト 1 に記載するコードに置き換えます。ファイルの中身を置き換える前に、ファイルのバックアップ・コピーをとっておいてください。

リスト 1
     [global]
     idmap config ${HomeDirDomain} : backend=rid
     idmap config ${HomeDirDomain} : range=100000-2000000000
     winbind enum users = false
     winbind enum groups = false
     # http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#KERBEROSMETHOD
     kerberos method = secrets and keytab
     client ldap sasl wrapping = sign
     username level = 3
     server string = Samba Server Version %v
     log file = /var/log/samba/log.%m
     max log size = 50
     passdb backend = tdbsam

${HomeDirDomain} ストリングは、ドメインの短縮名に置き換えてください。短縮名は、以下のコマンドによって取得することができます。

HomeDirDomain=$(echo $ADS_domain | awk -F'.''{print $1}' | tr '[:lower:]''[:upper:]')

また、/var/log/samba ディレクトリーが存在することも確認してください。存在していない場合、何もログに記録されません。

4. 構成ファイルに変更を加える

authconfig ユーティリティーを実行して、構成ファイルに変更を加えます (リスト 2 を参照)。

リスト 2
     authconfig \
     --disablecache \
     --enablewinbind \
     --enablewinbindauth \
     --smbsecurity=ads \	
     --smbworkgroup=$ADS_workgroup \
     --smbrealm=$ADS_realm \
     --enablewinbindusedefaultdomain \
     --winbindtemplateshell=/bin/bash \
     --winbindtemplatehomedir=/home/${HomeDirDomain}/%U \
     --krb5realm=$ADS_realm \
     --enablekrb5kdcdns \
     --enablekrb5realmdns \
     --smbidmapuid=100000-2000000000 \
     --smbidmapgid=100000-2000000000 \
     --enablelocauthorize \
     --enablepamaccess \
     --enablemkhomedir \
     --disablefingerprint \
     --disablesmartcard \
     --updateall

オプション --winbindtemplatehomedir=/home/${HomeDirDomain}/%U を追加しているため、ユーザーが初めてシステムにログインした時点で、ホーム・ディレクトリー /home/<domain>/<user> が作成されることになります。

このコマンドを実行した後に生成される samba 構成はリスト 3 のようなものになるはずです (ワークグループとレルムの値は、例として記載されている値であることに注意してください)。

リスト 3
     [global]
     #--authconfig--start-line--
     
     # Generated by authconfig on 2014/01/15 18:15:56
     # DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
     # Any modification may be deleted or altered by authconfig in future
     
     workgroup = DW
     realm = DW.IBM.COM
     security = ads
     idmap uid = 100000-2000000000
     idmap gid = 100000-2000000000
     template shell = /bin/bash
     winbind use default domain = true
     winbind offline logon = false
     
     #--authconfig--end-line--
     idmap config DW : backend=rid
     idmap config DW : range=100000-2000000000
     winbind enum users = false
     winbind enum groups = false
     # http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#KERBEROSMETHOD
     kerberos method = secrets and keytab
     client ldap sasl wrapping = sign
     username level = 3
     server string = Samba Server Version %v
     log file = /var/log/samba/log.%m
     max log size = 50
     passdb backend = tdbsam

PAM 構成も生成されて、/etc/pam.d/system-auth-ac ファイルと /etc/pam.d/password-auth-ac ファイルが作成されます (リスト 4 を参照)。

リスト 4
     #%PAM-1.0
     # This file is auto-generated.
     # User changes will be destroyed the next time authconfig is run.
     auth        required      pam_env.so
     auth        sufficient    pam_unix.so nullok try_first_pass
     auth        requisite     pam_succeed_if.so uid >= 500 quiet
     auth        sufficient    pam_winbind.so use_first_pass
     auth        required      pam_deny.so
     
     account     required      pam_access.so
     account     required      pam_unix.so broken_shadow
     account     sufficient    pam_localuser.so
     account     sufficient    pam_succeed_if.so uid < 500 quiet
     account     [default=bad success=ok user_unknown=ignore] pam_winbind.so
     account     required      pam_permit.so
     
     password    requisite     pam_cracklib.so try_first_pass retry=3 type=
     password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
     password    sufficient    pam_winbind.so use_authtok
     password    required      pam_deny.so
     
     session     optional      pam_keyinit.so revoke
     session     required      pam_limits.so
     session     optional      pam_oddjob_mkhomedir.so
     session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
     session     required      pam_unix.so

5. Kerberos 構成に変更を加える

/etc/krb5.conf ファイルには、以下の変更を加える必要があります。

  • EXAMPLE.COM への参照を削除します。
  • デフォルトの暗号化タイプを追加します。
  • libdefaults セクションに default_realm エントリーを追加します。
  • realm セクションにレルム・エントリーを追加します。
  • domain_realm セクションのエントリーを追加します。

以上の変更を加えるには、リスト 5 に記載するコードを使用します。

リスト 5
     # creating backup of original config file 
     cp $ADS_kerberos_config_file $ADS_kerberos_config_file.bk
     
     # remove "EXAMPLE.COM" samples entries from config file
     #cat $ADS_kerberos_config_file.bk | sed '/EXAMPLE.COM.*{.*}/d'| 
     sed '/EXAMPLE.COM.*{/,/}/d' | grep -v EXAMPLE.COM > $ADS_kerberos_config_file
     cat $ADS_kerberos_config_file.bk |grep -vi EXAMPLE |grep -v } > 
     $ADS_kerberos_config_file
     
     # configure use of arcfour-hmac-md5 and aes256-cts-hmac-sha1-96 as defaults for 
     kerberos tickets in kerberos configuration file (this is required when ADS is running 
     on Windows 2008R2 server!)
     sed -i "s/^\[libdefaults\]/\[libdefaults\]\n default_tkt_enctypes = arcfour-hmac-md5 
     aes256-cts-hmac-sha1-96\n default_tgs_enctypes = arcfour-hmac-md5 aes256-cts-hmac-sha1-96/" 
     $ADS_kerberos_config_file
     
     # add default_realm entries to libdefaults section
     sed -i "s/^\[libdefaults\]/\[libdefaults\]\n default_realm = $ADS_realm/" 
     $ADS_kerberos_config_file
     
     # add realm entries to realm section
     sed -i "s/^\[realms\]/\[realms\]\n $ADS_realm = {\n  } /" $ADS_kerberos_config_file
     
     # add entries for the domain of the actual host to kerberos configuration file to ensure 
     that they are part of the realm 
     sed -i "s/^\[domain_realm\]/\[domain_realm\]\n `hostname -d` = $ADS_realm\n .`hostname -d` 
     = $ADS_realm/" $ADS_kerberos_config_file

変更後の /etc/krb5.conf ファイルは、リスト 6 のようなものになるはずです。

リスト 6
     [logging]
     default = FILE:/var/log/krb5libs.log
     kdc = FILE:/var/log/krb5kdc.log
     admin_server = FILE:/var/log/kadmind.log
     
     [libdefaults]
     default_tkt_enctypes = arcfour-hmac-md5 aes256-cts-hmac-sha1-96
     default_tgs_enctypes = arcfour-hmac-md5 aes256-cts-hmac-sha1-96
     default_realm = DW.IBM.COM
     dns_lookup_realm = true
     dns_lookup_kdc = true
     ticket_lifetime = 24h
     renew_lifetime = 7d
     forwardable = true
     
     [realms]
     
     DW.IBM.COM = {
     }
     
     [domain_realm]
     dw.ibm.com = DW.IBM.COM
     .dw.ibm.com = DW.IBM.COM

6. Active Directory ドメインに参加させる

次に、マシンを Active Directory ドメインに参加させます。それには、net ads join コマンドを使用します。具体的には、リスト 7 に記載するコマンドを実行します。

リスト 7
     net ads join -w $ADS_workgroup -U $ADS_username%$ADS_password 
     createupn=host/`hostname -f`@$ADS_realm createComputer=$ADS_container_shortname 
     2> /dev/null | grep -v "DNS Update"
     
     if [[ `net ads testjoin` == "Join is OK" ]]; then
     logger_info "join_ads_domain: Successfully joined domain!"
     else
     logger_error "join_ads_domain: Failed to join domain!"
     fi

このコマンドに渡している変数は以下のとおりです。

  • $ADS_workgroup
    ドメイン内のワークグループの名前。
  • $ADS_username
    Active Directory サービス・アカウントのユーザー名。
  • $ADS_password
    Active Directory サービス・アカウントのパスワード。
  • $ADS_realm
    ドメインのレルム (例えば、DW.IBM.COM)。
  • $ADS_container_shortname
    ホストをコンピューター・オブジェクトとして登録するコンテナーの短縮名 (例えば、識別名が OU=Servers,OU=IPAS,DC=dw,DC=ibm,DC=comの場合は「IPAS/Servers」)。

注意する点として、ここでは実際の Active Directory Server のホスト名はまったく使用されていません。代わりに、/etc/krb5.conf ファイル内の以下の 2 行により、DNS を通じて Active Directory ドメイン・コントローラーをルックアップするようになっています。

dns_lookup_realm = true
dns_lookup_kdc = true

ドメインに参加すると (つまり、net ads join コマンドを実行した時点で)、Kerberos によって DNS レコードから Active Directory ドメイン・コントローラーが取得されます。ここでのドメイン・コントローラーは、Kerberos の認証サーバー兼鍵配布センター (KDC) として機能します。DNS レコードのタイプは SRV であることから (type=SRV)、名前は _kerberos._tcp.<domain> の形式でなければなりません。ここで、<domain> はホストのドメイン (コマンド hostname -d でレポートされたドメイン) です。単一のドメインに複数のドメイン・コントローラーを使用する場合は、DNS 内にドメイン・コントローラーごとのレコードがなければなりません。

ここで説明しているソリューションには、ドメイン・コントローラーのレコードが DNS 内に存在していることが必須となります。

リスト 8 に、DNS を使用してこれらのレコードをルックアップする方法の一例を示します。この例では、ドメイン test.dw.ibm.com には合計 7 つのドメイン・コントローラーがあります。

リスト 8
     nslookup -type=SRV _kerberos._tcp.test.dw.ibm.com 
     
     ;; Truncated, retrying in TCP mode.
     Server:         10.16.81.21
     Address:        10.16.81.21#53
     
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw238vdcw9re.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw244vdcw9rb.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw243vdcw9rb.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw242vdcw9re.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw376vdcw9rb.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw239vdcw9rb.test.dw.ibm.com.
     _kerberos._tcp.test.dw.ibm.com   service = 0 100 88 dw286vdcw9re.test.dw.ibm.com.

サーバーが正常にドメインに参加した後は、リスト 9 に記載するコマンドを使用して、さらに詳細な情報を取得することができます。以下のリストには、Active Directory 内のコンテナー IPAS にコンピューター・オブジェクトが作成されたことが示されています。

リスト 9
     -bash-4.1# net ads status -U $ADS_username%********
     objectClass: top
     objectClass: person
     objectClass: organizationalPerson
     objectClass: user
     objectClass: computer
     cn: HOSTNAME
     distinguishedName: CN=HOSTNAME,OU=Servers,OU=IPAS,DC=dw,DC=ibm,DC=com
     instanceType: 4
     whenCreated: 20140122165553.0Z
     whenChanged: 20140122165553.0Z
     uSNCreated: 1876615
     uSNChanged: 1876622
     name: ON01P015
     objectGUID: 35ab4986-1775-4214-86ef-47efa308ba2a
     userAccountControl: 69632
     badPwdCount: 0
     codePage: 0
     countryCode: 0
     badPasswordTime: 0
     lastLogoff: 0
     lastLogon: 130348833536553755
     localPolicyFlags: 0
     pwdLastSet: 130348833532803611
     primaryGroupID: 515
     objectSid: S-1-5-21-1679220263-2264458565-1637611664-27733
     accountExpires: 9223372036854775807
     logonCount: 2
     sAMAccountName: DW01P015
     sAMAccountType: 805306369
     dNSHostName: hostname.dw.ibm.com
     userPrincipalName: host/hostname.dw.ibm.com@DW.IBM.COM
     servicePrincipalName: HOST/hostname.dw.ibm.com
     servicePrincipalName: HOST/HOSTNAME
     objectCategory: CN=Computer,CN=Schema,CN=Configuration,DC=dw,DC=ibm,DC=com
     isCriticalSystemObject: FALSE
     dSCorePropagationData: 16010101000000.0Z
     lastLogonTimestamp: 130348833536084987

Kerberos が正しく設定されていれば、ローカル keytab ファイル (/etc/krb5.keytab) に格納されている鍵 (KVNO) を確認することもできます。フラグ -e を指定すると、使用されている暗号化タイプも示されます (リスト 10 を参照)。

リスト 10
     -bash-4.1# klist -ke
     Keytab name: WRFILE:/etc/krb5.keytab
     KVNO Principal
     ---- --------------------------------------------------------------------------
     2 host/hostname.dw.ibm.com@DW.IBM.COM (des-cbc-crc)
     2 host/hostname.dw.ibm.com@DW.IBM.COM (des-cbc-md5)
     2 host/hostname.dw.ibm.com@DW.IBM.COM (arcfour-hmac)
     2 host/hostname.dw.ibm.com@DW.IBM.COM (aes128-cts-hmac-sha1-96)
     2 host/hostname.dw.ibm.com@DW.IBM.COM (aes256-cts-hmac-sha1-96)
     2 host/hostname @DW.IBM.COM (des-cbc-crc)
     2 host/hostname @DW.IBM.COM (des-cbc-md5)
     2 host/hostname @DW.IBM.COM (arcfour-hmac)
     2 host/hostname @DW.IBM.COM (aes128-cts-hmac-sha1-96)
     2 host/hostname @DW.IBM.COM (aes256-cts-hmac-sha1-96)
     2 HOSTNAME$@DW.IBM.COM (des-cbc-crc)
     2 HOSTNAME$@DW.IBM.COM (des-cbc-md5)
     2 HOSTNAME$@DW.IBM.COM (arcfour-hmac)
     2 HOSTNAME$@DW.IBM.COM (aes128-cts-hmac-sha1-96)
     2 HOSTNAME$@DW.IBM.COM (aes256-cts-hmac-sha1-96)

7. 生成された PAM winbind 構成を変更して Kerberos SSO を有効にする

次に、生成された /etc/security/pam_winbind.conf ファイルを編集して、PAM winbind 構成を変更します。このファイルで、以下のパラメーターを設定してください。

  • krb5_auth = yes
  • krb5_ccache_type = FILE
  • winbind refresh tickets = yes.

上記のオプションにより、Kerberos のシングル・サインオン (SSO) が有効になります。具体的には、PAM winbind が Active Directory ドメイン・コントローラーとやりとりするときに Kerberos を使用して認証を行い、取得したチケット許可チケット (TGT) をキャッシングするためにファイルを使用します。winbind refresh tickets = yes パラメーターを krb5_auth = yes パラメーターと一緒に設定することで、winbind が必要に応じて TGT をリフレッシュして最新の状態に維持するようにしています。

このように構成を変更するには、リスト 11 に記載するコマンドを使用します。

リスト 11
     sed -i "s/.krb5_auth.*/krb5_auth = yes/g" /etc/security/pam_winbind.conf
     sed -i "s/.krb5_ccache_type.*/krb5_ccache_type = FILE/g" /etc/security/pam_winbind.conf
     echo "winbind refresh tickets = yes" >> /etc/security/pam_winbind.conf

変更後の /etc/security/pam_winbind.conf ファイルは、リスト 12 のようになっているはずです。

リスト 12
     #
     # pam_winbind configuration file
     #
     # /etc/security/pam_winbind.conf
     #
     
     [global]
     
     # turn on debugging
     ;debug = no
     
     # turn on extended PAM state debugging
     ;debug_state = no
     
     # request a cached login if possible
     # (needs "winbind offline logon = yes" in smb.conf)
     ;cached_login = no
     
     # authenticate using kerberos
     krb5_auth = yes
     
     # when using kerberos, request a "FILE" krb5 credential cache type
     # (leave empty to just do krb5 authentication but not have a ticket
     # afterwards)
     krb5_ccache_type = FILE
     
     # make successful authentication dependend on membership of one SID
     # (can also take a name)
     ;require_membership_of =
     
     # password expiry warning period in days
     ;warn_pwd_expire = 14
     
     # omit pam conversations
     ;silent = no
     
     # create homedirectory on the fly
     ;mkhomedir = no
     winbind refresh tickets = yes

RHEL 6 OS ユーザーのアクセス権限を構成する

RHEL 6 OS に Active Directory のユーザーとグループが統合された後は、アクセス権限を適用できるようになります。ここでは比較的単純な構成を紹介しますが、必要に応じて、これよりもさらに複雑なアクセス権限をセットアップすることもできます。

8. PAM アクセスを構成する

RHEL 6 OS へのアクセスを制御するには、ファイル /etc/security/access.conf を使用します。このファイルを使用して、以下の変更を行ってください。

  1. 既存の構成ファイルをクリアします。
  2. すべてのユーザーにクーロン・ジョブへのアクセス権限を与えるように構成します。
  3. root と Active Directoryに定義済みのグループのメンバーを除くすべてのユーザーに対してアクセスを拒否します。

リスト 13 に記載するシェル・スクリプトに、以上のステップを自動化する方法が示されています。

リスト 13
     # creating backup of original config file 
     cp /etc/security/access.conf /etc/security/access.conf.bk
     
     # clear existing pam access configuration file
     >/etc/security/access.conf
     
     # configure all users access for cron jobs
     printf "+:ALL:cron\n" >> /etc/security/access.conf
     
     # configure access for root and the user(s) and groups \"${ADS_login_group}\", 
     \"${ADS_middleware_group}\" and \"${ADS_root_group}\"
     if [[ -n ${Local_users} ]];
     then
     for usr in $(echo ${Local_users}|tr "," " ")
     do
     if [[ $usr == "root" ]];
     then
     echo "root found in variable Local_users. This value is not processed. By default 
     root will be added to access.conf."
     continue
     else
     Usrs=$(printf "%s %s" "${Usrs}" "${usr}" )
     fi
     done
     fi
     
     if [[ -n ${Local_groups} ]];
     then
     for gp in $(echo ${Local_groups} |tr "," " ")
     do
     Grps=$(printf "%s %s" ${Grps} "(${gp})" )
     done
     fi
     
     printf "%sALL EXCEPT root%s %s %s %s %s:ALL\n" "-:" "${Usrs}" "${Grps}" "(${ADS_login_group})" 
     "(${ADS_middleware_group})" "(${ADS_root_group})" >> /etc/security/access.conf

変更後の /etc/security/access.conf ファイルは、リスト 14 のようになっているはずです。

リスト 14
     +:ALL:cron
     -:ALL EXCEPT root GRP_IPAS_myWorkload_login GRP_IPAS_myWorkload_middleware 
     GRP_IPAS_myWorkload_root :ALL

9. sudo を構成する

Permissions セクションに定義されたユーザーの切り替えを可能にするように構成するために、/etc/sudoers ファイルに変更を加えます。ローカル・ミドルウェアのユーザーのリストは、${ADS_middleware_users} 変数を使用して渡されます。デフォルトでは、PureApplication System はユーザー virtuser をミドルウェア管理者 (つまり、IBM WebSphere Application Server 管理者) として使用しますが、他のユーザーもこのリストに追加することができます。

リスト 15
     # creating backup of original config file 
     cp /etc/sudoers /etc/sudoers.bk
     
     # clear existing sudo configuration file
     >/etc/sudoers
     
     # configure default settings for sudo configuration file
     printf 'Defaults   !visiblepw\nDefaults    always_set_home\nDefaults    env_reset\nDefaults    
     env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"\nDefaults    
     env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"\nDefaults    
     env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"\nDefaults    
     env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"\nDefaults    
     env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"\nDefaults    
     secure_path = /sbin:/bin:/usr/sbin:/usr/bin\n' > /etc/sudoers
     
     # configure root with all permissions in sudo configuration file
     printf "root            ALL=(ALL)       ALL\n" >> /etc/sudoers
     
     # configure members of group ${ADS_middleware_group} to switch to the users 
     \"${ADS_middleware_users}\" in sudo configuration file
     local sudostring=""
     IFS=","
     for username in ${ADS_middleware_users}; do
     sudostring="${sudostring} /bin/su ${username}, /bin/su - ${username}, /bin/su - ${username} 
     -c whoami,"
     done
     unset IFS
     # remove last character from sudostring as it is a ','
     sudostring=`echo ${sudostring} | rev | cut -c 2- | rev`
     printf "%%${ADS_middleware_group} ALL=NOPASSWD:${sudostring}\n" >> /etc/sudoers
     
     # configure members of group ${ADS_root_group} to switch to root in sudo configuration file
     printf "%%${ADS_root_group} ALL=NOPASSWD:ALL\n" >> /etc/sudoers

変更後のファイルはリスト16 のようになるはずです。

リスト 16
     Defaults   !visiblepw
     Defaults    always_set_home
     Defaults    env_reset
     Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"
     Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
     Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
     Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
     Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
     Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
     root            ALL=(ALL)       ALL	
     %GRP_IPAS_myWorkload_middleware ALL=NOPASSWD:/bin/su virtuser, /bin/su - virtuser, 
     /bin/su - virtuser -c whoami
     %GRP_IPAS_myWorkload_root ALL=NOPASSWD:ALL

構成をファイナライズする

これで構成全体が完了しました。最後のステップは、messagebusoddjobdsmb、および winbind の各サービスのラン・レベルを正しく設定してから、これらのサービスを再起動することです。

10. サービスのラン・レベルを構成する

以下のサービスは、ラン・レベル 2、3、4、5 として有効にする必要があります。

  • Messagebus
  • Oddjobd
  • Smb
  • winbind

このようにラン・レベルを設定するには、リスト 17 に記載するコードを使用します。

リスト 17
     chkconfig messagebus on --level 2345
     chkconfig oddjobd on --level 2345
     chkconfig smb on --level 2345	
     chkconfig winbind on --level 2345

11. サービスを起動する

最後のステップとして、上述のサービスがすべて起動済みになっていることを確認します。リスト 18 に記載するスクリプトに、この確認が自動的に実行されるようにする方法が示されています。

リスト 18
     printf "start_services: ensure services \"messagebus\", \"oddjobd\", \"smb\" 
     and \"winbind\" are all started"
     
     # Verify status of service "messagebus" and start if not running yet.
     status=`service messagebus status`
     printf $status
     if [[ $status == "messagebus is stopped" ]]; then
     printf "start_services: messagebus not running, starting..."
     printf "start_services: `service messagebus start`"
     printf "start_services: messagebus started"
     fi
     
     # Verify status of service "oddjobd" and start if not running yet.
     status=`service oddjobd status`
     printf $status
     if [[ $status == "oddjobd is stopped" ]]; then
     printf "start_services: oddjobd not running, starting..."
     printf "start_services: `service oddjobd start`"
     printf "start_services: oddjobd started"
     fi
     
     # Verify status of service "smb" and start if not running yet.
     local status=`service smb status`
     printf $status
     if [[ $status == "smbd is stopped" ]]; then
     printf "start_services: smb not running, starting..."
     printf "start_services: `service smb start`"
     printf "start_services: smb started"
     fi
     
     #Verify status of service "winbindd" and start if not running yet.
     status=`service winbind status`
     printf $status
     if [[ $status == "winbindd is stopped" ]] || [[ $status == "winbindd dead but 
     pid file exists" ]]; then
     printf "start_services: winbind not running, starting..."
     printf "start_services: `service winbind start`"
     printf "start_services: winbind started"
     fi
     
     printf "start_services: all services started"
     return 0

Active Directory を使用した RHEL 6 OS 認証を実行する

デフォオルトでは、RHEL 6 OS は自身のローカル・パスワード・ポリシーを適用します。現時点で仮想マシンは認証に Active Directory を使用するようになっているので、RHEL のローカル・ポリシーを無効にして、Active Directory のパスワード・ポリシーを適用することができます。

RHEL 6 のローカル・パスワード・ポリシーを無効にするには、リスト 19 に記載するように /etc/security/system-auth-ac に変更を加えます。

リスト 19
     #%PAM-1.0
     # This file is auto-generated.
     # User changes will be destroyed the next time authconfig is run.
     auth        required      pam_env.so
     auth        sufficient    pam_unix.so nullok try_first_pass
     auth        requisite     pam_succeed_if.so uid >= 500 quiet
     auth        sufficient    pam_winbind.so use_first_pass
     auth        required      pam_deny.so
     
     account     required      pam_access.so
     account     required      pam_unix.so broken_shadow
     account     sufficient    pam_localuser.so
     account     sufficient    pam_succeed_if.so uid < 500 quiet
     account     [default=bad success=ok user_unknown=ignore] pam_winbind.so
     account     required      pam_permit.so
     
     # password    requisite     pam_cracklib.so try_first_pass retry=3 type=
     password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
     # password    sufficient    pam_winbind.so use_authtok
     password    sufficient    pam_winbind.so
     password    required      pam_deny.so
     
     session     optional      pam_keyinit.so revoke
     session     required      pam_limits.so
     session     optional      pam_oddjob_mkhomedir.so
     session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
     session     required      pam_unix.so

リスト 20 に、Active Directory のパスワード・ポリシーを適用する例を示します。

リスト 20
     -bash-4.1$ passwd
     Changing password for user dwuser01.
     Changing password for dwuser01
     (current) NT password:
     New password:
     Retype new password:
     Password does not meet complexity requirements
     Your password must be at least 8 characters; cannot repeat any of your previous 
     10 passwords; must contain capitals, numerals or punctuation; and cannot contain your 
     account or full name; Please type a different password. Type a password which meets these 
     requirements in both text boxes.
     passwd: Authentication token manipulation error

Active Directory から仮想マシンを削除する

仮想マシンが削除された場合 (通常は、仮想システム・インスタンスが削除された結果として、そのインスタンスに属する仮想マシンも削除されます)、その仮想マシンに関連付けられたホストをドメインから切り離す必要があります。これにより、対応するコンピューター・オブジェクトも Active Directory から削除されることになります。ドメインから切り離すには、以下のコマンドを実行します。

net ads leave -U $ADS_username%$ADS_password

$ADS_username 変数と $ADS_password 変数は、Active Directory サービス・アカウントのユーザー名とパスワードです。

すべての要素を 1 つにまとめる

Active Directory 統合の構成を自動化する方法を説明したところで、次はスクリプト・パッケージの作成に取り掛かります。作成したパッケージは、この後すぐにわかるように、仮想システム・パターンに組み込むことができます。

スクリプト・パッケージ

この記事では、サンプルとして 2 つのスクリプト・パッケージを組み込みました。

  • add_ad_os_authentication は、VM の作成時に実行する必要があります。このスクリプト・パッケージは基本的に、VM を構成して Active Directory ドメインに統合します。
  • remove_ad_os_authentication は、VM を削除するときに実行する必要があります。このスクリプト・パッケージは、該当する VM を Active Directory ドメインから削除します。

スクリプト・パッケージ: add_ad_os_authentication (Active Directory を使用した OS 認証の追加)

このスクリプト・パッケージは、この記事で説明したステップ 1 から 11 を実行して RHEL 6 認証に Active Directory を統合します。

  1. 構成ファイルのパスを識別する
  2. サービスを起動する
  3. Samba の初期構成を設定する
  4. 構成ファイルに変更を加える
  5. Kerberos 構成に変更を加える
  6. Active Directory ドメインに参加させる
  7. 生成された PAM winbind 構成を変更して Kerberos SSO を有効にする
  8. PAM アクセスを構成する
  9. sudo を構成する
  10. サービスのラン・レベルを構成する
  11. サービスを起動する

このスクリプト・パッケージでは、RPMをインストールする際に、スクリプト・パッケージの zip ファイルに含まれるローカル・ファイルが使用されます。それよりも望ましいソリューションは、ローカル・ファイルを使用するのではなく、PureApplication System で提供されている RedHat OS 更新共有サービスを使用するソリューションです。

このサンプル・スクリプト・パッケージはローカル RPM ファイルを使用していることから、イメージに適切な RPM がインストールされるようにするために、OS_IMAGE という名前の追加パラメーターが導入されています。このパラメーターが参照する仮想イメージは、仮想システム・パターンでパターンの各部分に使用しているカタログから取られたものです。この仮想イメージは、例えば「Core OS 2.0.0.4」、「DB2 Enterprise 9.7.0.8」、「WAS 8.5.5.1」などのタイプになります。

name: add_ad_os_authentication (Active Directory を使用した OS 認証の追加)
execmode: 0 (仮想システムの作成時)
description: RPM をインストールして、Active Directory を使用した OS 認証用に構成する
envonly: TRUE
savevars: 0

表 1. add_ad_os_authentication (Active Directory を使用した OS 認証の追加) のパラメーター
パラメータータイプ必須値の例説明
OS_IMAGE(デフォルト)有効な値は以下のとおりです。
BPM 8.0.1.0
BPM 8.5.0.1
Core OS 2.0.0.1
Core OS 2.0.0.3
Core OS 2.0.0.4
Core OS 2.1.0.0
IIS 9.1.0.0 CN
IIS 9.1.0.0 EN
WAS 8.0.0.4
WAS 8.0.0.5
WAS 8.0.0.7
WAS 8.5.0.0
VM のデプロイメントに使用される仮想イメージ。このリストは、正しい RPM をインストールするために使用されます。したがって、リストを適応させる必要があります。
ADS_username(デフォルト)ipasadActive Directory にバインドするユーザー名。コンピューター・オブジェクトを追加する権限を有します。
ADS_passwordパスワード********上記ユーザー名のパスワード
ADS_container_shortname(デフォルト)IPAS/Serversコンピューター・オブジェクトを格納するコンテナー (OU) の名前。この名前は、net ads join コマンドに必要です。OU ストリングは、相対識別名 (RDN) 抜きで上から下の方向で示され、「/」で区切られます。
ADS_workgroup(デフォルト)DWドメイン内のワークグループの名前。
ADS_realm(デフォルト)DW.IBM.COMSamba 構成および Kerberos 構成で使用されるレルムの名前。
ADS_login_group(デフォルト)GRP_IPAS_<workload>_loginActive Directory に登録されているこのグループのメンバーには、SSH を使用して OS へログインすることが許可されます。
ADS_middleware_group(デフォルト)GRP_IPAS_<workload>_middlewareActive Directory に登録されているこのグループのメンバーには、ADS_middleware_users で指定された、OS 上の 1 つ以上の異なる技術ユーザーへのユーザー切り替え (su) が許可されます。
ADS_root_group(デフォルト)GRP_IPAS_<workload>_rootActive Directory に登録されているこのグループのメンバーには、root へのユーザー切り替え (su) が許可されます。
ADS_middleware_users(デフォルト)virtuser,db2inst1Active Directory に定義された OS 上のミドルウェアの技術ユーザー (例えば、virtuser、db2inst1 など) からなるコンマ区切りリスト。

スクリプト・パッケージ: remove_ad_os_authentication (Active Directory を使用した OS 認証の削除)

このスクリプト・パッケージの目的は、仮想マシンの削除時にホストがドメインから切り離されるようにすることです。したがって、このスクリプト・パッケージは仮想システムの削除時に実行されるように構成されています。このスクリプト・パッケージは削除時に実行されるため、仮想システム・インスタンスを削除するときには仮想マシンが実行中でなければならないことを頭に入れておいてください。仮想マシンが停止していると、スクリプト・パッケージは実行されません。

name: remove_ad_os_authentication (Active Directory を使用した OS 認証の削除)
execmode: 1 (仮想システムの削除時)
description: Active Directory から仮想マシンを削除する
envonly: TRUE
savevars: 0

表 2. remove_ad_os_authentication (Active Directory を使用した OS 認証の削除) のパラメーター
パラメータータイプ必須値の例説明
Remove_AD_ADS_container(デフォルト)OU=IPAS,DC=dw,DC=ibm,DC=comActive Directory 内でコンピューター・オブジェクトが格納されているコンテナーの識別名。
Remove_AD_ADS_user(デフォルト)ipasadActive Directory とバインドするユーザー名。コンピューター・オブジェクトを削除する権限を有します。t
Remove_AD_ADS_passwordパスワード********上記ユーザー名のパスワード。

仮想システム・パターン

以上の 2 つのスクリプト・パッケージがあれば、デプロイ時に自動的に Active Directory ドメインに参加する単純な仮想システムを作成することができます。必要となる処理は、この 2 つのスクリプト・パッケージを、Active Directory による認証の対象とする各 VM に追加することだけです (図 3 を参照)。ただし、OS_IMAGE パラメーターには、スクリプト・パッケージを追加する VM に応じた正しい値を選択するように注意してください。

図 3. 仮想システム・パターンの例 (PureApplication System v2.0 ファームウェア)
仮想システム・パターンの例 (PureApplication System v2.0 ファームウェア)
仮想システム・パターンの例 (PureApplication System v2.0 ファームウェア)

Active Directory の資格情報を使用したログオン

リスト 21 に、Active Directory の資格情報を使用したユーザー・ログインの例を示します。この例に示されているグループ・メンバーシップにより、ユーザーは sudo su - virtuser and sudo -i (root) を実行することができます。

リスト 21
     login as: dwuser01
     dwuser01@pas01-grp063.dw.ibm.com's password:
     -bash-4.1$ id
     uid=138373(dwuser01) gid=100513(domain users) groups=100513(domain users),
     138530(GRP_IPAS_myWorkload_login),138531(GRP_IPAS_myWorkload_middleware),
     138532(GRP_IPAS_myWorkload_root)
     -bash-4.1$ sudo -i
     -bash-4.1$ id
     uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
     -bash-4.1$ logout
     -bash-4.1$ sudo su - virtuser
     [virtuser@pas01-grp063 ~]$ id
     uid=1000(virtuser gid=501(virtuser) groups=501(virtuser)
     [virtuser@pas01-grp063 ~]$

SSO を使用したログオン

リスト 22 に、シングル・サインオンを使用して、ユーザーがある VM (pas01-grp063.dw.ibm.com) から別の VM (pas01-grp064.dw.ibm.com) にログインする例を示します。両方とも同じ Active Directory ドメインに属する VM であるため、パスワードは必要ありません。パスワードは、Kerberos がシングル・サインオンを使用して処理します

リスト 22
     login as: dwuser01
     dwuser01@pas01-grp063.dw.ibm.com's password:
     -bash-4.1$ id
     uid=138373(dwuser01) gid=100513(domain users) groups=100513(domain users),
     138530(GRP_IPAS_myWorkload_login),138531(GRP_IPAS_myWorkload_middleware),
     138532(GRP_IPAS_myWorkload_root)
     -bash-4.1$ ssh pas01-grp064.dw.ibm.com
     -bash-4.1$ id
     uid=138373(dwuser01) gid=100513(domain users) groups=100513(domain users),
     138530(GRP_IPAS_myWorkload_login),138531(GRP_IPAS_myWorkload_middleware),
     138532(GRP_IPAS_myWorkload_root)
     -bash-4.1$

仮想システム・パターン (従来型)

従来型の仮想システム・パターンに適用するとしても、このソリューションはまったく変わらないので、同じスクリプト・パッケージを使用することができます。Active Directory による認証の対象とするパーツごとに、両方のスクリプト・パッケージを追加する必要があります (図 4 を参照)。OS_IMAGE パラメーターには、スクリプト・パッケージを追加するパーツに応じた正しい値を選択するように注意してください。

図 4. 仮想システム・パターンの例 (従来型)
仮想システム・パターンの例 (従来型) のスクリーンショット
仮想システム・パターンの例 (従来型) のスクリーンショット

まとめ

IBM PureApplication System 上で実行される仮想マシンに企業向け Active Directory を統合するのが役立つ理由は、IT インフラストラクチャー全体に一貫性がもたらされるためです。この場合、ユーザーとグループを Active Directory で一元管理することができ、しかも既存のパスワード・ポリシーを利用できるため、PureApplication System 上の多数の仮想マシンを保守する作業が大幅に軽減されます。この記事では、RedHat OS を実行する VM にこの統合を行う上で必要なステップを説明し、その実装に必要な時間を短縮するために使用できるサンプル・スクリプト・パッケージ一式を提供しました。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere, Cloud computing
ArticleID=996619
ArticleTitle=IBM PureApplication System での OS 認証と Microsoft Active Directory の統合
publish-date=02122015