プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogic Server Multitenantの使用
12c (12.2.1.1.0)
E77392-02
目次へ移動
目次

前
次

5 セキュリティの構成

この章では、Oracle WebLogic Server Multitenant (MT)でセキュリティを構成する方法について説明します。この章では、適宜追加情報について、Oracle WebLogic Serverのドキュメント・セットおよびオンライン・ヘルプを参照します。

この章では、『Oracle WebLogic Serverセキュリティの理解』で説明しているWebLogic Serverのセキュリティ概念やタスクの実用的な知識を有していることを前提としています。

この章の内容は次のとおりです。

ドメイン・パーティションの新しいセキュリティ機能

WebLogic Server MTでは、従来のWebLogic Serverセキュリティ・サポートを次の2つの重要な方法で拡張しています。

  • 複数のレルム。WebLogic Server MTでは、複数のアクティブなレルムをサポートし、異なるレルムに対して各パーティションを実行できます。

    従来どおり、グローバル(ドメイン)レベルで使用されるアクティブなデフォルト・レルムは1つのみです。

  • アイデンティティ・ドメイン。アイデンティティ・ドメインは、ユーザーおよびグループの論理ネームスペースであり、通常は、物理データ・ストア内のユーザーとグループの1つの個別セットを表します。アイデンティティ・ドメインを使用して、特定のパーティションに関連付けられているユーザーを識別します。

  • パーティションに直接ログインする場合の構成および管理用の管理ロール。Fusion Middleware ControlおよびWebLogic Scripting Tool (WLST)を使用して、ドメイン・レベルにログインするのではなく、ドメイン・パーティションに直接接続できます。

これらの変更内容は、後続の項で説明されています。

ドメイン・パーティションのセキュリティ・レルム: 概要

『Oracle WebLogic Serverセキュリティの理解』のセキュリティ・レルムに関する項で説明しているように、セキュリティ・レルムにはWebLogic Serverリソースを保護するためのメカニズムが含まれます。各セキュリティ・レルムは、構成済みのセキュリティ・プロバイダ、ユーザー、グループ、セキュリティ・ロール、およびセキュリティ・ポリシーで構成されます。レルムを使用して、認証、認可、ロール・マッピング、資格証明マッピング、監査およびその他のサービスを構成します。

WebLogic Serverでは、従来、ドメイン構成で複数のレルムをサポートしていますが、特定の時間にアクティブになることができるレルム(通常、デフォルト・レルムまたは管理レルムと呼ばれる)は1つのみです。

一方、WebLogic Server MTでは、複数のアクティブなレルムをサポートし、異なるレルムに対して各パーティションを実行できるようになっています。

これは、パーティションが固有のセキュリティ・プロバイダ、ユーザー、グループ、セキュリティ・ロールおよびセキュリティ・ポリシーを持つことができることを意味します。ドメイン・パーティションのリソースとアプリケーションは、ドメイン・パーティションのセキュリティ・レルム内のユーザーのみが使用できます。他のテナントでは、リソースまたはアプリケーションを表示することもアクセスすることもできません。

注意:

パーティションでは、独立性や分離性を損なう結果となりますが、セキュリティ・レルムを共有できます。特に、パーティションの作成時にレルムを指定しなかった場合は、デフォルト・レルムがそのパーティションと共有され、そのパーティションとドメイン間でセキュリティが分離されません。

アイデンティティ・ドメイン: 概要

注意:

アイデンティティ・ドメインは、ユーザー・ストアでアイデンティティ・ドメインをサポートしている場合にのみ使用できるオプション機能です。アイデンティティ・ドメイン自体の構造、構成および管理は、WebLogic Serverにとって制御外であり、認識できません。

アイデンティティ・ストアの目的は、パーティションのユーザーがそのパーティションにアクセスできるようにする一方で、他のパーティションのユーザーはアクセスできないようにすることです。

アイデンティティ・ドメインでは、異なるパーティションに関連付けられているユーザーを区別します。パーティションに関連付けられている一連のユーザーを識別するアイデンティティ・ドメインを使用して、パーティションを構成できます。アクセス・ポリシーにより、これらのユーザーはパーティションにアクセスできますが、他のアイデンティティ・ドメインのユーザーはアクセスできません。

アイデンティティ・ドメイン名は、現在の環境でわかりやすい名前にする必要があります。

一般に、パーティションとアイデンティティ・ドメイン間には1対1のマッピングがあります。ただし、複数のパーティションで同じアイデンティティ・ドメインを使用することは可能です。結果として、これらのパーティションのユーザー間の区別がなくなり、環境によっては不適切である可能性があります。

アイデンティティ・ドメインのタイプ

次の2つのタイプのアイデンティティ・ドメインがあります。

  • 管理アイデンティティ・ドメイン: ドメイン内のデフォルト・セキュリティ・レルムのアイデンティティ・ドメイン。管理アイデンティティ・ドメインの目的は、グローバル・ドメイン・ユーザーとパーティション・ユーザーを区別することです。WebLogic Serverシステム管理者は、この管理アイデンティティ・ドメインに属しています。

    管理アイデンティティ・ドメインは、Oracle WebLogic Server管理コンソールの「ドメイン」 > 「セキュリティ」ページに表示されます。

  • プライマリ・アイデンティティ・ドメイン: パーティション用に構成されたプライマリ・アイデンティティ・ドメイン。プライマリ・アイデンティティ・ドメインは、パーティション・ユーザーの認証時およびパーティション・リソースの所有権を判別する場合に、デフォルトのアイデンティティ・ドメインとして使用されます。

    このプライマリ・アイデンティティ・ドメインは、WebLogic Server管理コンソールの認証プロバイダのプロバイダ固有のページに表示されます。

