Oracle Service Registryでは、パーミッションを使用して管理者がユーザーを管理できます。パーミッションの特徴は、次のとおりです。
Oracle Service Registryのユーザー権限を管理するための簡単なメカニズムを提供します。
管理者がレジストリの各部分を管理したり、これらの部分を様々なユーザーが使用できるようにします。
Oracle Service Registryで、多数の役割に様々な責任が付随する現実社会を反映しやすくします。
ここでは、パーミッションについて、例やパーミッションの構成に関する説明を使用して詳しく説明します。
パーミッションは、インタフェースにおいて操作を実行する権限として定義されます。言い換えると、パーミッションはインタフェースでメソッドを処理できる能力を表します。 パーミッションは、Oracle Service Registryのもう1つの権限メカニズムであるアクセス制御リストとは大きな違いがあります。
アクセス制御を使用すると、ユーザーは基本的なUDDIデータ構造(businessEntity、businessService、bindingTemplateおよびtModel)へのアクセスを制御できます。 Oracle Service Registryのアクセス制御は、アクセス制御リスト(ACL)によって提供されています。ACLは、ユーザーまたはグループに付与されたパーミッションに基づいています。 つまり、ACLのコンテキストでは、ユーザーはレジストリ管理者または他のユーザーによって、そのユーザーに許可されたOracle Service Registry内の情報にのみアクセスできます。アクセス制御リストの詳細は、「ユーザーズ・ガイド」の「アクセス制御」を参照してください。
アクセス制御リストはエンティティの表示を制限するため、Oracle Service Registry内のデータへのアクセスを制限します。一方、パーミッションはインタフェースへのアクセスを制限します。ACLは、UDDI構造の表示を制限することによってユーザーを制限します。パーミッションは、インタフェースの表示を操作することによってユーザーを制限します。
パーミッションには、次の2つの基本的なタイプがあります。
1つは、ApiUserPermissionとApiManagerPermissionで、インタフェース上でユーザーに対するアクセスを制限する場合に使用します。
2つ目のConfigurationManagerPermissionは、Oracle Service Registryで構成を変更する機能を制限します。
ApiUserPermissionは、インタフェースのインタフェース名とメソッドで構成されています。このパーミッションにより、あるAPIの指定されたメソッドに対して、ユーザーからの一般的なアクセスが可能になります。ApiUserPermissionを使用すると、ユーザーは一般ユーザーとしてインタフェースのメソッドを呼び出すことができます。通常、ユーザーが呼出しを実行するには、このパーミッションが必要です。
ApiManagerPermissionも、インタフェースとメソッドの名前で構成されています。このパーミッションを使用すると、ユーザーは、API上の指定されたメソッドを呼び出すことができます。これは、ApiUserPermissionと同様です。唯一の違いは、ユーザーの意味です。ユーザーにApiManagerPermissionが付与されている場合、そのユーザーは特権ユーザーとみなされます。多くのAPIコールにおいて、その結果は、ユーザーの持つ権限に応じて異なります。
ConfigurationManagerPermissionは、構成ファイルとメソッドの名前で構成されています。メソッドの名前は、getまたはsetのいずれかです。ConfigurationManagerPermissionをgetメソッドと組み合せて使用すると、ユーザーは構成ファイルのデータを読み取る(取得する)ことができます。また、ConfigurationManagerPermissionをsetメソッドと組み合せて使用すると、ユーザーは構成に書込みを行うことができます。
すべてのパーミッションには、次のルールがあります。
パーミッションとは、APIのメソッドを処理する能力のことです。
パーミッションは、パーミッションのタイプ(ApiUserPermission、ApiManagerPermission、ConfigurationManagerPermission)、名前(インタフェースまたは構成の名前)および操作(メソッドの名前)で構成されています。
アスタリスクのワイルド・カード(*)を使用すると、インタフェース、構成または操作について、すべての名前を置き換えることができます。
パーミッションに階層はありません。ユーザーのパーミッションを設定する能力も、1つのパーミッション(PermissionApiの一部のメソッド用)です。
Oracle Service Registry管理者には、すべてのAPIのメソッドすべてに対するすべてのパーミッションが付与されています。
パーミッションは、常に明示的です。つまり、パーミッションは、何が可能であるかまたは許可されているかを示します。パーミッションに基づいて、ユーザーは操作(APIのメソッド)を実行できます。明示的に許可されていない操作はすべて拒否されます。
パーミッションは、個別のユーザーまたはメンバーのグループに対して設定できます。各ユーザーは、グループsystem#everyoneのメンバーであるため、このグループに関するデフォルトのパーミッションがすべてのユーザーに付与されています。
詳細は、「データ・アクセス制御: 原則」を参照してください。
この項では、パーミッションの構成について説明します。パーミッションの設定は、管理者の観点で説明されています。
ユーザーのパーミッションを設定する基本的な方法には、次の3つがあります。
PermissionApiのメソッドを実行します。ユーザーは、適切なパーミッションが付与されている場合にのみ、これらのメソッドを呼び出すことができます。
SOAPまたはレジストリ・コントロールを経由してメソッドを呼び出します。
構成ファイルのパーミッションを直接変更します。
PermissionApiには、パーミッションを管理するためのメソッドがいくつか含まれています。このようなメソッドには、次のものがあります。
ユーザーのパーミッションをすべて取得する場合に使用します。ApiManagerPermissionを保持しているユーザーは、他のユーザーのパーミッションを取得できます。ApiUserPermissionのみを保持しているユーザーは、自身のパーミッションのみを取得できます。
PermissionApiのメソッドに対してApiUserPermissionとApiManagerPermissionのいずれも保持していないユーザーは、このメソッドを呼び出すことはできません。
ユーザーが他のユーザーのパーミッションを設定できるようにします。このコールには、ApiManagerPermissionが必要です。
get_permissionと似ているこのメソッドは、一度に複数のユーザーに対して呼び出すことができます。
get_permissionは、入力パラメータとしてプリンシパルを使用します。一方、get_permissionDetailは、プリンシパルの配列を入力パラメータとして使用します。3人のユーザーのパーミッションを確認するには、get_permissionを3回呼び出すか、またはget_permissionDetailを1回呼び出します。
あるパーミッションを所有しているユーザーを検出できます。
![]() | 重要 |
---|---|
構成ファイルのパーミッションを直接変更することはお薦めできません。ただし、管理者が新しいユーザーのデフォルトのパーミッションを変更する(グループsystem#everyoneのパーミッションを変更する)必要がある場合は、これが唯一の方法になります。これらのパーミッションを変更する前に、構成の予備コピーを作成してください。特殊なユーザーまたはグループのパーミッションは、ファイルpermission_list.xmlに格納されます。 |
多くのシステムでは、パーミッションに加えて、ユーザー・ロールを使用します。ユーザー・ロールは、通常はパーミッションのセットです。システムにあらかじめ定義されているか、またはユーザーが定義します。 Oracle Service Registryでは、ユーザー・ロールのメカニズムはグループに基づいて実装されます。管理者は、個別のユーザーだけでなくグループのパーミッションも設定できます。ユーザーとロールの関係を制限する以外に、グループを作成し、作成したグループのパーミッションを設定して、そのグループにユーザーを追加することもできます。 Oracle Service Registryにおけるこのグループ・メカニズムは、ユーザー・ロールのメカニズムとほぼ同じであり、ユーザー・ロールのかわりに使用されます。詳細は、「グループ管理」を参照してください。
ApiManagerPermissionがあると、ユーザーは特権モードで操作を実行できます。次の表に、APIおよび操作について、特権モードで実行できる操作を示します。
表1 Account API(org.systinet.uddi.account.AccountApi)
操作(アクション) | 説明 |
---|---|
find_userAccount | 使用されません。 |
get_userAccount | 外部アカウントを取得できます。 |
save_userAccount | 任意のアカウントを保存または更新できます。デフォルト以外の制限を設定できます。メールの確認を省略できます(必要な場合)。 |
delete_userAccount | 任意のアカウントを削除できます。 |
enable_userAccount | 使用されません。 |
表2 Admin Utils API(org.systinet.uddi.admin.AdministrationUtilsApi)
操作(アクション) | 説明 |
---|---|
deleteTModel | deleteTModel操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
replaceKey | replaceKey操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
cleanSubscriptionHistory | cleanSubscriptionHistory操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
resetDiscoveryURLs | resetDiscoveryURLs操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
transform_keyedReferences | transform_keyedReferences操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
rebuild_cache | rebuild_cache操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
replaceURL | replaceURL操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
表3 Category API(org.systinet.uddi.client.category.v3.CategoryApi)
操作(アクション) | 説明 |
---|---|
set_category | set_category操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
add_category | add_category操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
move_category | move_category操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
delete_category | delete_category操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
find_category | 使用されません。 |
get_category | 使用されません。 |
get_rootCategory | 使用されません。 |
get_rootPath | 使用されません。 |
表4 Custody API(org.systinet.uddi.client.custody.v3.UDDI_CustodyTransfer_PortType)
操作(アクション) | 説明 |
---|---|
get_transferToken | 外部エンティティに対するget_transferToken操作を呼び出すことができます。 |
discard_transferToken | 外部トークンに対するdiscard_transferToken操作を呼び出すことができます。 |
表5 Group API(org.systinet.uddi.group.GroupApi)
操作(アクション) | 説明 |
---|---|
find_group | 外部プライベート・グループを検索できます。 |
get_group | 外部プライベート・グループを取得できます。 |
save_group | 外部グループを保存または更新できます。 |
delete_group | 外部グループを削除できます。 |
where_amI | 使用されません。 |
find_user | 使用されません。 |
add_user | 使用されません。 |
remove_user | 使用されません。 |
表6 Inquiry V1 API(org.systinet.uddi.client.v1.InquireSoap)
操作(アクション) | 説明 |
---|---|
find_binding | ACL権限に関係なく、すべてのbindingTemplateを検索できます。 |
find_business | ACL権限に関係なく、すべてのbusinessEntityを検索できます。 |
find_services | ACL権限に関係なく、すべてのサービスを検索できます。 |
find_tModel | ACL権限に関係なく、すべてのtModelを検索できます。 |
get_bindingDetail | ACL権限に関係なく、任意のbindingTemplateを取得できます。 |
get_businessDetail | ACL権限に関係なく、任意のbusinessEntityを取得できます。 |
get_businessDetailExt | 使用されません。 |
get_serviceDetail | ACL権限に関係なく、任意のbusinessServiceを取得できます。 |
get_tModelDetail | ACL権限に関係なく、任意のtModelを取得できます。 |
表7 Inquiry V2 API(org.systinet.uddi.client.v2.Inquire)
操作(アクション) | 説明 |
---|---|
find_binding | ACL権限に関係なく、すべてのbindingTemplateを検索できます。 |
find_business | ACL権限に関係なく、すべてのbusinessEntityを検索できます。 |
find_relatedBusinesses | ACL権限に関係なく、すべての関連するbusinessEntityを検索できます。 |
find_services | ACL権限に関係なく、すべてのサービスを検索できます。 |
find_tModel | ACL権限に関係なく、すべてのtModelを検索できます。 |
get_bindingDetail | ACL権限に関係なく、任意のbindingTemplateを取得できます。 |
get_businessDetail | ACL権限に関係なく、任意のbusinessEntityを取得できます。 |
get_businessDetailExt | 使用されません。 |
get_serviceDetail | ACL権限に関係なく、任意のbusinessServiceを取得できます。 |
get_tModelDetail | ACL権限に関係なく、任意のtModelを取得できます。 |
表8 Inquiry V3 API(org.systinet.uddi.client.v3.UDDI_Inquiry_PortType)
操作(アクション) | 説明 |
---|---|
find_binding | ACL権限に関係なく、すべてのbindingTemplateを検索できます。 |
find_business | ACL権限に関係なく、すべてのbusinessEntityを検索できます。 |
find_relatedBusinesses | ACL権限に関係なく、すべての関連するbusinessEntityを検索できます。 |
find_services | ACL権限に関係なく、すべてのサービスを検索できます。 |
find_tModel | ACL権限に関係なく、すべてのtModelを検索できます。 |
get_bindingDetail | ACL権限に関係なく、任意のbindingTemplateを取得できます。 |
get_businessDetail | ACL権限に関係なく、任意のbusinessEntityを取得できます。 |
get_operationalInfo | 使用されません。 |
get_serviceDetail | ACL権限に関係なく、任意のbusinessServiceを取得できます。 |
get_tModelDetail | ACL権限に関係なく、任意のtModelを取得できます。 |
表9 Permission API(org.systinet.uddi.permission.PermissionApi)
操作(アクション) | 説明 |
---|---|
get_permission | 外部アカウントおよびグループのget_permission操作を呼び出すことができます。 |
set_permission | set_permission操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
who_hasPermission | who_hasPermission操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
find_principal | find_principal操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
表10 Publishing V1 API(org.systinet.uddi.client.v1.PublishSoap)
操作(アクション) | 説明 |
---|---|
delete_binding | ACL権限に関係なく、任意のbindingTemplateを削除できます。 |
delete_business | ACL権限に関係なく、任意のbusinessEntityを削除できます。 |
delete_service | ACL権限に関係なく、任意のbusinessServiceを削除できます。 |
delete_tModel | ACL権限に関係なく、任意のtModelを削除できます。 |
save_binding | * ACL権限に関係なく、任意のbusinessServiceで任意のbindingTemplateを更新、または新しいbindingTemplateを作成できます。* バインド制限チェックを省略します。 |
save_business | * ACL権限に関係なく、任意のbusinessEntityを更新できます。* ビジネス制限チェックを省略します。 |
save_service | * ACL権限に関係なく、任意のbusinessEntityで任意のbusinessServiceを更新、または新しいbusinessServiceを作成できます。* サービス制限チェックを省略します。 |
save_tModel | * ACL権限に関係なく、任意のtModelを更新できます。* tModel制限チェックを省略します。 |
get_authToken | 使用されません。 |
discard_authToken | 使用されません。 |
get_registeredInfo | 使用されません。 |
validate_categorization | 使用されません。 |
表11 Publishing V2 API(org.systinet.uddi.client.v2.Publish)
操作(アクション) | 説明 |
---|---|
delete_binding | ACL権限に関係なく、任意のbindingTemplateを削除できます。 |
delete_business | ACL権限に関係なく、任意のbusinessEntityを削除できます。 |
delete_service | ACL権限に関係なく、任意のbusinessServiceを削除できます。 |
delete_tModel | ACL権限に関係なく、任意のtModelを削除できます。 |
save_binding | * ACL権限に関係なく、任意のbusinessServiceで任意のbindingTemplateを更新、または新しいbindingTemplateを作成できます。* バインド制限チェックを省略します。 |
save_business | * ACL権限に関係なく、任意のbusinessEntityを更新できます。* ビジネス制限チェックを省略します。 |
save_service | * ACL権限に関係なく、任意のbusinessEntityで任意のbusinessServiceを更新、または新しいbusinessServiceを作成できます。* サービス制限チェックを省略します。 |
save_tModel | * ACL権限に関係なく、任意のtModelを更新できます。* tModel制限チェックを省略します。 |
add_publisherAssertions | add_publisherAssertions操作におけるアサーション制限チェックを省略します。 |
set_publisherAssertions | set_publisherAssertions操作におけるアサーション制限チェックを省略します。 |
delete_publisherAssertions | 使用されません。 |
get_publisherAssertions | 使用されません。 |
get_assertionStatusReport | 使用されません。 |
get_authToken | 使用されません。 |
discard_authToken | 使用されません。 |
get_registeredInfo | 使用されません。 |
表12 Publishing V3 API(org.systinet.uddi.client.v3.UDDI_Publication_PortType)
操作(アクション) | 説明 |
---|---|
delete_binding | ACL権限に関係なく、任意のbindingTemplateを削除できます。 |
delete_business | ACL権限に関係なく、任意のbusinessEntityを削除できます。 |
delete_service | ACL権限に関係なく、任意のbusinessServiceを削除できます。 |
delete_tModel | ACL権限に関係なく、任意のtModelを削除できます。 |
save_binding | * ACL権限に関係なく、任意のbusinessServiceで任意のbindingTemplateを更新、または新しいbindingTemplateを作成できます。* バインド制限チェックを省略します。 |
save_business | * ACL権限に関係なく、任意のbusinessEntityを更新できます。* ビジネス制限チェックを省略します。 |
save_service | * ACL権限に関係なく、任意のbusinessEntityで任意のbusinessServiceを更新、または新しいbusinessServiceを作成できます。* サービス制限チェックを省略します。 |
save_tModel | * ACL権限に関係なく、任意のtModelを更新できます。* tModel制限チェックを省略します。 |
add_publisherAssertions | add_publisherAssertions操作におけるアサーション制限チェックを省略します。 |
set_publisherAssertions | set_publisherAssertions操作におけるアサーション制限チェックを省略します。 |
delete_publisherAssertions | 使用されません。 |
get_publisherAssertions | 使用されません。 |
get_assertionStatusReport | 使用されません。 |
get_registeredInfo | 使用されません。 |
表13 Replication V3 API(org.systinet.uddi.replication.v3.ReplicationApi)
操作(アクション) | 説明 |
---|---|
replicate | replicate操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
表14 Statistics API(org.systinet.uddi.statistics.StatisticsApi)
操作(アクション) | 説明 |
---|---|
get_accessStatistics | get_accessStatistics操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
reset_accessStatistics | reset_accessStatistics操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
get_structureStatistics | get_structureStatistics操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
表15 Subscription V3 API(org.systinet.uddi.client.subscription.v3.UDDI_Subscription_PortType)
操作(アクション) | 説明 |
---|---|
delete_subscription | コール元がサブスクリプション所有者でない場合でも、任意のサブスクリプションを削除できます。 |
save_subscription | * コール元がサブスクリプション所有者でない場合でも、任意のサブスクリプションを更新できます。* サブスクリプション制限チェックを省略します。 |
get_subscriptionResults | コール元がサブスクリプション所有者でない場合でも、任意のサブスクリプションの結果を取得できます。 |
get_subscriptions | コール元がサブスクリプション所有者でない場合でも、任意のサブスクリプションを取得できます。 |
表16 Taxonomy API(com.systinet.uddi.taxonomy.v3.TaxonomyApi)
操作(アクション) | 説明 |
---|---|
get_taxonomy | 分類内のカテゴリをすべて取得できます。 |
find_taxonomy | 使用されません。 |
save_taxonomy | save_taxonomy操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
delete_taxonomy | delete_taxonomy操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
download_taxonomy | download_taxonomy操作を呼び出すことができます(ApiUserPermissionでこの操作を呼び出すことはできません)。 |
upload_taxonomy | upload_taxonomy操作を呼び出すことができます (ApiUserPermissionでこの操作を呼び出すことはできません)。 |