JES: Access Manager の amadmin を使いこなそう
今回は 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>
# /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>
組織にサービスを追加する
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>