アイデンティティ・ドメインのユーザー・ストアの表現には、基礎となるテクノロジでサポートされるすべての表現を使用できます。次に例を示します。

  • アイデンティティ・ドメインごとに個別のLightweight Directory Access Protocol (LDAP)インスタンスを作成できます。

  • アイデンティティ・ドメイン・フィールドは、データベース内のユーザー・レコードに追加できます。

  • アイデンティティ・ドメインは、単一のOracle Internet Directory (OID)インスタンスの「ユーザーとグループ」階層内の異なるサブツリーとして表されます。

パーティション管理者がパーティション内のレルム・セキュリティ・データにアクセスできるようにするには、システム管理者がそのレルムに対してマネージメント・アイデンティティ・ドメインを構成する必要があります。マネージメント・アイデンティティ・ドメインは、プライマリ・アイデンティティ・ドメイン、管理アイデンティティ・ドメイン、またはオーセンティケータがレルムでサポートしている別のアイデンティティ・ドメインにできます。このマネージメント・アイデンティティ・ドメインと一致するアイデンティティ・ドメインを持つパーティション管理者は、一部のセキュリティMBeanにアクセスし、そのMBeanに対して管理操作を呼び出すことができます。管理アイデンティティ・ドメインをマネージメント・アイデンティティ・ドメインにすることもできますが、システム管理者はセキュリティ・レルムを管理する権限をすでに持っているため、その必要はありません。

デフォルトのアイデンティティ・ドメインの値

WebLogic Server MTは、次のようなデフォルトの管理アイデンティティ・ドメインおよびデフォルトのプライマリ・アイデンティティ・ドメインを作成します。

  • 管理アイデンティティ・ドメイン: WebLogic Server MTは、デフォルト・セキュリティ・レルムにidd_DOMAINというデフォルトのアイデンティティ・ドメインを作成します。管理アイデンティティ・ドメインは、本番モードで最初のパーティションをドメインに作成すると作成されます。

    開発モードで最初のパーティションをドメインに作成した場合、デフォルト値はnullになります。(この場合のみ、nullが有効なアイデンティティ・ドメインとみなされます。)

  • プライマリ・アイデンティティ・ドメイン: WebLogic Server MTは、パーティションの作成時に、iddの接頭辞が付いたパーティションの名前を使用してパーティションにデフォルトのアイデンティティ・ドメインを作成します。

    このプライマリ・アイデンティティ・ドメインは、WebLogicのデフォルト・オーセンティケータ・プロバイダ用のプロバイダ固有のWebLogic Server管理コンソール・ページに表示されます。

    デフォルトのプライマリ・アイデンティティ・ドメインは、組込みLDAPで使用するデフォルト・オーセンティケータの便利な機能です。テストおよび内部開発での使用が目的で、本番環境向けではありません。組込みLDAPでは、アイデンティティ・ドメインを実際には使用しません。

構成および管理用の管理ロール

「ドメイン・パーティションへの直接接続: 主な手順およびWLSTの例」の説明に従い、Fusion Middleware ControlおよびWLSTを使用して、ドメイン・レベルでログインするのではなく、ドメイン・パーティションに直接接続できます。

表5-1に、パーティション環境でのWebLogic Server管理ロールの構成機能と管理機能を示します。


表5-1 構成および管理用の管理ロール

ロール ドメインへのログイン パーティションへのログイン

管理者

パーティションの構成および管理を含む、ドメイン・リソースに対するフル・コントロール。

レルムMBeanに関するマネージメント・アイデンティティ・ドメインの属性を構成します。

パーティションが所有するMBeanへの書込みアクセス。

所有するPartitionMBean.Realm属性とPartitionMBean.PrimaryIdentityDomain属性への読取り専用アクセス。

所有するRealmMBeanおよびその子への読取り専用アクセス。

マネージメント・アイデンティティ・ドメインのパーティション管理者:

  • 独自のパーティション内の一部のセキュリティおよびレルム・ランタイムMBeanに対してメソッドを呼び出すことができます。

  • 独自のパーティション内のセキュリティ・プロバイダMBeanに対する一部の管理操作でメソッドを呼び出すことができます。

デプロイヤ

リソースをドメインおよびパーティション内に構成し、そのドメインおよびパーティション内でアプリケーションをデプロイ、再デプロイ、アンデプロイ、起動、停止します。

リソースをパーティション内に構成し、そのパーティション内でアプリケーションをデプロイ、再デプロイ、アンデプロイ、起動、停止します。

オペレータ

サーバー、パーティション、リソース・グループを起動/停止します。

パーティションおよびリソース・グループを起動/停止します。

モニター

ドメインおよびパーティションのリソースへの読取り専用アクセス。

パーティション・リソースへの読取り専用アクセス。


管理アイデンティティ・ドメインの構成: 主な手順およびWLSTの例

管理アイデンティティ・ドメインは、WebLogic Server管理コンソールの「ドメイン」 > 「セキュリティ」ページに表示されます。

