JES: Access Manager の amadmin を使いこなそう

サーバー製品の管理ツールというとブラウザ上で管理コンソールを使うもの、特別なクライアントプログラムを使うもの、あとはコマンドラインの管理ツールを使うものがありますね。Portal Server のディスプレイプロファイルを管理するコマンドは dpadmin でした。Access Manager の場合は amadmin コマンドです。このようなコマンドラインの管理コマンドはとっても便利です。テンプレートなどをファイルにとっておいてそれを引数にできます。複数のマシンに同じ設定をしたい場合やソフトウェアを再設定する場合には短時間に間違いなく設定をすることができます。Portal Server のディスプレイプロファイルを設定する方法をいくつか書きましたがこれを管理コンソールでやろうとしたらとても面倒ですよね。ブラウザで管理者が毎回設定を行うのはどうしても間違いが起こりやすく設定ミスの原因になります。ブラウザのインターフェースはできるだけ確認用のみに使ってコマンドラインの管理コマンドを有効活用してみましょう。

今回は Access Manager のコマンドライン管理ツール amadmin を使ってみましょう。

テンプレートを活用しよう

/opt/SUNWam/samples/admin/cli/ ディレクトリには amadmin で使うファイルの例がいろいろ置いてあります。amadmin にこれらのファイルを引数として渡してあげます。では例えば組織に割り当てられているサービスを取得するにはどうしたらよいでしょうか。実際にやってみますね。

組織のサービスを取得する - orgGetRegisteredServiceRequests.xml

このファイルを開いてみて下さい。次のような内容になっています。組織の DN は変更して dc=japan,dc=sun,dc=com にしてあります。GetRegisteredServiceNames でその組織のサービスを取得できることがわかりますね。

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE Requests

    PUBLIC "-//iPlanet//Sun Java System Identity Server 2004Q2 Admin CLI DTD//EN"

    "jar://com/iplanet/am/admin/cli/amAdmin.dtd"

>


<!--  CREATE REQUESTS -->


<Requests>


  <OrganizationRequests DN="dc=japan,dc=sun,dc=com">

    <GetRegisteredServiceNames/>

  </OrganizationRequests>


</Requests>

amadmin には amadmim ユーザーID とパスワード、-t の次にファイル名を書きます。

# /opt/SUNWam/bin/amadmin -u uid=amadmin,ou=people,dc=japan,dc=sun,dc=com \\
-w passwd -t orgGetRegisteredServiceRequests.xml

実際に実行してみましょう。次のような結果が得られます。
組織: dc=japan,dc=sun,dc=com

登録されたサービスの取得:

  SunPortalNetMailService

  iPlanetAMAdminConsoleService

  iPlanetAMAuthMembershipService

  SunPortalSubscriptionsService

  srapProxyletService

  SunMobileAppMailService

  iPlanetAMProviderConfigService

  SunPortalWSRPProducerService

  iPlanetAMAuthLDAPService

  SunPortalDesktopService

  srapGatewayAccessService

  iPlanetAMAuthenticationDomainConfigService

  iPlanetAMAuthService

  iPlanetAMPolicyConfigService

  iPlanetAMPolicyService

  iPlanetAMUserService

  SunSSOAdapterService

  SunPresence

  SunMobileAppABService

  SunPortalWSRPConsumerService

  srapNetFileService

  iPlanetAMAuthConfiguration

  SunMobileAppCalendarService

  srapNetletService

  SunIM

成功 0: 完了しました

#

ユーザーにサービスを追加する - userRegisterServiceRequests.xml


ユーザーを追加したときにサービスを追加するプログラムを書いてみましょう。GetRegisteredServiceNames で組織のサービスを取得したのでこれらの値を使って今度はユーザーにサービスを割り当てればよいですよね。

userRegisterServiceRequests.xml というファイルを今度は参考にしてください。対象ユーザーの DN を指定して、RegisterServices の Service_Name でサービスを列挙すれば OK です。


<Requests>

<UserRequests DN="uid=user02,ou=people,dc=japan,dc=sun,dc=com">

    <RegisterServices>

  <Service_Name>SunIM </Service_Name>

  <Service_Name>SunMobileAppABService </Service_Name>

  <Service_Name>SunMobileAppCalendarService </Service_Name>

  <Service_Name>SunMobileAppMailService </Service_Name>

  <Service_Name>SunPortalDesktopService </Service_Name>

  <Service_Name>SunPortalNetMailService </Service_Name>

  <Service_Name>SunPortalSubscriptionsService </Service_Name>

  <Service_Name>SunPresence </Service_Name>

  <Service_Name>SunSSOAdapterService </Service_Name>

  <Service_Name>iPlanetAMAuthConfiguration </Service_Name>

  <Service_Name>iPlanetAMUserService </Service_Name>

  <Service_Name>srapGatewayAccessService </Service_Name>

  <Service_Name>srapNetFileService </Service_Name>

  <Service_Name>srapNetletService </Service_Name>

  <Service_Name>srapProxyletService </Service_Name>

    </RegisterServices>

</UserRequests>

</Requests>
このように amadmin では現在の設定値を取得したり、設定したりすることができますので、これを使っていろいろなスクリプトを用意できますよね。いくつか例���あげて������ます。


組織にサービスを追加する


myorg という組織にサービスを追加します。この段階ではまだテンプレートは作成されていません。

<Requests>

  <OrganizationRequests DN="o=myorg,dc=japan,dc=sun,dc=com">

    <RegisterServices>

      <Service_Name>iPlanetAMPolicyConfigService</Service_Name>

    </RegisterServices>

   </OrganizationRequests>

</Requests>

テンプレートを作成する


追加したサービスをテンプレートを amadmin でつくってみましょう。CreateServiceTemplate で作成することができます。

<Requests>

  <OrganizationRequests DN="o=myorg,dc=japan,dc=sun,dc=com">

    <CreateServiceTemplate>

      <Service_Name>iPlanetAMPolicyConfigService</Service_Name>

    </CreateServiceTemplate>

   </OrganizationRequests>

</Requests>


組織に Membership 認証モジュールを使うように設定する



<Requests>

   <SchemaRequests serviceName="iPlanetAMAuthService" SchemaType="Organization">

     <AddDefaultValues>

       <AttributeValuePair>

         <Attribute name="iplanet-am-auth-allowed-modules"/>

         <Value>Membership</Value>

       </AttributeValuePair>

     </AddDefaultValues>

   </SchemaRequests>

</Requests>


ユーザープロファイル設定を「動的」にする


<Requests>

   <SchemaRequests serviceName="iPlanetAMAuthService" SchemaType="Organization">

     <AddDefaultValues>

       <AttributeValuePair>

         <Attribute name="iplanet-am-auth-allowed-modules"/>

         <Value>Membership</Value>

       </AttributeValuePair>

     </AddDefaultValues>

   </SchemaRequests>

</Requests>
Comments:

Post a Comment:
Comments are closed for this entry.
About

NetBeans Globalization

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today