WebLogic Server管理者の資格証明のみを格納するデフォルト・オーセンティケータが含まれたデフォルト・セキュリティ・レルムを使用する場合は、デフォルト値idd_DOMAINをそのまま使用できます。詳細は、「セキュリティ・レルムおよびプライマリ・アイデンティティ・ドメインの構成: 主な手順および例」を参照してください。

ただし、デフォルト・レルムに選択したユーザー・ストアがアイデンティティ・ドメインをサポートし、アイデンティティ・ドメインをWebLogic Server管理者用に構成している場合は、管理アイデンティティ・ドメイン値と一致する認証プロバイダをデフォルト・レルムに少なくとも1つ構成する必要があります。

WebLogic Server管理コンソールを使用する場合:

  1. デフォルト・レルムの認証プロバイダを選択し、既存の管理アイデンティティ・ドメインを指定します。

    1. ナビゲーション・ペインで、「セキュリティ・レルム」を選択します。

    2. デフォルトのセキュリティ・レルムを選択します。

    3. 「プロバイダ」ページを選択します。

    4. 認証プロバイダを選択します。

    5. 「プロバイダ固有」ページを選択します。

    6. 有効な管理アイデンティティ・ドメインの名前を「アイデンティティ・ドメイン」フィールドに入力します。

    7. 変更内容を保存します。

  2. 「ドメイン」 > 「セキュリティ」ページに移動し、「管理アイデンティティ・ドメイン」値を管理アイデンティティ・ドメインの名前に変更します。

  3. 変更内容を保存します。

  4. 管理サーバーを再起動します。

管理アイデンティティ・ドメインの構成: WLSTの例

この例では、次の操作を実行しています。

  1. ドメインMBeanを取得します。
  2. ドメインのセキュリティ構成を取得します。
  3. セキュリティ構成の管理アイデンティティ・ドメインを設定します。
  4. セキュリティ構成のデフォルト・レルムを取得します。
  5. レルムのデフォルトの認証プロバイダをルックアップします。
  6. デフォルトの認証プロバイダにアイデンティティ・ドメインを設定します。

    注意:

    管理サーバーを再起動する必要があります。管理アイデンティティ・ドメインの値の設定は、動的でない変更であるため、サーバーを再起動する必要があります。

edit()
startEdit()
wls:/base_domain/edit/ !> domain=getMBean('/')

wls:/base_domain/edit/ !> ADMIN_IDD = "Admin-idd"
wls:/base_domain/edit/ !> secure=domain.getSecurityConfiguration()
wls:/base_domain/edit/ !> secure.setAdministrativeIdentityDomain(ADMIN_IDD)
wls:/base_domain/edit/ !> realm = secure.getDefaultRealm()
wls:/base_domain/edit/ !> defAtn = realm.lookupAuthenticationProvider('DefaultAuthenticator')
wls:/base_domain/edit/ !> defAtn.setIdentityDomain(ADMIN_IDD)

セキュリティ・レルムおよびプライマリ・アイデンティティ・ドメインの構成: 主な手順および例

セキュリティ・レルムを作成する必要はありません。パーティションでは、セキュリティ・レルムを共有したり、デフォルト・レルムを使用することができます。ただし、ベスト・プラクティスは、パーティションごとにセキュリティ・レルムを作成することです。このことは、特に、アイデンティティ・ドメインを使用してパーティション間を分離する場合に該当します。

ユーザー・ストアでアイデンティティ・ドメインがサポートされている場合は、この項の説明に従って、プライマリ・アイデンティティ・ドメインおよびマネージメント・アイデンティティ・ドメインを構成します。

次の手順を実行して、セキュリティ・レルムおよびアイデンティティ・ドメインをドメイン・パーティションに構成します。一部の手順でWebLogic Server管理コンソールが必要となることに注意してください。

  1. セキュリティ・レルムを作成します。名前はドメイン内で一意である必要があります。

    Fusion Middleware Controlを使用する場合は、「WebLogicドメイン」 > 「セキュリティ」 > 「セキュリティ・レルム」に移動します。デフォルト・プロバイダが新しいレルムに自動的に作成されます。

    WebLogic Server管理コンソールを使用する場合は、ナビゲーション・ペインで「セキュリティ・レルム」を選択します。多くの場合、デフォルト・プロバイダを新しいレルムに作成するオプションを選択することが、最も便利です。

  2. パーティション固有のユーザーをセキュリティ・レルムに追加します。

    Fusion Middleware Controlを使用する場合は、「WebLogicドメイン」 > 「セキュリティ」 > 「ユーザーとグループ」に移動します。作成したセキュリティ・レルムを選択し、「ユーザー」ページと「グループ」ページで「作成」をクリックして、ユーザーとグループをレルムに追加します。

    WebLogic Server管理コンソールを使用する場合は、ナビゲーション・ペインで「セキュリティ・レルム」を選択します。作成したセキュリティ・レルムを選択してから、「ユーザーとグループ」ページを選択します。「ユーザー」ページと「グループ」ページで「新規」をクリックして、ユーザーとグループをレルムに追加します。

  3. 『Oracle WebLogic Server管理コンソール・オンライン・ヘルプ』のセキュリティ・プロバイダの管理に関する項の説明に従って、プロバイダをセキュリティ・レルムに構成します。

    WebLogic Server管理コンソールでこの手順を実行します。

  4. オプションで、作成した認証プロバイダを選択し、既存のアイデンティティ・ドメインを指定します。アイデンティティ・ドメインは、ユーザー・ストアでアイデンティティ・ドメインをサポートしている場合にのみ使用できるオプション機能です。

    WebLogic Server管理コンソールでこの手順を実行します。

    1. 「プロバイダ固有」ページを選択します。

    2. 「アイデンティティ・ドメイン」フィールドに、有効なアイデンティティ・ドメインの名前を入力します。

    3. 変更内容を保存します。

  5. 「ドメイン・パーティションの構成」の説明に従ってパーティションを後で作成する場合、またはドメインの構成ウィザードを使用してドメインを作成したときにパーティションを作成した場合、次のようにします。

    1. 作成したセキュリティ・レルムを指定します。

      WebLogic Server管理コンソールを使用して、ドメインの構成ウィザードで作成したパーティションを構成する場合は、「パーティション」 > 「構成」 > 「一般」ページの「レルムの使用」フィールドでセキュリティ・レルムを選択します。

    2. 認証プロバイダに設定したアイデンティティ・ドメインを指定します。

      Fusion Middleware Controlを使用してドメイン・パーティションを作成している場合は、「ドメイン・パーティションの作成: 一般」ページで、プライマリ・アイデンティティ・ドメインを指定します。値を指定しない場合、WebLogic Server MTでは、パーティションの作成時にiddの接頭辞が付いたパーティションの名前を使用して、そのパーティションのデフォルトのアイデンティティ・ドメインを作成します。

      WebLogic Server管理コンソールを使用してドメイン・パーティションを作成する場合、WebLogic Server MTでは、iddの接頭辞が付いたパーティションの名前を使用して、デフォルトのアイデンティティ・ドメインを作成します。パーティションを作成してから、変更内容をアクティブ化するまでの間に、「パーティション」 > 「構成」 > 「一般」ページに移動して、「プライマリ・アイデンティティ・ドメイン」フィールドのデフォルトの名前を実際のアイデンティティ・ドメイン名に変更します。

    3. レルムのマネージメント・アイデンティティ・ドメインの属性に、パーティションのプライマリ・アイデンティティ・ドメインに使用したものと同じ値を設定します。

      WebLogic Server管理コンソールでこの手順を実行します。

      ナビゲーション・ペインで「セキュリティ・レルム」を選択します。パーティションのセキュリティ・レルムを選択し、「構成」 > 「一般」を選択して、「詳細」をクリックします。「管理アイデンティティ・ドメイン」フィールドに、パーティションに対して構成したプライマリ・アイデンティティ・ドメインの名前を入力し、「保存」をクリックします。

セキュリティ・レルムおよびプライマリ・アイデンティティ・ドメインの構成: WLSTの例

この例では、次の操作を実行しています。

  1. ドメインMBeanを取得します。

  2. ドメインのセキュリティ構成を取得します。

  3. セキュリティ構成の管理アイデンティティ・ドメインを設定します。

  4. セキュリティ構成のデフォルト・レルムを取得します。

  5. レルムのデフォルトの認証プロバイダをルックアップします。

  6. デフォルトの認証プロバイダにアイデンティティ・ドメインを設定します。

  7. パーティションの新しいレルムを作成します。

  8. 新しいレルムで必要なセキュリティ・プロバイダを作成します。

  9. ドメイン・パーティションを作成します。

  10. 仮想ターゲットを作成します。

  11. 仮想ターゲットのホスト名およびURI接頭辞を設定します。

  12. この仮想ターゲットを、使用可能なターゲットとしてパーティションに追加します。

  13. パーティションのセキュリティ・レルムを設定します。

  14. パーティションのプライマリ・アイデンティティ・ドメインを設定します。

  15. パーティションのマネージメント・アイデンティティ・ドメインを設定します。

  16. リソース・グループを作成します。

  17. 仮想ターゲットをリソース・グループに追加します。

  18. 変更をアクティブ化します。

  19. パーティションを起動します。

注意:

パーティションを起動する前に、管理サーバーを再起動する必要があります。管理アイデンティティ・ドメインの値の設定は、動的でない変更であるため、サーバーを再起動する必要があります。

edit()
startEdit()
wls:/base_domain/edit/ !> domain=getMBean('/')

wls:/base_domain/edit/ !> ADMIN_IDD = "Admin-idd"
wls:/base_domain/edit/ !> secure=domain.getSecurityConfiguration()
wls:/base_domain/edit/ !> secure.setAdministrativeIdentityDomain(ADMIN_IDD)
wls:/base_domain/edit/ !> realm = secure.getDefaultRealm()
wls:/base_domain/edit/ !> defAtn = realm.lookupAuthenticationProvider('DefaultAuthenticator')
wls:/base_domain/edit/ !> defAtn.setIdentityDomain(ADMIN_IDD)


wls:/base_domain/edit/ !> partrealm=secure.createRealm('partrealm')


wls:/base_domain/edit/ !> partrealm.createAuthenticationProvider("DefaultAuthenticator","weblogic.security.providers.authentication.DefaultAuthenticator")
wls:/base_domain/edit/ !> defAtnP = partrealm.lookupAuthenticationProvider('DefaultAuthenticator')
wls:/base_domain/edit/ !> defAtnP.setIdentityDomain('partID')
wls:/base_domain/edit/ !> partrealm.createAuthenticationProvider("DefaultIdentityAsserter","weblogic.security.providers.authentication.DefaultIdentityAsserter")
wls:/base_domain/edit/ !> partrealm.createAuthorizer("XACMLAuthorizer","weblogic.security.providers.xacml.authorization.XACMLAuthorizer")
wls:/base_domain/edit/ !> partrealm.createRoleMapper("XACMLRoleMapper","weblogic.security.providers.xacml.authorization.XACMLRoleMapper")
wls:/base_domain/edit/ !> partrealm.createAdjudicator("DefaultAdjudicator","weblogic.security.providers.authorization.DefaultAdjudicator")
wls:/base_domain/edit/ !> partrealm.createCredentialMapper("DefaultCredentialMapper","weblogic.security.providers.credentials.DefaultCredentialMapper")
wls:/base_domain/edit/ !> cert = partrealm.createCertPathProvider("WebLogicCertPathProvider","weblogic.security.providers.pk.WebLogicCertPathProvider")
wls:/base_domain/edit/ !> partrealm.setCertPathBuilder(cert) 
wls:/base_domain/edit/ !> partrealm.setManagementIdentityDomain('partID')
wls:/base_domain/edit/ !> pv = partrealm.createPasswordValidator('SystemPasswordValidator','com.bea.security.providers.authentication.passwordvalidator.SystemPasswordValidator')
wls:/base_domain/edit/ !> pv.setMinPasswordLength(8)
wls:/base_domain/edit/ !> pv.setMinNumericOrSpecialCharacters(1)


wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep')
wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('TestVT')
wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('somehost')],String))
wls:/base_domain/edit/ !> vt.setUriPrefix('/foo')
wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt)
wls:/base_domain/edit/ !> peppart.setRealm(partrealm)
wls:/base_domain/edit/ !> peppart.setPrimaryIdentityDomain('partID')
wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG')
wls:/base_domain/edit/ !> peprg.addTarget(vt)
wls:/base_domain/edit/ !> activate()
wls:/base_domain/edit/ !> startPartitionWait(peppart) 

セキュリティ・レルムおよびプライマリ・アイデンティティ・ドメインの構成: RESTの例

Representational State Transfer (REST)からのドメイン・パーティションの作成の例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のパーティションの作成に関する項を参照してください。

この例では、次を含むパーティションの作成方法を示します。

  • パーティションの新しいセキュリティ・レルム(セキュリティ・プロバイダ、プライマリ・アイデンティティ・ドメインおよびマネージメント・アイデンティティ・ドメインを含む)。

  • アプリケーションが実行されるクラスタの仮想ターゲット。

  • デプロイヤ・ロールがシステム・リソースを作成し、アプリケーションをデプロイできるようにするための、管理サーバーの仮想ターゲット。

  • 各仮想ターゲットのリソース・グループ。

  • 管理者、デプロイヤ、モニターおよびオペレータ・ロールのパーティション・ユーザー。

パーティションに対してマネージメント・アイデンティティ・ドメインを設定する方法を示す例は、「パーティション管理者としてのユーザーおよびグループの管理: RESTの例」を参照してください

「アイデンティティ・ドメイン対応プロバイダが必要」コントロールの設定: 主な手順

次のWebLogic Serverセキュリティ・プロバイダは、アイデンティティ・ドメインが構成されている環境で正しく機能するために、アイデンティティ・ドメイン対応である必要があります。

  • ロール・マッピング

  • Authorization

  • 資格証明マッピング

  • 監査

たとえば、アイデンティティ・ドメインを認識しない認可プロバイダは、同じ名前を持つがアイデンティティ・ドメインは異なる2人のユーザーを適切に区別できないため、認可上の有効な決定を行うことができません。

標準のWebLogic Serverセキュリティ・プロバイダは、アイデンティティ・ドメインに対応しています。ただし、デフォルト・ロール・マッパーやデフォルト認可プロバイダなどの非推奨プロバイダはアイデンティティ・ドメインに対応していません。

アイデンティティ・ドメインをユーザー・ストアに構成している場合は、「アイデンティティ・ドメイン対応プロバイダが必要」コントロールを設定して、アイデンティティ・ドメイン対応プロバイダの使用を強制できます。このコントロールの設定では、アイデンティティ・ドメインが構成されていない場合でも、アイデンティティ・ドメインをサポートするロール・マッピング、認可、資格証明マッピングおよび監査のプロバイダのみを使用することを指定します。

WebLogic Server管理コンソールを使用する場合:

  1. 「ドメイン」 > 「セキュリティ」ページに移動します。
  2. 「アイデンティティ・ドメイン対応プロバイダが必要」コントロールを設定します。
  3. 変更を保存します。

ドメイン・パーティションへの直接接続: 主な手順およびWLSTの例

Fusion Middleware ControlとWLSTのどちらを使用しても、ドメイン・レベルにログインすることなく、ドメイン・パーティションに直接接続できます。このことを実行すると、指定したユーザー名は、そのパーティションのセキュリティ・レルムおよびマネージメント・アイデンティティ・ドメインと照合して検証されます。

Fusion Middleware Controlを使用してパーティションにログインするには、次のようにします。

  1. WebブラウザにURLを入力します。次に例を示します。

    http://host1.example.com:7001/em

  2. パーティション・ユーザーの名前とパスワードを入力し、「パーティションへのログイン」をクリックします。

  3. 「パーティション名」フィールドにパーティションの名前を入力し、「サインイン」をクリックします。

    パーティションに直接ログインした場合のWebLogic Server管理ロールの構成機能と管理機能については、表5-1を参照してください。

ドメイン・パーティションへの直接接続: WLSTの例

WLSTを使用して、ドメイン・レベルにログインするのではなく、ドメイン・パーティションに直接接続できます。これを行う場合、次のことに注意してください。

  • 指定したユーザー名は、そのパーティションのセキュリティ・レルムと照合して検証されます。

    パーティションに直接ログインした場合のWebLogic管理ロールの構成機能と管理機能については、表6-1を参照してください。

  • MBean階層の初期ビューは、パーティション固有です。

WLST構文は次のとおりです。t3接続のみがサポートされていることに注意してください。

MBean階層の初期ビューは、パーティション固有です。

パーティション名を使用した場合

wls:/offline> connect('username','password',"t3://system:port/partitions/partition-name")

次に例を示します。

wls:/offline> connect('weblogic','password',"t3://somehost:7001/partitions/Partition-0")
Connecting to t3://somehost:7001/partitions/Partition-0 with userid 
weblogic ...
Successfully connected to partition "Partition-0".
wls:/base_domain/serverConfig/Partitions/Partition-0>

仮想ターゲットを使用した場合

パーティションに構成された仮想ターゲットに一致するURLを指定します。たとえば、ホスト名のない仮想ターゲットがあり、uriPrefix/fooの場合、次のように接続できます。

connect('weblogic','password',"t3://somehost:7001/foo")

パーティション固有のMBean階層

接続後のMBean階層は、次のようにパーティション固有です。

wls:/base_domain/serverConfig/Partitions/Partition-0> ls()
dr--   AvailableTargets
dr--   CoherencePartitionCacheConfigs
dr--   DataSourceForJobScheduler
dr--   DataSourcePartition
dr--   DefaultTargets
dr--   JDBCSystemResourceOverrides
dr--   JMSSystemResourceOverrides
dr--   JTAPartition
dr--   MailSessionOverrides
dr--   ManagedExecutorServiceTemplates
dr--   ManagedScheduledExecutorServiceTemplates
dr--   ManagedThreadFactoryTemplates
dr--   PartitionLog
dr--   PartitionWorkManager
dr--   PartitionWorkManagerRef
dr--   ResourceGroups
dr--   ResourceManager
dr--   ResourceManagerRef
dr--   SelfTuning
dr--   SystemFileSystem
dr--   WebService
 
-r--   BatchJobsExecutorServiceName                 null
-r--   DataSourceForJobScheduler                    null
-r--   GracefulShutdownTimeout                      0
-r--   IgnoreSessionsDuringShutdown                 false
-r--   JobSchedulerTableName                        WEBLOGIC_TIMERS
-r--   MaxConcurrentLongRunningRequests             50
-r--   MaxConcurrentNewThreads                      50
-r--   Name                                         Partition-0
-r--   ParallelDeployApplicationModules             false
-r--   ParallelDeployApplications                   true
-r--   PartitionID                                  085b48c2-6d70-434e-8200-f4eb
f28ca3a0
-r--   PartitionLifeCycleTimeoutVal                 120
-r--   PartitionWorkManager                         null
-r--   PartitionWorkManagerRef                      null
-r--   PrimaryIdentityDomain                        idd_Partition-0
-r--   RCMHistoricalDataBufferLimit                 250
-r--   ResourceDeploymentPlanPath                   null
-r--   ResourceManager                              null
-r--   ResourceManagerRef                           null
-r--   StartupTimeout                               0
-r--   Type                                         Partition
-r--   UploadDirectoryName                          C:\Oracle\Middleware\Oracle_
Home\user_projects\domains\base_domain/partitions/Partition-0/system\servers\Adm
inServer\upload\

パーティション管理者としてのセキュリティ・データの管理: 主な手順および例

パーティション管理者は、マネージメント・アイデンティティ・ドメインのメンバーとしてパーティションにログインまたは接続することによって、そのパーティションに関連付けられているセキュリティ・レルム・データ(ユーザーとグループ、資格証明マップ、ロール、ポリシーなど)を管理できます。このリリースでは、パーティション管理者はレルムの構成を変更できません。

注意:

パーティション管理者用にセキュリティ管理機能を有効にする場合、システム管理者は、レルムに対するマネージメント・アイデンティティ・ドメインの属性をプライマリ・アイデンティティ・ドメインと同じ値に設定する必要があります。「セキュリティ・レルムおよびプライマリ・アイデンティティ・ドメインの構成: 主な手順および例」を参照してください

Fusion Middleware Controlで、パーティション管理者はユーザーおよびグループを管理できます。サポートされているMBeanに対してその他のセキュリティ管理操作を呼び出すには、WLST、REST APIまたはJMXを使用できます。

プロセスの概要を次に示します。

  1. システム管理者は、レルムに対してマネージメント・アイデンティティ・ドメインを構成します。このマネージメントIDDと一致するアイデンティティ・ドメインを持つパーティション管理者は、セキュリティ・ランタイムMBean操作を呼び出してレルムの動作を制御できます。次に例を示します。

    • システム管理者は、値idd-DOMAINを使用して、セキュリティ構成MBeanに対する管理アイデンティティ・ドメインを構成します。

    • システム管理者は、ドメイン内にパーティションPartition1を構成します。パーティションMBeanに構成されているプライマリ・アイデンティティ・ドメインの値はidd-Partition1です。Partition1に対して認証されるユーザーはidd-Partition1アイデンティティ・ドメインに属します。

    • システム管理者は、ドメイン内でPartition1レルムを構成し、値idd-Partition1を使用して、レルムMBeanに対するマネージメント・アイデンティティ・ドメインを構成します。

    • システム管理者は、パーティション管理ユーザーを作成し、Administratorsグループに割り当てます。

    • アイデンティティ・ドメインidd-DOMAINを持つユーザー(システム管理者など)およびアイデンティティ・ドメインidd-Partition1を持つユーザー(パーティション管理者など)は、レルムに含まれているレルムMBeanおよびセキュリティ・プロバイダMBeanに対するセキュリティ管理操作にアクセスできます。

  2. パーティション管理者は、Fusion Middleware Controlを使用してユーザーおよびグループを管理できます。

  3. パーティション管理者は、パーティションMBeanレルムの属性を使用してレルムに移動できます。

  4. パーティション管理者は、レルムMBeanプロバイダ関連の属性を使用してセキュリティ・プロバイダに移動できます。

  5. パーティション管理者は、セキュリティ・プロバイダMBeanで一部のメソッドを呼び出すことができます。パーティション管理者が使用可能なセキュリティ・プロバイダのMBean混合インタフェースのリストは、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のセキュリティMBeanに関する項で表6-3を参照してください。

複数のパーティションが1つのレルムを参照する共有レルム・シナリオでは、システム管理者は、いずれかのパーティションのプライマリ・アイデンティティ・ドメインと一致するマネージメント・アイデンティティ・ドメインを構成します。この場合、デフォルトでは、該当するパーティションのユーザーのみがセキュリティ管理操作にアクセスできます。システム管理者は、特定のマネージメント・アイデンティティ・ドメインをサポートする個別のオーセンティケータを構成することもでき、この場合、マネージメント・アイデンティティ・ドメインを認証および指定するすべてのパーティションのユーザーがセキュリティ管理操作にアクセスできます。

表5-2に、パーティション管理者がパーティションに接続してMBean操作を呼び出すことができるセキュリティ管理パッケージを示します。


表5-2 パーティション管理者がアクセス可能なセキュリティ・パッケージ

パッケージ 説明

weblogic.management.security

WebLogicセキュリティ・レルムでセキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.security.audit

WebLogicセキュリティ・レルムで監査セキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.security.authentication

WebLogicセキュリティ・レルムで認証セキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.security.authorization

WebLogicセキュリティ・レルムで認可、裁決およびロール・マッピング・セキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.security.credentials

WebLogicセキュリティ・レルムで資格証明マッピング・セキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.security.pk

WebLogicセキュリティ・レルムで証明書パス・セキュリティ・プロバイダを制御およびモニターするためのインタフェースとクラスを提供します。

weblogic.management.utils

WebLogicセキュリティ・レルムでセキュリティ・プロバイダから返されたデータのリストを示すインタフェースとクラスを提供します。


JMXを使用してセキュリティ・レルムを管理する方法の詳細は、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』のJMXでのセキュリティ・レルムの管理に関する項を参照してください。

パーティション管理者としてのユーザーおよびグループの管理: Fusion Middleware Controlの例

Fusion Middleware Controlを使用してユーザーおよびグループを管理するには、次のようにします。

  1. パーティション管理者としてパーティションにログインします。パーティション管理者は、パーティション・レルムに対して設定されたマネージメント・アイデンティティ・ドメインに属している必要があります。
  2. 「ドメイン・パーティション」メニューから、「セキュリティ」「ユーザーとグループ」の順に選択します。
  3. ユーザーを作成またはモニターするには、「ユーザー」タブをクリックします(まだ選択されていない場合)。
    • 新規ユーザーを作成するには、「作成」をクリックします。「ユーザーの作成」ページで、ユーザーの名前、説明、プロバイダおよびパスワードを入力し、「作成」をクリックします。

    • 既存のユーザーの設定を編集するには、表でユーザー名を選択します。ユーザーの設定ページで、必要に応じて「一般設定」、「パスワード」、「属性」および「グループ」を編集し、「保存」をクリックします。

  4. グループを作成またはモニターするには、「グループ」タブをクリックします。
    • 新規グループを作成するには、「作成」をクリックします。「グループの作成」ページで、グループの名前、説明およびプロバイダを入力し、「作成」をクリックします。

    • 既存のグループの設定を編集するには、表でグループ名を選択します。グループの設定ページで、必要に応じてそのグループの「一般設定」および「メンバーシップ」を編集し、「保存」をクリックします。

パーティション管理者としての新規ユーザーの作成: WLSTの例

次の例は、パーティション管理者としてパーティションPartition1にログインし、レルム・パーティションおよび認証プロバイダPartition1Realm/auth_provider2)に接続し、使用可能な操作をリストし、新規ユーザーをレルムに追加する方法を示しています。

  1. 「ドメイン・パーティションへの直接接続: 主な手順およびWLSTの例」の説明に従い、パーティション管理者P1Adminとしてパーティションに接続します。

    次に例を示します。

    wls:/offline> connect('P1Admin','password','t3://somehost:7001/partitions/Partition1')
    Connecting to t3://somehost:7001/partitions/Partition1 with userid P1Admin ...
    Successfully connected to partition "Partition1".
     
    
  2. パーティション・レルムの認証プロバイダに移動します。

    次に例を示します。

    wls:/base_domain/serverConfig/Partitions/Partition1> cd ("Realm/Partition1Realm")
    wls:/base_domain/serverConfig/Partitions/Partition1/Realm/Partition1Realm> 
    cd("AuthenticationProviders/auth_provider2")
    
  3. MBeanに対して使用可能な操作をリストします。

    次に例を示します。

    wls:/base_domain/serverConfig/Partitions/Partition1/Realm/Partition1Realm/AuthenticationProviders/auth_provider2> ls('o')
     
    -r-x   addMemberToGroup                             Void : String(groupName),String(memberUserOrGroupName)
    -r-x   advance                                      Void : String(cursor)
    -r-x   changeUserPassword                           Void : String(userName),String(oldPassword),String(newPassword)
     
    -r-x   close                                        Void : String(cursor)
    -r-x   createGroup                                  Void : String(groupName),String(description)
    -r-x   createUser                                   Void : String(userName),String(password),String(description)
    -r-x   exportData                                   Void : String(format),String(filename),java.util.Properties
    -r-x   getCurrentName                               String : String(cursor)
    -r-x   getGroupDescription                          String : String(groupName)
    -r-x   getSupportedUserAttributeType                javax.management.openmbean.OpenType : String(userAttributeName)
     
    -r-x   getUserAttributeValue                        Object : String(userName),String(userAttributeName)
    -r-x   getUserDescription                           String : String(userName)
    -r-x   groupExists                                  Boolean : String(groupName)
    -r-x   haveCurrent                                  Boolean : String(cursor)
    -r-x   importData                                   Void : String(format),String(filename),java.util.Properties
    -r-x   isMember                                     Boolean : String(parentGroupName),String(memberUserOrGroupName),Boolean(recursive)
    -r-x   isUserAttributeNameSupported                 Boolean : String(userAttributeName)
    -r-x   listAllUsersInGroup                          String[] : String(groupName),String(userNameWildcard),Integer(maximumToReturn)
    -r-x   listGroupMembers                             String : String(groupName),String(memberUserOrGroupNameWildcard),Integer(maximumToReturn)
    -r-x   listGroups                                   String : String(groupNameWildcard),Integer(maximumToReturn)
    -r-x   listMemberGroups                             String : String(memberUserOrGroupName)
    -r-x   listUsers                                    String : String(userNameWildcard),Integer(maximumToReturn)
    -r-x   removeGroup                                  Void : String(groupName)
    -r-x   removeMemberFromGroup                        Void : String(groupName),String(memberUserOrGroupName)
    -r-x   removeUser                                   Void : String(userName)
    -r-x   resetUserPassword                            Void : String(userName),String(newPassword)
    -r-x   setGroupDescription                          Void : String(groupName),String(description)
    -r-x   setUserAttributeValue                        Void : String(userName),String(userAttributeName),Object(newValue)
    -r-x   setUserDescription                           Void : String(userName),String(description)
    -r-x   userExists                                   Boolean : String(userName)
    
  4. 新規ユーザーをレルムに追加します。

    次に例を示します。

    wls:/base_domain/serverConfig/Partitions/Partition1/Realm/Partition1Realm/AuthenticationProviders/auth_provider2> 
    cmo.createUser("myuser2","mypassword2","A user in the Partition1 default authenticator")
    
  5. 新規ユーザーが正常に作成されたことを確認します。

    次に例を示します。

    wls:/base_domain/serverConfig/Partitions/Partition1/Realm/Partition1Realm/AuthenticationProviders/auth_provider2> 
    if cmo.userExists('myuser2'):
      print "User myuser2 added"
    ...
    User myuser2 added

パーティション管理者としてのユーザーおよびグループの管理: RESTの例

パーティションのセキュリティ・データをパーティション管理者としてRepresentational State Transfer (REST)から管理する方法の例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のユーザーの構成に関する項を参照してください。

この例は、パーティション管理者がパーティションのデプロイヤ、オペレータおよびモニター・ユーザーを作成し、これらのユーザーをそれぞれ該当するグループに割り当てる方法を示しています。

ドメイン・パーティションでのSSLの構成

Secure Sockets Layer (SSL)の構成はパーティション固有ではありません。『 Oracle WebLogic Serverセキュリティの管理 12c (12.2.1)』のSSLの構成に関する項で説明しているように、すべてのパーティションは標準のWebLogic Server SSL構成を使用します。

ただし、次の重要な相違点に注意してください。

  • 「仮想ターゲットの構成」の説明に従い、仮想ターゲットの明示的なポートまたはオフセット・ポートを構成する場合、SSLはその仮想ターゲットでサポートされません。

    これは、クライアント(たとえばRemote Method Invocation (RMI)クライアント)が、ポート・ベースのルーティングを使用するパーティションにSSLを介して直接通信できないことを意味します。

  • デフォルトではないセキュリティ・レルム(1つ以上のパーティションに関連付けられたセキュリティ・レルムなど)で構成された証明書パス・プロバイダは、追加のSSL検証の一部として実行されません。デフォルトのセキュリティ・レルムの証明書パス・プロバイダのみが実行されます。

ドメイン・パーティションでのセキュリティの構成: 関連タスクおよびリンク

次の追加情報を参照してください。

  • 『Oracle WebLogic Server管理コンソール・オンライン・ヘルプ』のセキュリティ・プロバイダの管理に関する項

  • 『Oracle WebLogic Server管理コンソール・オンライン・ヘルプ』のユーザーの作成に関する項

  • 『Oracle WebLogic Serverセキュリティの管理 12c (12.2.1)』のSSLの構成に関する項