18 WDTを使用したOracle Access Managerの構成
エンタープライズ・デプロイメントの開始点として使用できる初期ドメインをインストールおよび構成します。後でドメインを構成します。
完全なOracle Identity and Access Managementでは、ドメインを分割してデプロイします。つまり、Oracle Access Management用に1つのドメインがあり、Oracle Identity Governance用に別のドメインがあります。
WebLogic Kubernetes Operatorのバージョン4.1.2では、Oracle WebLogicドメインを作成するための2つの異なる方法を使用できます。従来のWLSTの方法では、WLSTスクリプトを使用してドメインを作成します。これは、エンタープライズ・デプロイメント・ガイドでいくつかのリリースに使用されている方法です。
このリリース以降、エンタープライズ・デプロイメント・ガイドでは、Weblogicデプロイメント・ツール(WDT)を使用してドメインを作成します。WDTはテンプレートを使用してドメインを作成し、インストール手順を簡素化します。WebLogicデプロイメント・ツールの詳細は、WebLogic Deploy Toolingを参照してください
この章の内容は次のとおりです。
- 初期インフラストラクチャ・ドメインについて
初期インフラストラクチャ・ドメインを作成する前に、重要な概念を確認してください。 - KubernetesインフラストラクチャへのOracle Access Manager (OAM)のインストール
OAM Kubernetesインフラストラクチャを作成する前に、Oracle Access Managerイメージをダウンロードし、Oracle WebLogic Operatorをインストールしておく必要があります。 - Oracle Access Managerのネームスペースの作成
すべてのOracle Access Manager Kubernetesオブジェクトを含むネームスペースを作成します。 - コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。 - Docker HubイメージのKubernetesシークレットの作成
このシークレットを使用すると、Kubernetesはhelm
、kubectl
、logstash
コマンドなど、サードパーティのイメージを含むhub.docker.com
からイメージをプルできます。 - Access Manager用のデータベース・スキーマの作成
Oracle Fusion Middlewareコンポーネントでは、データベース内にスキーマが必要です。これらのスキーマは、デプロイメント時にWebLogicデプロイメント・ツールによって作成されます。 - Oracle Access Managerドメインの作成
Oracle Access Managerドメインを構成するには、ドメイン・ネームスペースのWebLogic Operatorを構成し、Kubernetesシークレットを作成して、Accessドメインを作成する必要があります。 - ドメインの更新
最初にドメインを作成したときに、一部の情報が欠落する可能性があります。この情報は、単純なcurl
スクリプトを使用して追加できます。 - Oracle Access Managementドメイン用の構成後タスクの実行
OAMドメインの構成後タスクには、サーバー・オーバーライド・ファイルの作成およびデータ・ソースの更新が含まれます。 - ドメインの再起動
変更を有効にするには、ドメインを再起動します。 - 管理サーバーの検証
構成ステップを実行する前に、管理サーバーにインストールおよび構成されているOracle WebLogic Server管理コンソールおよびOracle Enterprise Manager Fusion Middleware Controlにアクセスできることを確認し、管理サーバーが正常に起動したことを確認します。 - WebLogic Server 12cのデフォルトCoherenceクラスタからのOAMサーバーの削除
WebLogic Server管理コンソールを使用して、デフォルトのWebLogic Server 12c CoherenceクラスタからすべてのOracle Access Management (OAM)クラスタ(ポリシー・マネージャおよびOAMランタイム・サーバーを含む)を除外します。 - WebLogic Serverのチューニング
最小スレッド制約を追加し、最大スレッド制約と容量制約を削除することで、最適なパフォーマンスを実現するようにWebLogic Serverをチューニングします。 - 仮想化の有効化
Fusion Middleware Controlを使用して仮想化を有効にできます。 - ドメインの再起動
変更を有効にするには、ドメインを再起動します。 - LDAPを使用した構成および統合
OAMを構成してLDAPと統合するには、最初にグローバル・パスフレーズを設定する必要があります。次に、LDAPディレクトリを使用するようにOAMを構成します。さらに、Webgate_IDMエージェントが存在しない場合は作成し、最後に管理サーバーに格納されているMBeanにアクセスするための管理権限をLDAPユーザーに割り当てます。 - WebGateエージェントの更新
idmConfigTool
を実行すると、デフォルトのOAMセキュリティ・モデルが変更されて、新しいWebGate SSOエージェントが作成されます。ただし、既存のWebGate SSOエージェントが新しいセキュリティ・モデルに変更されることはありません。idmConfigTool
の実行後に、既存のWebGateエージェントを更新する必要があります。 - ホスト識別子の更新
ドメインにアクセスするときは、様々なロード・バランサ・エントリ・ポイントを使用して入ります。これらの各エントリ・ポイント(仮想ホスト)をポリシー・リストに追加する必要があります。これらのエントリ・ポイントを追加することで、login.example.com
またはprov.example.com
を使用したリソースへのアクセスをリクエストする場合に、同じポリシー・ルールのセットにアクセスできます。 - OAMへの不足ポリシーの追加
不足しているポリシーがある場合は、Oracle Access Managerが正しく機能するように追加する必要があります。 - 認証プロバイダの検証
WebLogic Server管理コンソールでIDアサーション・プロバイダと認証プロバイダの順序を設定します。 - Oracle Access ManagerでのOracle ADFおよびOPSSセキュリティの構成
一部のOracle Fusion Middleware管理コンソールでは、Oracle Access Managerシングル・サインオン(SSO)と統合可能なOracle Application Development Framework (Oracle ADF)セキュリティが使用されます。これらのアプリケーションではユーザー認証にOracle Platform Security Services (OPSS) SSOを利用できますが、まずドメイン・レベルのjps-config.xml
ファイルを構成して、これらの機能を有効にする必要があります。 - パスワードを忘れた場合の有効化
この項では、Oracle Access Managerで提供される、パスワードを忘れた場合のワンタイムPIN機能の設定方法について説明します - Accessドメインの再起動
変更を有効にするには、KubernetesでAccessドメインを再起動します。 - 初期サーバー数の設定
最初にドメインを作成したときに、1つの管理対象サーバーのみを起動するように指定しました。構成を完了したら、初期サーバー数を必要な実際の数まで増やすことができます。 - GrafanaとPrometheusによる集中管理型の監視
集中管理型のPrometheusおよびGrafanaデプロイメントを使用してインフラストラクチャを監視している場合は、このアプリケーションにOracle Access Managementのデータを送信できます。 - ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
ElasticsearchとKibanaを使用している場合は、集中管理型のElasticearch/Kibanaコンソールにログ・ファイルを送信するようLogstashポッドを構成できます。Logstashポッドを構成する前に、集中管理型のElasticsearchデプロイメントにアクセスできることを確認してください。 - 構成のバックアップ
ベスト・プラクティスとして、ドメインを正常に拡張した後や別の論理ポイントで構成をバックアップすることをお薦めします。必ずここまでのインストールが成功していることを確認してからバックアップしてください。これは、後のステップで問題が発生した場合に即座にリストアを実行できるクイック・バックアップです。
上位トピック: 「エンタープライズ・ドメインの構成」
初期インフラストラクチャ・ドメインについて
初期インフラストラクチャ・ドメインを作成する前に、重要な概念を確認してください。
ソフトウェア・ディストリビューションについて
エンタープライズ・デプロイメントの初期インフラストラクチャ・ドメインの作成には、Oracle Weblogic Operatorを使用します。Oracle Access Managerソフトウェアは、事前作成済のコンテナ・イメージとして配布されます。「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。このディストリビューションには、Oracle Access Managerのインストールと構成に必要なすべてのコンポーネントが含まれています。
『Oracle Fusion Middlewareの理解』のOracle Fusion Middlewareの理解に関する項を参照してください。
親トピック: 初期インフラストラクチャ・ドメインについて
ドメインの特徴
次の表に、作成するドメインの主な特徴を示します。これらの特徴を確認することで、ドメインの構成手順の目的やコンテキストに対する理解が深まります。
これらの特徴の多くについては、「標準的なエンタープライズ・デプロイメントの理解」で詳しく説明しています。
ドメインの特徴 | 詳細情報 |
---|---|
各WebLogic Serverは、Kubernetesクラスタ内のポッドに配置されます。 |
「Kubernetesデプロイメントについて」を参照してください。 |
各Kubernetesドメイン・オブジェクトを専用のKubernetesネームスペースに配置します。 |
「Kubernetesデプロイメントについて」を参照してください。 |
Kubernetesサービスを使用して、WebLogic管理対象サーバーと対話します。 |
「Kubernetesサービスの作成」を参照してください。 |
Kubernetes永続ボリュームを使用して、ドメイン構成を保持します。 |
unresolvable-reference.html#GUID-373A3448-D7BA-41F6-BFDB-4D7DDB2B03F1を参照してください。 |
各Kubernetesポッドは、事前作成済のOracleコンテナ・イメージから作成されます。 |
|
ドメインごとのノード・マネージャ構成を使用。 |
「標準的なエンタープライズ・デプロイメントのノード・マネージャ構成について」を参照してください。 |
別途インストールされたLDAPベースの認証プロバイダが必要。 |
「Oracle Unified Directoryのインストールおよび構成」を参照してください。 |
証明書は、Oracleキーストア・サービスに格納されます。 |
「Oracle OPSSキーストア・サービスの構成」を参照してください。 |
親トピック: 初期インフラストラクチャ・ドメインについて
この章で使用される変数
この章の以降の項では、多数のファイルを作成する手順について説明します。これらのサンプル・ファイルには、デプロイメントに適用可能な値に置換する必要がある変数が含まれています。
変数の形式は<VARIABLE_NAME>です。次の表に、これらの各変数に設定する必要がある値を示します。
表18-1 変更する必要がある変数
変数 | サンプル値 | 説明 |
---|---|---|
<REGISTRY_ADDRESS> |
|
コンテナ・レジストリの場所。 |
<REGISTRY_SECRET_NAME> |
|
コンテナ・レジストリ資格証明を含むKubernetesシークレットの名前。コンテナ・レジストリから直接イメージをプルする場合にのみ必要です。「コンテナ・レジストリ・シークレットの作成」を参照してください。 |
<REG_USER> |
|
コンテナ・レジストリへのログインに使用するユーザーの名前。 |
<REG_PWD> |
<password> |
コンテナ・レジストリ・ユーザー・パスワード。 |
<OAM_REPOSITORY> |
|
OAMソフトウェア・リポジトリの名前。 コンテナ・イメージをダウンロードしてステージングした場合、この値は Oracleコンテナ・レジストリを使用している場合、値は コンテナ・レジストリを使用している場合、値は製品名を含むレジストリの名前になります: |
<OAM_VER> |
|
使用するイメージのバージョン。この値は、ダウンロードしてローカルまたはコンテナ・レジストリにステージングしたバージョンです。 |
<PVSERVER> |
|
NFSサーバーの名前またはIPアドレス。 ノート: この名前は、Kubernetesクラスタ内で解決可能である必要があります。 |
<OAMNS> |
oamns |
OAMオブジェクトを格納するために使用されるドメイン・ネームスペース。 |
<WORKDIR> |
|
OAMの作業ディレクトリを作成する場所。 |
<K8_WORKDIR> |
|
Kubernetesコンテナ内の作業ディレクトリ。 |
<OAM_SHARE> |
|
永続ストアのNFSエクスポート。 |
<OAM_DB_SCAN> |
|
データベース・クラスタのSCANアドレス。 |
<OAM_DB_LISTENER> |
|
データベース・リスナーのポート番号 |
<OAM_DB_SERVICE> |
|
使用するデータベース・サービスの名前。 |
<OAM_DB_SYS_PWD> |
|
データベースのSYSパスワード。 |
<OAM_RCU_PREFIX> |
|
データベース・スキーマの作成時に使用される接頭辞。 |
<OAM_COOKIE_DOMAIN> |
|
OAM Cookieを関連付けるドメインで、これは通常、ドメイン形式の<LDAP_SEARCHBASE>と同じです。 |
<OAM_OIG_INTEG> |
|
Oracle Identity Governanceでパスワードを忘れた場合の機能に対応するには、このパラメータを |
<OAM_SCHEMA_PWD> |
|
作成される製品スキーマに設定するパスワード。 |
<OAM_DOMAIN_NAME> |
|
作成されるKubernetesドメインの名前。 |
<OAM_DOMAIN_SECRET> |
|
使用されるネームスペースに対して作成するシークレットの名前。シークレットの名前は |
<OAM_ADMIN_LBR_HOST> |
|
OAM管理機能の仮想ホスト。 |
<OAM_RCU_SECRET> |
|
RCUシークレットの名前。シークレットの名前は |
<OAM_LOGIN_LBR_HOST> |
|
ログイン・ロード・バランサ仮想名の名前。 |
<OAM_LOGIN_LBR_PROTOCOL> |
|
ログイン・ロード・バランサに使用されるアクセス・プロトコルのタイプ。SSL終端環境では、この値は |
<OAM_LOGIN_LBR_PORT> |
|
ログイン・ロード・バランサ仮想名のポート。 |
<OAM_OAP_HOST> |
|
レガシーWebGate通信のための、外部で解決可能なホスト名。このホストは、1つのKubernetesワーカー・ノードか、複数のKubernetesワーカー・ノードを指し示すロード・バランサ・エントリ・ポイントのいずれかです。 Kubernetesクラスタ内でのみ対話している場合、ホスト名は |
<OAP_MODE> |
|
WebGateからのネイティブOAPコールを使用している場合に使用するOAPセキュリティ・モード。OAMとの対話は、RESTを介してOAPを使用して行うことをお薦めします。その場合、転送モードは使用されません。これらのシナリオでは、証明書を管理する必要がなくなるように、<OAP_MODE>を |
<WG_CONNECTIONS> |
|
WebGateエージェントでサポートされる接続の最大数。 |
<OAM_SERVER_COUNT> |
|
必要な管理対象サーバーの数。この値は、システムの存続期間中に予想されるニーズより大きい数に設定することを強くお薦めします。これにより、WebLogicドメインに複数のサーバー定義が作成され、需要の増加時にシステムをスケール・アップする単純なメカニズムが確保されます。この値は、実際に起動するサーバー・インスタンスの数を反映するものではなく、ニーズの変化に応じて追加のサーバーを起動できます。ドメイン作成後のサーバー定義の追加は複雑なタスクであるため、可能であれば避けてください。 |
<OAM_INITIAL_SERVERS> |
|
起動する管理対象サーバーの数。この値は、構成期間中は1に設定することをお薦めします。 |
<OAM_MAX_CPU> |
|
各 |
<OAM_CPU> |
|
各 |
<OAM_MAX_MEMORY> |
|
|
<OAM_MEMORY> |
|
|
<OAMSERVER_JAVA_PARAMS> |
|
各
OAM_SERVER に割り当てられる最大(Xmx)および最小ヒープ・サイズ。このサイズはMb数で表されます。
ノート: ヒープ・サイズの最大量は、ポッド<OAM_MAX_MEMORY>で使用できる最大量より小さくする必要があります |
<LDAP_HOST> |
OUDの場合、この値は |
LDAPディレクトリが実行されているホストの名前。 |
<LDAP_PORT> |
|
LDAPへの接続に使用されるポート。ディレクトリがKubernetes環境に格納されている場合、これは内部Kubernetesサービス・ポートになります。ディレクトリがKubernetesの外部にある場合、通常のLDAPポートになります。 |
<LDAP_ADMIN_USER> |
cn=oudadmin |
ディレクトリ管理者のユーザー名。 |
<LDAP_SEARCHBASE> |
dc=example,dc=com |
組織のディレクトリ・ツリー。これは、すべてのデータが格納される場所です。 |
<LDAP_GROUP_SEARCHBASE> |
cn=Groups,dc=example,dc=com |
グループ/ロールが格納されるディレクトリ内の場所。 |
<LDAP_USER_SEARCHBASE> |
cn=Users,dc=example,dc=com |
ユーザーの名前が格納されるディレクトリ内の場所。 |
<LDAP_SYSTEMIDS> |
cn=systemids,dc=example,dc=com |
システムIDを格納するコンテナの名前。このコンテナに配置されたユーザー名は、OIMリコンシリエーションまたはパスワード・エージングの対象ではありません。このコンテナは、<LDAP_OAMLDAP_USER>や<LDAP_OIGLDAP_USER>などのユーザー用に予約されています。 |
<LDAP_TYPE> |
|
これは、ディレクトリのタイプ(OUDまたはOID)です。 |
<LDAP_WLSADMIN_USER> |
weblogic_iam |
WebLogicドメインを管理するユーザーの名前。 この名前は、シングル・サインオン認証に使用されるLDAPユーザー名です。<OAM_WEBLOGIC_USER>は、ドメイン作成プロセス中に割り当てられた内部WebLogicユーザー名です。 |
<LDAP_OAMADMIN_USER> |
oamadmin |
OAMを管理するユーザーの名前。 |
<LDAP_OAMLDAP_USER> |
oamLDAP |
OAMがディレクトリに接続してログインを検証するために使用するユーザーの名前。 |
<LDAP_WLSADMIN_GRP> |
WLSAdministrators |
このロールに割り当てられたユーザーは、WebLogic管理コンソールおよびFMW Controlにログインできます。 |
<LDAP_OAMADMIN_GRP> |
OAMAdministrators |
このロールに割り当てられたユーザーは、OAM管理コンソールにログインしてOAMを構成できます。 |
<OAM_OAP_SERVICE_PORT> |
|
OAM OAPリクエストのKubernetesサービス・ポート。 |
<OAM_ADMIN_PORT> |
|
OAM管理サーバーに割り当てられた内部ポート。 |
<OAM_OAP_PORT> |
|
内部OAPポート番号。 Kubernetesサービスを使用している場合、この値を内部ポート番号にできます。 |
<OAP_SERVICE_PORT> |
|
OAM OAPクラスタ・ノードに面しているKubernetesサービス・ポート。Kubernetesサービスを使用している場合、この値を内部ポート番号にできます。 |
<OAM_EXT_T3_PORT> |
|
外部T3ポート。 |
<OAM_OAM_K8> |
|
OAM管理対象サーバーのKubernetesサービス・ポート。 |
<OAM_POLICY_K8> |
|
OAMポリシー・マネージャ・サーバーのKubernetesサービス・ポート。 |
<OAM_ADMIN_K8> |
|
外部WebLogic管理サーバーの外部OAM WebLogic Kubernetesサービス・ポート。 |
<ELK_HOST> |
|
集中管理型のElasticsearchデプロイメントのホストおよびポート。このホストは、Kubernetesクラスタの中と外のどちらでもかまいません。このホストは、Elasticsearchが使用されている場合にのみ使用されます。 |
<ELK_VER> |
|
使用するElasticsearchのバージョン。 |
親トピック: 初期インフラストラクチャ・ドメインについて
Kubernetesサービス
表18-2 Kubernetes NodePortサービス
サービス名 | タイプ | サービス・ポート | マップ済ポート |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ノート: |
|
表18-3 イングレス・サービス
サービス名 | ホスト名 |
---|---|
|
|
|
|
親トピック: 初期インフラストラクチャ・ドメインについて
KubernetesインフラストラクチャへのOracle Access Manager (OAM)のインストール
OAM Kubernetesインフラストラクチャを作成する前に、Oracle Access Managerイメージをダウンロードし、Oracle WebLogic Operatorをインストールしておく必要があります。
- Oracle Access Managerイメージをダウンロードしてコンテナ・イメージ・リポジトリにロードするには(このリポジトリは各Kubernetesノードに認識される必要があります)、「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。
- Oracle WebLogic Operatorをインストールするには、「WebLogic Kubernetes Operatorのインストールと構成」を参照してください。
- 前提条件
KubernetesインフラストラクチャにOracle Access Manager (OAM)を作成する前に、Oracle Access Managerコンテナ・イメージをダウンロードし、Oracle WebLogic Operatorをインストールしておく必要があります。
前提条件
KubernetesインフラストラクチャにOracle Access Manager (OAM)を作成する前に、Oracle Access Managerコンテナ・イメージをダウンロードし、Oracle WebLogic Operatorをインストールしておく必要があります。
- Oracle Access ManagerイメージをダウンロードしてDockerイメージ・リポジトリにロードするには(このリポジトリは各Kubernetesノードに認識される必要があります)、「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。
- Oracle WebLogic Operatorをインストールするには、「WebLogic Kubernetes Operatorのインストールと構成」を参照してください。
製品固有の作業ディレクトリの設定
インストールを開始する前に、Oracle Access Managerコンテナ・イメージおよびサンプル・コード・リポジトリをダウンロードしてステージングしておく必要があります。「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。
また、「WebLogic Kubernetes Operatorのインストール」の説明に従って、Oracle WebLogic Operatorをデプロイしている必要があります。
この項では、ダウンロードしたサンプル・デプロイメント・スクリプトをOAMの構成ホストの一時作業ディレクトリにコピーする手順について説明します。
- インストール・ユーザーとして一時作業ディレクトリを作成します。インストール・ユーザーには、Kubernetesクラスタへの
kubectl
アクセス権が必要です。mkdir -p /<WORKDIR>
たとえば:mkdir -p /workdir/OAM
- ディレクトリをこの場所に変更します:
cd /workdir/OAM
- サンプル・スクリプトを作業ディレクトリにコピーします。
cp -R <WORKDIR>/fmw-kubernetes/OracleAccessManagement/kubernetes <WORKDIR>/samples
たとえば:cp -R /workdir/OAM/fmw-kubernetes/OracleAccessManagement/kubernetes /workdir/OAM/samples
親トピック: 前提条件
Oracle Access Managerのネームスペースの作成
すべてのOracle Access Manager Kubernetesオブジェクトを含むネームスペースを作成します。
- ネームスペースを作成するには、次のコマンドを使用します:
kubectl create namespace oamns
出力が次のように表示されます。
namespace/oamns created
- WebLogic Kubernetes Operatorで管理できるようにネームスペースをタグ付けします。
kubectl label namespaces oamns weblogic-operator=enabled
コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。
コンテナ・イメージをローカルにステージングした場合は、このステップを実行する必要はありません。
kubectl create secret -n <OAMNS> docker-registry <REGISTRY_SECRET_NAME> --docker-server=<REGISTRY_ADDRESS> --docker-username=<REG_USER> --docker-password=<REG_PWD>
kubectl create secret -n oamns docker-registry regcred --docker-server=iad.ocir.io/mytenancy --docker-username=mytenancy/oracleidentitycloudservice/myemail@email.com --docker-password=<password>
Docker HubイメージのKubernetesシークレットの作成
このシークレットを使用すると、Kubernetesはhelm
、kubectl
、logstash
コマンドなど、サードパーティのイメージを含むhub.docker.com
からイメージをプルできます。
ノート:
独自のコンテナ・レジストリからイメージをプルする場合、このステップは必要ありません。hub.docker.com
にアカウントが必要です。イメージを独自のリポジトリにステージングする場合は、それを実行し、helm
オーバーライド・ファイルを適宜変更できます。
hub.docker.com
にKubernetesシークレットを作成するには、次のコマンドを使用します:
$ kubectl create secret docker-registry dockercred --docker-server="https://index.docker.io/v1/" --docker-username="<DH_USER>" --docker-password="<DH_PWD>" --namespace=<OAMNS>
$ kubectl create secret docker-registry dockercred --docker-server="https://index.docker.io/v1/" --docker-username="username" --docker-password="<mypassword>" --namespace=oamns
Access Manager用のデータベース・スキーマの作成
Oracle Fusion Middlewareコンポーネントでは、データベース内にスキーマが必要です。これらのスキーマは、デプロイメント時にWebLogicデプロイメント・ツールによって作成されます。
このツールは次のスキーマを作成します:
-
メタデータ・サービス(MDS)
-
監査サービス(IAU)
-
監査サービスへの追加(IAU_APPEND)
-
監査サービス・ビューア(IAU_VIEWER)
-
OPSS (Oracle Platform Security Services)
-
ユーザー・メッセージング・サービス(UMS)
-
WebLogicサービス(WLS)
-
共通インフラストラクチャ・サービス(STB)
-
Oracle Access Manager(OAM)
RCUの詳細とスキーマを作成してデータベースに格納する方法の詳細は、リポジトリ作成ユーティリティによるスキーマの作成でスキーマ作成の準備に関する項を参照してください。
動作保証されたデータベースをインストールおよび構成し、そのデータベースが稼働中であることを確認する必要があります。
「エンタープライズ・デプロイメント用の既存のデータベースの準備」を参照してください
Oracle Access Managerドメインの作成
Oracle Access Managerドメインを構成するには、ドメイン・ネームスペースのWebLogic Operatorを構成し、Kubernetesシークレットを作成して、Accessドメインを作成する必要があります。
Kubernetesシークレットの作成
ドメイン作成プロセスに資格証明を直接渡さずに、Kubernetesシークレットを使用して、暗号化された形式で資格証明を格納できます。WebLogic Operatorは、資格証明を要求するかわりに、これらのシークレットを読み取ります。
RCUシークレットの作成
RCUシークレットは、WebLogic Operatorが作成済のデータベース・スキーマに接続する方法を決定するために使用されます。「Access Manager用のデータベース・スキーマの作成」を参照してください。
RCUシークレットを作成するには、次のステップを実行します:
親トピック: Kubernetesシークレットの作成
Accessドメインの作成
アクセス・ドメインを作成する手順には、ドメイン構成ファイルの作成、WebLogic Kubernetes Operatorを使用したドメインの作成、メモリー・パラメータの設定、ドメインの初期化、およびドメインの確認が含まれます。
親トピック: Oracle Access Managerドメインの作成
ドメイン構成ファイルの作成
構成ファイルは、WebLogic Operatorにドメインの作成方法を指定するために使用されます。この構成ファイルは、create-domain-wdt.yaml
という名前で、<WORKDIR>/samples/create-access-domain/domain-home-on-pv/wdt-utils/generate_models_utils/create-domain-wdt.yaml
にあります。
親トピック: Accessドメインの作成
WDT補助イメージの生成
WebLogicデプロイメント・ツールを使用してドメインを作成すると、デプロイメントを記述する専用イメージが作成されます。これは、「ドメイン構成ファイルの作成」で説明されているドメイン作成ファイルに基づいています。このイメージは、ローカル・コンテナ・レジストリに格納されます。
構成で補助イメージを使用する利点は、プロパティがわずかに異なる複数の環境を作成するために繰り返し使用できることです。たとえば、同じイメージ・ファイルを使用して、データベース接続の詳細のみが異なる開発、テストおよび本番環境を作成できます。同様の環境を作成するたびに新しいイメージを作成する必要はありません。このイメージは、イメージがロードされるレジストリに格納する必要があり、ユーザーはこのレジストリへのアクセス権が必要です。
次の項では、WDTモデル・ファイルを生成し、補助イメージを作成して、それをリポジトリにアップロードする方法について説明します。
WDTモデル・ファイルの生成
次のステップを実行して、ドメイン構成ファイルからWDTモデル・ファイルを生成します:
- ディレクトリを、ダウンロードしたサンプルのWDT utilsディレクトリに変更します。
cd <WORKDIR>/samples/create-access-domain/domain-home-on-pv/wdt-utils/generate_models_utils
例:
cd /workdir/OAM//samples/create-access-domain/domain-home-on-pv/wdt-utils/generate_models_utils
generate_wdt_models.sh
ユーティリティを使用してモデル・ファイルを生成します。./generate_wdt_models.sh -i <WORKDIR>/create-domain-wdt.yaml -o <WORKDIR>
-i
を使用して、「ドメイン構成ファイルの作成」で作成したドメイン構成ファイルの場所を指定します。-o
を使用して、WDTモデル・ファイルおよびテンプレートを作成する場所を指定します。例:
./generate_wdt_models.sh -i /workdir/OAM/create-domain-wdt.yaml -o /workdir/OAM
ユーティリティの実行後、生成されたファイルを含む
weblogic-domains
というディレクトリが作成されます。
入力パラメータとサンプル出力
export version="create-weblogic-sample-domain-inputs-v1"
export adminPort="7001"
export domainUID="accessdomain"
export configuredManagedServerCount="5"
export initialManagedServerReplicas="1"
export productionModeEnabled="true"
export t3ChannelPort="30012"
export datasourceType="agl"
export edgInstall="true"
export domainHome="/u01/oracle/user_projects/domains/accessdomain"
export image="iad.ocir.io/<mytenancy>/oam:12.2.1.4-jdk8-ol8-240112"
export imagePullSecretName="regcred"
export logHome="/u01/oracle/user_projects/domains/logs/accessdomain"
export exposeAdminT3Channel="true"
export adminNodePort="30701"
export exposeAdminNodePort="true"
export namespace="oamns"
javaOptions=-Dweblogic.StdoutDebugEnabled=false
export domainPVMountPath="/u01/oracle/user_projects"
export weblogicDomainStorageType="NFS"
export weblogicDomainStorageNFSServer="nfsserver.example.com"
export weblogicDomainStoragePath="/exports/IAMPVS/oampv"
export weblogicDomainStorageReclaimPolicy="Retain"
export weblogicDomainStorageSize="10Gi"
export oamServerJavaParams="-Xms2048m -Xmx8192m"
export oamMaxCPU="1"
export oamCPU="500m"
export oamMaxMemory="8Gi"
export oamMemory="2Gi"
validateWlsDomainName called with accessdomain
WDT model file, property file and sample domain.yaml are genereted successfully at /workdir/OAM/weblogic-domains/accessdomain
イメージ・プロパティ・ファイルの作成
モデル・ファイルを作成したら、それらをイメージに追加し、レジストリにアップロードする必要があります(プロパティ・ファイルにターゲット・レジストリを記述することから始めます)。
次のステップを実行して、イメージ・プロパティ・ファイルを作成します:
- 次のコマンドを実行して、javaがマシンにインストールされていることを確認します:
which java
- プロパティ・ファイルを作業ディレクトリにコピーします。
cp <WORKDIR>/samples/create-access-domain/domain-home-on-pv/wdt-utils/build-domain-creation-image/properties/build-domain-creation-image.properties <WORKDIR>
例:
cp/workdir/OAM/samples/create-access-domain/domain-home-on-pv/wdt-utils/build-domain-creation-image/properties/build-domain-creation-image.properties /workdir/OAM
- ファイル
build-domain-creation-image.properties
を編集し、次の値を追加します:JAVA_HOME
は、これをステップ1にあるJAVAインストールの場所に設定します。たとえば、
./usr
-
REPOSITORY
は、これをイメージ・ファイルが存在するレジストリ内の場所に設定します。たとえば、
.iad.ocir.io/<mytenancy>/idm/oam_wdt
ここで、
oam_wdt
は、作成するイメージの名前です。 -
アップロードされたイメージにタグを割り当てるために使用される
IMAGE_TAG
は、ここでは何でも使用できます。この例では、<OAM_DOMAIN_NAME>
を使用できます。 -
レジストリへの認証されていないアップロードを許可しない場合は、
IMAGE_PUSH_REQUIRES_AUTH
をtrueに設定する必要があります。 -
REG_USER
は、イメージをアップロードするレジストリ内のユーザーに設定する必要があります。このユーザーにはアップロード権限が必要です。 -
WDT_MODEL_FILE
は、前述のステップで生成されたファイルoam.yaml
に設定する必要があります。たとえば、<WORKDIR>/weblogic-domains/<OAM_DOMAIN_NAME>/oam.yaml
です。 -
WDT_VARIABLE_FILE
は、前述のステップで生成されたファイルoam.properties
に設定する必要があります。たとえば、<WORKDIR>/weblogic-domains/<OAM_DOMAIN_NAME>/oam.properties
です。 -
REG_PWD
は、前述のユーザーのパスワードに設定し、次に示すように<WORKDIR>
にあるbuiidpwd
の別のファイルに配置する必要があります:REG_PASSWORD="<mypwd>"
サンプルの
build-domain-creation-image.properties
# Copyright (c) 2024, Oracle and/or its affiliates. # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. # Input Property file for build-domain-creation-image.sh script # # set the JAVA_HOME environment variable to match the location of your Java installation. Java 8 or newer is required # JAVA_HOME=/usr # # Image Details # #Set the IMAGE_TAG, default oam-aux-v1 if not set. IMAGE_TAG=accessdomain # Set the BASE_IMAGE, default ghcr.io/oracle/oraclelinux:8-slim if not set. BASE_IMAGE=ghcr.io/oracle/oraclelinux:8-slim # # Container Registry # #Image will be created with REPOSITORY:IMAGE_TAG REPOSITORY=iad.ocir.io<mytenancy>idm/oam_wdt # Container registry username REG_USER=<mytenancy>/oracleidentitycloudservice/my.user@example.com #Set it to false if authentication is not required for pushing the image to registry, for example docker login already done in the host before invoking the script. IMAGE_PUSH_REQUIRES_AUTH=true # # WDT and WIT Variables # #Full path to wdt model files WDT_MODEL_FILE=/workdir/OAM/weblogic-domains/accessdomain/oam.yaml #Full path to wdt variable files WDT_VARIABLE_FILE=/workdir/OAM/weblogic-domains/accessdomain/oam.properties #Full path to wdt archive files WDT_ARCHIVE_FILE="" #If not set, Latest version will be used. WDT_VERSION="3.5.3" #If not set, latest will be used during every fresh run WIT_VERSION="1.12.1" #In Most cases, no need to use these parameters. Please refer https://oracle.github.io/weblogic-image-tool/userguide/tools/create-aux-image/ for details about them. TARGET="" CHOWN=""
-
WDT補助イメージのアップロード
ユーティリティbuild-domain-creation-image.sh
を使用して、補助イメージを作成およびアップロードします:
例:
cd <WORKDIR>/samples/create-access-domain/domain-home-on-pv/wdt-utils/build-domain-creation-image
./build-domain-creation-image.sh -i <WORKDIR>/build-domain-creation-image.properties -p <WORKDIR>/.buildpwd
例:
cd /workdir/OAM/samples/create-access-domain/domain-home-on-pv/wdt-utils/build-domain-creation-image
./build-domain-creation-image.sh -i /workdir/OAM/build-domain-creation-image.properties -p /workdir/OAM/.buildpwd
サンプル出力から抽出
[INFO ] Build successful. Build time=74s. Image tag=iad.ocir.io/<mytenancy>/idm/oam_wdt:accessdomain
Getting image source signatures
Copying blob sha256:432308aaf1ccdd6c69ff6e6f6d6c762e55e183284ca57d31228bd3578275f9a9
Copying blob sha256:8b4d3bacf0d79476c744efb9d80fc05c5e1298b2ce8c5ed88edc9a4a01198ba9
Copying blob sha256:c5a8db0bbcb50dce5017361d8a2c11f42b221f9e6842d439b562657a6669cc2a
Copying blob sha256:812776fce264cf4a8e82c7d839ba60603e449b47f52582b0a5d68e730fc0b01e
Copying blob sha256:0bcef3ba673ac9fd91ac95ae8c19fa3cb29a9ad107bec305e8772e2cc968ce2a
Copying blob sha256:b782e2701e7e72e55c4cd2e849f9dc9baf602d7eec7eb89ffda3329f9b784f36
Copying blob sha256:1d8523ddf53e8404bc9d4020673d36854e721cd878e209e2649acac359b2555a
Copying blob sha256:cd00e719df55595b05a92e0741a09ad88a07c0c67caa65c78902f3c00214c72f
Copying blob sha256:520d935025c94d503a6d9f31b029f5ee4c2f4b8a8326d94dbf2caa80f8c71151
Copying blob sha256:9a9ca1edb11ff224553c91c7cf5f032f68db7a5f45080b567db3d6e9dee25e4e
Copying blob sha256:1a47311837bde5a83fcb02ba004ed5f015c2c3d73172a7082126417db874bd1b
Copying config sha256:1ae5d3f21cd522491aff21083c6618f954f6a5684b31b958c28d23b7b8c096af
Writing manifest to image destination
Storing signatures
Pushed image iad.ocir.io/<mytenancy>/idm/oam_wdt:accessdomain to image repository
親トピック: Accessドメインの作成
domain.yamlの更新
domain.yaml
というファイルが<WORKDIR>/weblogic-domains/<OAM_DOMAIN_NAME>
ディレクトリに作成されました。このファイルは、WebLogicドメインの作成に使用されます。このファイルを使用する前に、作成した補助イメージをファイルに追加するために次を編集する必要があります domain.yaml
ファイルで変数%DOMAIN_CREATION_IMAGE%
を見つけ、それをbuild-domain-creation-image.properties
ファイルから取得した<REPOSITORY>:<IMAGE_TAG>
というイメージの名前に置き換えます。
iad.ocir.io/mytenancy/idm/oam_wdt:accessdomain
ノート:
イメージが存在するレジストリがOAMイメージが格納されているレジストリと異なる場合は、メイン・レジストリとは異なる名前を使用して、補助イメージ・レジストリの資格証明を持つ新しいシークレットを作成します。
たとえば:
kubectl create secret -n oamns docker-registry regcred2 --docker-server=iad.ocir.io/mytenancy2 --docker-username=mytenancy/oracleidentitycloudservice/myemail@email.com --docker-password=<password>
ファイルdomain.yaml
を更新し、行を新しいシークレットの名前で置き換えます。
ドメイン作成イメージに別のレジストリを使用している場合は、別のシークレット名を追加します。
イメージをプルするための資格証明を含むシークレットを識別します。
imagePullSecrets:
- name: regcred2
親トピック: Accessドメインの作成
WebLogic Operatorを使用したドメインの作成
cd <WORKDIR>/weblogic-domains/<OAM_DOMAIN_NAME>
kubectl create -f <WORKDIR>/weblogic-domains/<OAM_DOMAIN_NAME>/domain.yaml
cd /workdir/OAM/weblogic-domains/accessdomain
kubectl create -f /workdir/OAM/weblogic-domains/accessdomain/domain.yaml
次を使用して、ドメインの作成をモニターします:
kubectl logs -n <OAMNS> <OAM_DOMAIN_DOMAIN>-introspector
kubectl describe domain -n <OAMNS> <OAM_DOMAIN_NAME>
例:
kubectl logs -n oamns accessdomain-introspector
kubectl describe domain -n oamns accessdomain
詳細は、WebLogicオペレータ・ログを参照してください。
例:
kubectl logs -n opns weblogic-operator-688f5dcdc4-qxnnz | grep <OAM_DOMAIN_NAME>
ドメインの作成後、OAM Kubernetesポッドが自動的に起動されます。次のコマンドを使用して表示できます:
kubectl get pods -n <OAMNS>
親トピック: Accessドメインの作成
ドメインの確認
ドメインの作成を確認するには、次のステップを実行します:
- ドメインが作成されたことを確認するには、次のコマンドを使用します:
kubectl describe domain <OAM_DOMAIN_NAME> -n <OAMNS>
たとえば:kubectl describe domain accessdomain -n oamns
- 次のコマンドを使用して、ドメイン・ポッドとサービスが作成されたことを確認します:
kubectl get all,domains -n oamns
出力は次のようになります:NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR service/accessdomain-adminserver ClusterIP None <none> 7001/TCP 22m weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=AdminServer service/accessdomain-adminserver-external NodePort 10.97.64.5 <none> 7001:30701/TCP 3h46m weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=AdminServer service/accessdomain-cluster-oam-cluster ClusterIP 10.108.180.115 <none> 14100/TCP 3h21m weblogic.clusterName=oam_cluster,weblogic.createdByOperator=true,weblogic.domainUID=accessdomain service/accessdomain-cluster-policy-cluster ClusterIP 10.99.138.102 <none> 15100/TCP 3h21m weblogic.clusterName=policy_cluster,weblogic.createdByOperator=true,weblogic.domainUID=accessdomain service/accessdomain-oam-policy-mgr1 ClusterIP None <none> 15100/TCP 9m48s weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=oam_policy_mgr1 service/accessdomain-oam-policy-mgr2 ClusterIP 10.96.151.188 <none> 15100/TCP 9m48s weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=oam_policy_mgr2 service/accessdomain-oam-server1 ClusterIP None <none> 14100/TCP 9m48s weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=oam_server1 service/accessdomain-oam-server2 ClusterIP None <none> 14100/TCP 9m48s weblogic.createdByOperator=true,weblogic.domainUID=accessdomain,weblogic.serverName=oam_server2
ノート:
kubectl logs accessdomain-adminserver -n oamns
kubectl logs accessdomain-oam-policy-mgr1 -n oamns
kubectl logs accessdomain-oam-server1 -n oamns
親トピック: Accessドメインの作成
Kubernetesサービスの作成
デフォルトでは、OAMドメインは、ClusterIP
サービスとして構成されたすべてのコンポーネント(管理サーバーを除く)を使用して作成されます。つまり、Oracle Access Managerコンポーネントは、Kubernetesクラスタ内でのみ認識されます。
エンタープライズ・デプロイメントでは、WebLogicコンポーネントとのすべての対話は、Kubernetesクラスタの外部にあるOracle HTTP Serverを介して行われます。追加サービスを作成して、WebLogicコンポーネントを外部に公開する必要があります。NodePortサービスまたはイングレス・コントローラを使用できます。
NodePortサービスの作成
次に示すOAMの各コンポーネントに対してNodePortサービスを作成する必要があります:
OAPレガシーNodePortサービスの作成
OAPプロトコルを使用してOAMと通信するレガシーWebGateを使用している場合は、追加のサービスを作成する必要があります。
OAMレガシーNodePortサービスを作成するには:
親トピック: NodePortサービスの作成
イングレス・サービスの作成
イングレス・サービスを作成するには、最初にイングレス・コントローラを作成する必要があります。インストール手順の詳細は、「イングレス・コントローラのインストールと構成」を参照してください。
イングレス・サービスは製品ネームスペース内に作成されます。これにより、ネームスペース内でリクエストを転送する方法がイングレス・コントローラに指示されます。
ノート:
次の例では、2つのイングレス・サービス(各OAM仮想ホストに1つずつ)を作成します。iadadmin.example.com
login.example.com
イングレス・サービスを作成するには:
親トピック: Kubernetesサービスの作成
OAM ClusterIPサービスの作成
OAP接続用のClusterIPサービスを作成します。
oap_clusterip.yaml
ファイルを作成します:kind: Service
apiVersion: v1
metadata:
name: <OAM_DOMAIN_NAME>-oap
namespace: <OAMNS>
spec:
type: ClusterIP
selector:
weblogic.clusterName: oam_cluster
ports:
- port: 5575
protocol: TCP
次のコマンドを使用して、サービスを作成します:
kubectl create -f /workdir/OAM/oap_clusterip.yaml
service/accessdomain-oap created
親トピック: Kubernetesサービスの作成
サービスの検証
kubectl get service -n oamns
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
accessdomain-adminserver ClusterIP None <none> 30012/TCP,7001/TCP 4d15h
accessdomain-adminserver-ext NodePort 10.96.127.191 <none> 30012:30012/TCP,7001:30701/TCP 4d15h
accessdomain-cluster-oam-cluster ClusterIP 10.96.43.35 <none> 14100/TCP 4d15h
accessdomain-cluster-policy-cluster ClusterIP 10.96.8.16 <none> 15100/TCP 4d15h
accessdomain-oam-nodeport NodePort 10.96.104.168 <none> 14100:30410/TCP 4d15h
accessdomain-oam-policy-mgr1 ClusterIP None <none> 15100/TCP 4d15h
accessdomain-oam-policy-mgr2 ClusterIP None <none> 15100/TCP 4d15h
accessdomain-oam-policy-mgr3 ClusterIP 10.96.36.96 <none> 15100/TCP 4d15h
accessdomain-oam-policy-mgr4 ClusterIP 10.96.171.61 <none> 15100/TCP 4d15h
accessdomain-oam-policy-mgr5 ClusterIP 10.96.200.171 <none> 15100/TCP 4d15h
accessdomain-oam-server1 ClusterIP None <none> 14100/TCP 4d15h
accessdomain-oam-server2 ClusterIP None <none> 14100/TCP 4d15h
accessdomain-oam-server3 ClusterIP 10.96.93.51 <none> 14100/TCP 4d15h
accessdomain-oam-server4 ClusterIP 10.96.223.123 <none> 14100/TCP 4d15h
accessdomain-oam-server5 ClusterIP 10.96.143.94 <none> 14100/TCP 4d15h
accessdomain-oap ClusterIP 10.96.171.107 <none> 5575/TCP 4d15h
accessdomain-policy-nodeport NodePort 10.96.169.250 <none> 15100:30510/TCP 4d15h
親トピック: Kubernetesサービスの作成
ドメインの更新
最初にドメインを作成したときに、一部の情報が欠落する可能性があります。この情報は、単純なcurl
スクリプトを使用して追加できます。
- 内部で解決可能なホスト名を各OAMサーバーに追加します。
- 各OAMサーバーのOAPポート番号を設定します。
- ローカル・ホスト名をロード・バランサ・ホスト名に置き換えるOAP設定を変更します。
- 既存のWebGateエージェントでOracle 12c WebGate HTTP OAM APIのRESTポイントを更新します。
- ロード・バランサを使用するようにフェデレーション・エントリ・ポイントを更新します。
- すぐに使用できるWebGateエージェントでレガシーWebGateのOAPセキュリティ・モードを変更します。
- タイムアウト設定を更新します。
- すぐに使用できるWebGateの接続の最大数を更新します。
Oracle Access Managementドメイン用の構成後タスクの実行
OAMドメインの構成後タスクには、サーバー・オーバーライド・ファイルの作成およびデータ・ソースの更新が含まれます。
特定のワーカー・ノードへのポッドの制限
OAMサーバーを特定のワーカー・サーバーのセットでのみ起動するようにするには、次のステップを実行します:
Kubernetesワーカー・ノードのラベル付け
スケジューリングに含めるワーカー・ノードにラベルを付けます。これは必要に応じて詳細に設定できます。たとえば、OAMプロセスをノードのセットで実行するようにスケジュールする場合は、そのセットにoamservers
などのラベルを付けます。管理サーバーが特定のワーカー・ノードのセットで実行され、oam_server
が別のセットで実行されるように指定する場合は、oamadmin
とoamservers
という2つのラベルを作成します。
kubectl label node worker1 name=oamservers
親トピック: 特定のワーカー・ノードへのポッドの制限
ラベルへのプロセスの制限
domain.yaml
ファイルを編集します:<WORKDIR>/samples/create-access-domain/domain-home-on-pv/output/weblogic-domains/<OAM_DOMAIN_NAME>/
/workdir/OAM/samples/create-access-domain/domain-home-on-pv/output/weblogic-domains/accessdomain/
クラスタに構成されているすべての管理対象サーバーについて「管理対象サーバー」セクションを変更し、ラベル付けされたワーカー・ノードのみがスケジューリングに使用されるようにします。
oam_server1
およびoam_server2
の場合、エントリは次のようになります: managedServers:
- serverName: oam_server1
serverPod:
nodeSelector:
name: oamservers
- serverName: oam_server2
serverPod:
nodeSelector:
names: oamservers
親トピック: 特定のワーカー・ノードへのポッドの制限
サーバー・オーバーライド・ファイルの作成
serverOverrides
ファイルは、コンテナの起動時に特定のJava値を設定するために使用されます。パラメータがsetDomainEnv.sh
ファイルの構成に追加されます。ただし、setDomainEnv.sh
ファイルとは異なり、serverOverrides
ファイルはアップグレード中に上書きされません。
Derbyデータベースの無効化
親トピック: サーバー・オーバーライド・ファイルの作成
管理対象サーバーでのIPv4ネットワーキングの使用の有効化
管理対象サーバーがIPv6ネットワーキングを使用するように構成されている場合、管理対象サーバーの起動時に問題が発生する可能性があります。このため、管理対象サーバーでIPv4ネットワーキングの使用を有効化する必要があります。
親トピック: サーバー・オーバーライド・ファイルの作成
IAMAccessDomainでのメモリー・パラメータの設定
メモリー使用量を定義するIAMAccessDomainの初期起動パラメータは十分ではありません。このパラメータの値を増やす必要があります。
メモリー割当て設定を変更するには:
親トピック: サーバー・オーバーライド・ファイルの作成
Kubernetesコンテナへのサーバー・オーバーライドのコピー
Kubernetes環境では、コンテナ内にエディタはありません。この問題を回避するには、マスター・ノードでファイルを作成し、次のコマンドを使用してKubernetesコンテナにコピーします:
chmod 755 /workdir/OAM/setUserOverrides.sh
kubectl cp <WORKDIR>/setUserOverrides.sh <OAMNS>/<OAM_DOMAIN_NAME>-adminserver:/u01/oracle/user_projects/domains/<OAM_DOMAIN_NAME>/bin/setUserOverrides.sh
kubectl cp /workdir/OAM/setUserOverrides.sh oamns/accessdomain-adminserver:/u01/oracle/user_projects/domains/accessdomain/bin/setUserOverrides.sh
親トピック: サーバー・オーバーライド・ファイルの作成
ドメインの再起動
変更を有効にするには、ドメインを再起動します。
kubectl -n <OAMNS> patch domains <OAM_DOMAIN_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
kubectl -n <OAMNS> patch domains <OAM_DOMAIN_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "IfNeeded" }]'
ノート:
次のコマンドを使用して、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)が停止したことを確認します:
kubectl -n <OAMNS> get all
管理サーバーまたは管理対象サーバーのエントリがない場合、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)は停止します。
kubectl -n oamns patch domains accessdomain --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
kubectl -n oamns patch domains accessdomain --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "IfNeeded" }]'
管理サーバーの検証
構成ステップを実行する前に、管理サーバーにインストールおよび構成されているOracle WebLogic Server管理コンソールおよびOracle Enterprise Manager Fusion Middleware Controlにアクセスできることを確認し、管理サーバーが正常に起動したことを確認します。
ノート:
検証が機能するには、Kubernetesワーカー・ノードと通信できるブラウザが必要です。http://k8worker1.example.com:30701/em
http://k8worker1.example.com:30701/console
WebLogic Server 12cのデフォルトCoherenceクラスタからのOAMサーバーの削除
WebLogic Server管理コンソールを使用して、デフォルトのWebLogic Server 12c CoherenceクラスタからすべてのOracle Access Management (OAM)クラスタ(ポリシー・マネージャおよびOAMランタイム・サーバーを含む)を除外します。
WebLogic Serverのチューニング
最小スレッド制約を追加し、最大スレッド制約と容量制約を削除することで、最適なパフォーマンスを実現するようにWebLogic Serverをチューニングします。
ワーカー・マネージャOAPOverRestWM
への最小スレッド制約の追加
- WebLogic Serverコンソール(
http://k8worker1.example.com:30701/console
)にログインします。 - 「ロックして編集」をクリックします。
- 「ドメイン構造」で、「デプロイメント」をクリックします。
- 「デプロイメント」ページで、
oam_server
が表示されるまで「次」をクリックします。 - 「+」アイコンをクリックして
oam_server
を展開し、「/iam/access/binding」をクリックします。 - 「構成」タブ、「ワークロード」タブの順にクリックします。
- wm/OAPOverRestWMをクリックします。
- 「アプリケーション・スコープのワーク・マネージャ・コンポーネント」で、「新規」をクリックします。
- 「新規ワーク・マネージャ・コンポーネントの作成」で、「最小スレッド数制約」を選択し、「次」をクリックします。
- 「最小スレッド数制約のプロパティ」で、「数」に400と入力し、「終了」をクリックします。
- 「デプロイメント・プランの保存」で、「パス」を/u01/oracle/user_projects/domains/accessdomain/Plan.xmlに変更します。
- 「OK」をクリックし、「変更のアクティブ化」をクリックします。
最大スレッド制約と容量制約の削除
- WebLogic Serverコンソール(
http://k8worker1.example.com:30701/console
)にログインします。 - 「ロックして編集」をクリックします。
- 「ドメイン構造」で、「デプロイメント」をクリックします。
- 「デプロイメント」ページで、
oam_server
が表示されるまで「次」をクリックします。 - 「+」アイコンをクリックして
oam_server
を展開し、「/iam/access/binding」をクリックします。 - 「構成」タブ、「ワークロード」タブの順にクリックします。
- wm/OAPOverRestWMをクリックします。
- 「アプリケーション・スコープのワーク・マネージャ・コンポーネント」で、「容量」および最大スレッド数を選択し、「削除」をクリックします。
- 「ワーク・マネージャ・コンポーネントの削除」画面で、「OK」をクリックして削除します。
- 「構成の解放」をクリックします。
仮想化の有効化
Fusion Middleware Controlを使用して仮想化を有効にできます。
ドメインの再起動
変更を有効にするには、ドメインを再起動します。
kubectl -n <OAMNS> patch domains <OAM_DOMAIN_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
kubectl -n <OAMNS> patch domains <OAM_DOMAIN_NAME> --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "IfNeeded" }]'
ノート:
次のコマンドを使用して、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)が停止したことを確認します:
kubectl -n <OAMNS> get all
管理サーバーまたは管理対象サーバーのエントリがない場合、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)は停止します。
kubectl -n oamns patch domains accessdomain --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "Never" }]'
kubectl -n oamns patch domains accessdomain --type='json' -p='[{"op": "replace", "path": "/spec/serverStartPolicy", "value": "IfNeeded" }]'
LDAPを使用した構成および統合
OAMを構成してLDAPと統合するには、最初にグローバル・パスフレーズを設定する必要があります。次に、LDAPディレクトリを使用するようにOAMを構成します。さらに、Webgate_IDMエージェントが存在しない場合は作成し、最後に管理サーバーに格納されているMBeanにアクセスするための管理権限をLDAPユーザーに割り当てます。
グローバル・パスフレーズの取得
デフォルトでは、Oracle Access Managerはオープン・セキュリティ・モデルを使用するように構成されています。idmConfigTool
を使用してこのモードを変更する場合は、グローバル・パスフレーズを知っている必要があります。デフォルトでは、Oracleによってグローバル・パスフレーズが作成されます。この値は、必要に応じてオーバーライドできます。
ノート:
OAP over RESTコールを使用して最新の12c WebGate機能を使用している場合は、RESTコールでOAP転送モードが使用されないため、セキュリティ・モードを変更することは重要ではありません。デフォルト・グローバル・パスフレーズの取得
WebGateエージェントの作成中に、グローバル・パスフレーズが必要になります。グローバル・パスフレーズを取得するには:
親トピック: グローバル・パスフレーズの取得
LDAPディレクトリを使用するためのAccess Managerの構成
初期インストールを完了してセキュリティ・モデルを設定したら、Oracle Access ManagerをLDAPディレクトリに関連付ける必要があります。Oracle Unified Directory (OUD)をLDAPディレクトリとして使用できます。
Access ManagerとLDAPディレクトリを関連付けるには、次のタスクを実行します:
構成ファイルの作成
LDAPを使用するようにOracle Access Managementを構成するには、idmConfigTool
ユーティリティを実行する必要があります。このため、oam.props
と呼ばれる構成ファイルを作成して、構成で使用する必要があります。このファイルの内容は次のとおりです:
#IDSTORE PROPERTIES
IDSTORE_HOST: <LDAP_HOSTNAME>
IDSTORE_PORT: <LDAP_PORT>
IDSTORE_BINDDN:<LDAP_ADMIN_USER>
IDSTORE_SEARCHBASE: <LDAP_SEARCHBASE>
IDSTORE_GROUPSEARCHBASE: <LDAP_GROUP_SEARCHBASE>
IDSTORE_USERNAMEATTRIBUTE: cn
IDSTORE_LOGINATTRIBUTE: uid
IDSTORE_USERSEARCHBASE: <LDAP_USER_SEARCHBASE>
IDSTORE_SYSTEMIDBASE: <LDAP_SYSTEMIDS>
IDSTORE_NEW_SETUP: true
IDSTORE_DIRECTORYTYPE: <LDAP_TYPE>
IDSTORE_WLSADMINUSER: <LDAP_WLSADMIN_USER>
IDSTORE_WLSADMINGROUP: <LDAP_WLSADMIN_GRP>
IDSTORE_OAMADMINUSER: <LDAP_OAMADMIN_USER>
IDSTORE_OAMSOFTWAREUSER: <LDAP_OAMLDAP_USER>
# OAM Properties
OAM11G_SERVER_LOGIN_ATTRIBUTE: uid
OAM11G_IDSTORE_NAME: OAMIDSTORE
OAM11G_IDSTORE_ROLE_SECURITY_ADMIN: <LDAP_OAMADMIN_GRP>
PRIMARY_OAM_SERVERS: <OAM_DOMAIN_NAME>-oap.<OAMNS>.svc.cluster.local:<OAM_OAP_PORT>
WEBGATE_TYPE: ohsWebgate12c
ACCESS_GATE_ID: Webgate_IDM
OAM11G_OIM_WEBGATE_PASSWD: <LDAP_USER_PWD>
COOKIE_DOMAIN: <OAM_COOKIE_DOMAIN>
COOKIE_EXPIRY_INTERVAL: 120
OAM11G_WG_DENY_ON_NOT_PROTECTED: true
OAM11G_IDM_DOMAIN_OHS_HOST: <OAM_LOGIN_LBR_HOST>
OAM11G_IDM_DOMAIN_OHS_PORT: <OAM_LOGIN_LBR_PORT>
OAM11G_IDM_DOMAIN_OHS_PROTOCOL: <OAM_LOGIN_LBR_PROTOCOL>
OAM11G_SERVER_LBR_HOST: <OAM_LOGIN_LBR_HOST>
OAM11G_SERVER_LBR_PORT: <OAM_LOGIN_LBR_PORT>
OAM11G_SERVER_LBR_PROTOCOL: <OAM_LOGIN_LBR_PROTOCOL>
OAM11G_OAM_SERVER_TRANSFER_MODE: open
OAM_TRANSFER_MODE: open
OAM11G_SSO_ONLY_FLAG: false
OAM11G_IMPERSONATION_FLAG: false
OAM11G_IDM_DOMAIN_LOGOUT_URLS: /console/jsp/common/logout.jsp,/em/targetauth/emaslogout.jsp
OAM11G_OIM_INTEGRATION_REQ: <OAM_OIG_INTEG>
OAM11G_OIM_OHS_URL: <OIG_LBR_PROTOCOL>://<OIG_LBR_HOST>:<OIG_LBR_PORT>/
# WebLogic Properties
WLSHOST:<OAM_DOMAIN_NAME>-adminserver.<OAMNS>.svc.cluster.local
WLSPORT: 7001
WLSADMIN: <OAM_WEBLOGIC_USER>
#IDSTORE PROPERTIES
IDSTORE_HOST: edg-oud-ds-rs-lbr-ldap.oudns.svc.cluster.local
IDSTORE_PORT: 1389
IDSTORE_BINDDN: cn=oudadmin
IDSTORE_SEARCHBASE: dc=example,dc=com
IDSTORE_GROUPSEARCHBASE: cn=Groups,dc=example,dc=com
IDSTORE_USERNAMEATTRIBUTE: cn
IDSTORE_LOGINATTRIBUTE: uid
IDSTORE_USERSEARCHBASE: cn=Users,dc=example,dc=com
IDSTORE_SYSTEMIDBASE: cn=systemids,dc=example,dc=com
IDSTORE_NEW_SETUP: true
IDSTORE_DIRECTORYTYPE: OUD
IDSTORE_WLSADMINUSER: weblogic_iam
IDSTORE_WLSADMINGROUP: WLSAdministrators
IDSTORE_OAMADMINUSER: oamadmin
IDSTORE_OAMSOFTWAREUSER: oamLDAP
# OAM Properties
OAM11G_SERVER_LOGIN_ATTRIBUTE: uid
OAM11G_IDSTORE_NAME: OAMIDSTORE
OAM11G_IDSTORE_ROLE_SECURITY_ADMIN: OAMAdministrators
PRIMARY_OAM_SERVERS: accessdomain-oap.oamns.svc.cluster.local:5575
WEBGATE_TYPE: ohsWebgate12c
ACCESS_GATE_ID: Webgate_IDM
OAM11G_OIM_WEBGATE_PASSWD: Password
COOKIE_DOMAIN: .example.com
COOKIE_EXPIRY_INTERVAL: 120
OAM11G_WG_DENY_ON_NOT_PROTECTED: true
OAM11G_IDM_DOMAIN_OHS_HOST: login.example.com
OAM11G_IDM_DOMAIN_OHS_PORT: 443
OAM11G_IDM_DOMAIN_OHS_PROTOCOL: https
OAM11G_SERVER_LBR_HOST: login.example.com
OAM11G_SERVER_LBR_PORT: 443
OAM11G_SERVER_LBR_PROTOCOL: https
OAM11G_OAM_SERVER_TRANSFER_MODE: open
OAM_TRANSFER_MODE: open
OAM11G_SSO_ONLY_FLAG: false
OAM11G_IMPERSONATION_FLAG: false
OAM11G_IDM_DOMAIN_LOGOUT_URLS: /console/jsp/common/logout.jsp,/em/targetauth/emaslogout.jsp
OAM11G_OIM_INTEGRATION_REQ: false
OAM11G_OIM_OHS_URL: https://prov.example.com:443/
# WebLogic Properties
WLSHOST:accessdomain-adminserver.oamns.svc.cluster.local
WLSPORT: 7001
WLSADMIN: weblogic
ノート:
WebLogic Kubernetesコンテナでvi
などのコマンドを使用することはできません。そのため、このファイルはコンテナの外部で作成してから、コンテナにコピーする必要があります。
/u01/oracle/user_projects/workdir
ディレクトリにコピーされます。このディレクトリがコンテナ内に存在しない場合は、最初にそれを作成する必要があります。kubectl exec -n <OAMNS>-ti accessdomain-adminserver mkdir <K8_WORKDIR>
kubectl exec -n oamns -ti accessdomain-adminserver mkdir /u01/oracle/user_projects/workdir
ディレクトリを作成したら、そのディレクトリにファイルをコピーします。
kubectl cp /workdir/OAM/oam.props oamns/accessdomain-adminserver:/u01/oracle/user_projects/workdir
idmConfigToolを使用したOracle Access ManagerとLDAPの統合
ノート:
idmconfigTool
を実行する前に、oam_server1
およびoam_server2
管理対象サーバーが停止されていることを確認します。
cd /workdir/OPER/samples/domain-lifecycle
./stopCluster.sh -c oam_cluster -d accessdomain -n oamns -v
Oracle Access ManagerをLDAPディレクトリに統合するには:
ノート:
idmConfigTool
を実行した後は、後続のタスクで必要になるファイルがいくつか作成されます。これらのファイルは安全な場所に格納してください。
ディレクトリ/u01/oracle/user_projects/domains/accessdomain/output/Webgate_IDM
には次のファイルがあります。
これらのファイルは、WebGateソフトウェアをインストールするときに必要になります。
cwallet.sso
ObAccessClient.xml
password.xml
aaa_cert.pem
aaa_key.pem
Webgate_IDMエージェントの作成
idmConfigToolでWebgate_IDM
エージェントを作成していないことが判明した場合は、作成できます。
Webgate_IDM
エージェントを作成するには:
親トピック: LDAPを使用した構成および統合
WebLogic管理者へのLDAPグループの追加
Oracle Access Managerでは、管理サーバー内に格納されているMBeanへのアクセスが必要です。LDAPユーザーがWebLogicコンソールとFusion Middleware Controlにログインできるようにするには、ユーザーにWebLogic管理権限を割り当てる必要があります。Oracle Access ManagerでこれらのMBeanを呼び出すには、OAMAdministratorsグループのユーザーにWebLogic管理権限が必要です。
WebLogicコンソールの使用
LDAPグループOAMAdministrators
およびWLSAdministrators
をWebLogic管理者に追加するには:
- WebLogic管理サーバー・コンソールにデフォルト管理ユーザーとしてログインします。たとえば、
weblogic
。 - コンソールの左ペインで「セキュリティ・レルム」をクリックします。
- 「セキュリティ・レルムのサマリー」ページの表「レルム」で「myrealm」をクリックします。
- 「myrealm」の「設定」ページで、「ロールとポリシー」タブをクリックします。
- 「レルム・ロール」ページの表「ロール」の「グローバル・ロール」エントリを開きます。
- 「ロール」リンクをクリックして、「グローバル・ロール」ページに移動します。
- 「グローバル・ロール」ページで、「管理」ロールをクリックして「グローバル・ロールの編集」ページに移動します。
- 「グローバル・ロールの編集」ページで、「ロール条件」表の「条件の追加」ボタンをクリックします。
- 「述部の選択」ページで、条件のドロップダウン・リストから「グループ」を選択し、「次へ」をクリックします。
- 「引数の編集」ページのグループ引数フィールドにOAMAdministratorsを指定し、「追加」をクリックします。
- グループWLSAdministratorsについても同様に繰り返します。
- 「終了」をクリックして、「グローバル・ロールの編集」ページに戻ります。
- 「ロール条件」表には、グループOAMAdministratorsまたはWLSAdministratorsがロール条件として表示されます。
- 「保存」をクリックして、OAMAdministratorsおよびIDM Administratorsグループへの管理ロールの追加を終了します。
親トピック: WebLogic管理者へのLDAPグループの追加
WebGateエージェントの更新
idmConfigTool
を実行すると、デフォルトのOAMセキュリティ・モデルが変更されて、新しいWebGate SSOエージェントが作成されます。ただし、既存のWebGate SSOエージェントが新しいセキュリティ・モデルに変更されることはありません。idmConfigTool
の実行後に、既存のWebGateエージェントを更新する必要があります。
WebGateエージェントを更新するには:
-
セキュリティ・モードを、OAMサーバーのモードと一致するように変更します。このようにしないと、セキュリティ不一致エラーになります。
-
最初のインストールで作成されたWebゲートは、高可用性(HA)インストールが実施されていることを認識しません。HAを有効化した後で、すべてのOAMサーバーがエージェント構成に含まれていることを確認して、システム継続性を確保する必要があります。
-
最初のインストールで作成されたWebゲートは、高可用性(HA)インストールが実施されていることを認識しません。ログアウトURLが、ローカルのOAMサーバーの1つではなく、ハードウェア・ロード・バランサにリダイレクトされることを確認する必要があります。
-
IAMSuiteAgentと呼ばれるWebゲートが出荷時に作成されています。これは、パスワード保護を使用せずに作成されているため、パスワード保護を追加する必要があります。
これらのアクションを実行するには、次のステップを実行します。
ホスト識別子の更新
ドメインにアクセスするときは、様々なロード・バランサ・エントリ・ポイントを使用して入ります。これらの各エントリ・ポイント(仮想ホスト)をポリシー・リストに追加する必要があります。これらのエントリ・ポイントを追加することで、login.example.com
またはprov.example.com
を使用したリソースへのアクセスをリクエストする場合に、同じポリシー・ルールのセットにアクセスできます。
ホスト識別子を更新するには:
OAMへの不足ポリシーの追加
ポリシーがない場合、Oracle Access Managerが正しく機能するように追加する必要があります。
次のポリシーを追加する必要があります:
表18-5 OAMポリシー情報
製品 | リソース・タイプ | ホスト識別子 | リソースURL | 保護レベル | 認証ポリシー | 認可ポリシー |
---|---|---|---|---|---|---|
すべて |
HTTP |
IAMSuiteAgent |
|
除外 |
||
すべて |
HTTP |
IAMSuiteAgent |
|
除外 |
||
すべて |
HTTP |
IAMSuiteAgent |
|
除外 |
||
すべて |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OAM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OIG |
HTTP |
IAMSuiteAgent |
|
除外 |
|
|
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OIG |
HTTP |
IAMSuiteAgent |
|
除外 |
|
|
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OIG |
HTTP |
IAMSuiteAgent |
|
保護 |
保護対象上位レベル・ポリシー |
保護対象リソース・ポリシー |
OUDSM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OIRI |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OIRI |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
/fido/** |
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OAA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OARM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OARM |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OUA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OUA |
HTTP |
IAMSuiteAgent |
|
除外 |
||
OUA |
HTTP |
IAMSuiteAgent |
/oaa-drss/** |
除外 |
ノート:
/otpfp
が必要なのは、パスワードを忘れた場合のOAM機能を実装してある場合のみです。
/management
は、WebLogicリモート・コンソールを使用している場合にのみ必要です。
これらのポリシーを追加するには:
Oracle Access ManagerでのOracle ADFおよびOPSSセキュリティの構成
一部のOracle Fusion Middleware管理コンソールでは、Oracle Access Managerシングル・サインオン(SSO)と統合可能なOracle Application Development Framework (Oracle ADF)セキュリティが使用されます。これらのアプリケーションではユーザー認証にOracle Platform Security Services (OPSS) SSOを利用できますが、まずドメイン・レベルのjps-config.xml
ファイルを構成して、これらの機能を有効にする必要があります。
ドメインレベルのjps-config.xml
ファイルは、Oracle Fusion Middlewareドメインの作成後に次の場所に配置されます。
/u01/oracle/user_projects/domain/<OAM_DOMAIN_NAME>/config/fmwconfig/jps-config.xml
ノート:
ドメインレベルのjps-config.xml
をカスタム・アプリケーションでデプロイされたjps-config.xml
と混同しないでください。
パスワードを忘れた場合の有効化
この項では、Oracle Access Managerで提供される、パスワードを忘れた場合のワンタイムPIN機能の設定方法について説明します
Oracle Identity Governanceで提供されている、パスワードを忘れた場合のチャレンジ質問機能を構成する場合は、「LDAPを使用した構成および統合」と「LDAPコネクタを使用したOracle Identity GovernanceとOracle Access Managerの統合」を参照してください。
パスワードを忘れた場合の有効化の前提条件
Oracle Access Managerでは、パスワードを忘れた場合の管理は、パスワードをリセットするためのリンクを電子メールまたはSMSメッセージで送信するという形で行われます。
電子メールまたはSMSは、Oracle User Messaging Serviceを使用して送信されます。Oracleのパスワードを忘れた場合の機能を有効化する前に、まずOracle User Messagingのデプロイメントが必要です。多くの場合はOracle Governance Domain内に存在しますが、インストールされているのがAccess Domainのみの場合は、Access Domain内に存在することもあります。または、完全に独立したドメインの可能性もあります。
パスワードを忘れた場合の機能が動作するのは、「エンタープライズ・デプロイメント用のシングル・サインオンの構成」で説明したとおり、シングル・サインオンを構成してある場合のみです。
ユーザー・メッセージング・サービスをAccess Domainに追加することや、ユーザー・メッセージング・サービス・ドメインを作成することは、このEDGの範囲外です。Oracle User Messaging Serviceのインストールと構成の詳細は、『Oracle User Messaging Serviceの管理』のユーザー・メッセージング・サービスのインストールに関する項および「Oracle User Messaging Serviceの構成」を参照してください。
親トピック: パスワードを忘れた場合の有効化
oamLDAPユーザーへの権限の追加
作成した当初から、oamLDAPユーザー(OAMをLDAPにリンクするユーザー)は、LDAPディレクトリのユーザー・データを読み取る権限を付与されます。ただし、oamLDAPユーザーは、ユーザー情報を更新する権限を付与されません。パスワードを忘れた場合のOAMの機能が動作するには、これらの権限を追加する必要があります。
- 任意のテキスト・エディタを使用して
ldif
ファイルをOUDホストの外部に作成してから、そのファイルをLDAPHOST1マシンにコピーします。このファイルには次の内容が含まれています:
dn: cn=Users,dc=example,dc=com changetype: modify add: aci aci: (targetattr = "*")(targetfilter= "(objectclass=inetorgperson)")(targetscope = "subtree") (version 3.0; acl "iam admin changepwd"; allow (compare,search,read,selfwrite,add,write,delete) userdn = "ldap:///cn=oamLDAP,cn=systemids,dc=example,dc=com";)
- ファイルを保存します。
ノート:
このファイルは、oudコンテナの外部で作成してから、コンテナにコピーする必要があります。
OUD構成永続ボリュームをインストール・ホストにマウントした場合は、その場所にファイルを直接作成できます。構成ファイルをマウントするには、「Oracle Unified Directoryのインストールおよび構成」を参照してください。
kubectl cp add_aci.ldif oudns/edg-oud-ds-rs-0:add_aci.ldif
ldapmodify
コマンドを実行するOUDノードに接続します:kubectl exec -it edg-oud-ds-rs-0 -n oudns -- /bin/bash
次のコマンドを使用して、OUDにACIを追加します:
/u01/oracle/user_projects/edg-oud-ds-rs-0/OUD/bin/ldapmodify -c -D cn=oudadmin -h edg-oud-ds-rs-lbr-ldap.oudns.svc.cluster.local -p 1389 -f /u01/oracle/config-input/add_aci.ldif
親トピック: パスワードを忘れた場合の有効化
アダプティブ認証プラグインの構成
アダプティブ認証サービスを有効にしたら、ユーザー・メッセージング・サービスについて通知する必要があります。
アダプティブ認証プラグインを構成するには:
親トピック: パスワードを忘れた場合の有効化
ディレクトリ内のパスワード管理の有効化
デフォルトでは、OAMはパスワード管理を有効にするように設定されません。OAMコンソールを使用して有効にする必要があります。
ディレクトリ内のパスワード管理を有効にするには:
親トピック: パスワードを忘れた場合の有効化
CSFへのユーザー・メッセージング資格証明の格納
ユーザー・メッセージング・サービスにアクセスするには、その前にWebLogic資格証明ストアに資格証明を格納する必要があります。
資格証明を格納するには:
親トピック: パスワードを忘れた場合の有効化
ログイン・ページ上のパスワードを忘れた場合のリンクの設定
次のREST APIコマンドを実行すると、OAMのデフォルト・ログイン・ページ上のパスワードを忘れた場合のOTPリンクが有効になります。
curl -X -k PUT \
https://login.example.com/oam/services/rest/access/api/v1/config/otpforgotpassword/ \
-u oamadmin:Password \
-H 'content-type: application/json' \
-d '{"displayOTPForgotPassworLink":"true","defaultOTPForgotPasswordLink":"false","localToOAMServer":"true","forgotPasswordURL":"https://login.example.com/otpfp/pages/fp.jsp", "mode":"userselectchallenge"}'
必要な属性と値を入力します。
表18-9 ログイン・ページ上のパスワードを忘れた場合のリンク
属性 | 値 |
---|---|
ForgotPasswordURL |
OAMのパスワードを忘れた場合のURL。たとえば、https://login.example.com/otpfp/pages/fp.jsp |
mode |
distribution_mode 配布モードによって、パスワード・リセットURLをエンド・ユーザーに送信する方法が決定されます。有効な値はemail、sms、userchoose、userselectchallengeです。最後のエントリでは、ユーザーはマスクされた値から選択できます。
|
ノート:
ロード・バランサで自己署名証明書を使用している場合、curlコマンドを実行すると、次のようなメッセージが表示される場合があります。デフォルトでは、curlは認証局(CA)公開キー(CA cert)のバンドルを使用して、SSL証明書検証を実行します。デフォルトのバンドル・ファイルが適切でない場合、--cacertオプションを使用して代替ファイルを指定できます。バンドルで表されるCAが署名した証明書がこのHTTPSサーバーで使用される場合、証明書の問題が原因で証明書検証が失敗した可能性があります(期限が切れたか、名前がURLのドメイン名と一致しない可能性があります)。curlによる証明書の検証をオフにするには、-k (または--insecure)オプションを使用します。
このメッセージが表示され、問題がないことがわかっている場合は、-u oamadmin:Passwordの後に-kを追加します。
ブラウザで次のURLにアクセスして、成功したことを検証します。
https://login.example.com/oam/services/rest/access/api/v1/config/otpforgotpassword
要求された場合は、oamadmin
アカウントとパスワードを入力します。
ノート:
このコマンドが成功するには、OAM管理対象サーバーのいずれかが実行されている必要があります。
親トピック: パスワードを忘れた場合の有効化
Oracleキーストア・サービスへのOracle Access Managerロード・バランサ証明書の追加
Oracle Access Managerのパスワードを忘れた場合の機能では、ロード・バランサによって使用されるSSL証明書を、Oracleキーストア・サービスの信頼できる証明書に追加する必要があります。
証明書を追加する手順は、次のとおりです。
親トピック: パスワードを忘れた場合の有効化
カスタム・ホスト名検証の構成
ワイルドカード証明書を使用する場合は、ホスト名検証のデフォルト値をBEA Hostname Verifierからカスタム値のweblogic.security.utils.SSLWLSWildcardHostnameVerifierに変更する必要があります。
ホスト名検証のデフォルト値を変更するには:
- WebLogic Server管理コンソールにログインします。
- 「ロックして編集」をクリックします。
- 「サーバーのサマリー」に移動し、「oam_server1」をクリックします。
- 「SSL」タブをクリックし、「詳細」セクションを開きます。
- 「ホスト名の検証」フィールドを「カスタム・ホスト名の検証」に設定します。
- 「カスタム・ホスト名の検証」フィールドに、weblogic.security.utils.SSLWLSWildcardHostnameVerifierと入力します。
- 「保存」をクリックします。
ノート:
これらのステップに従い、すべてのOAM管理対象サーバーのホスト名検証を変更します。親トピック: パスワードを忘れた場合の有効化
パスワードを忘れた場合の機能の検証
OIMへのオフロードではなく、パスワードを忘れた場合のOAMの機能を設定した場合、curlコマンドを使用して有効なパスワード・ポリシーを表示し、パスワードを忘れた場合の機能を検証できます。
パスワードを忘れた場合の機能を検証するには、次のcurl
コマンドを実行します:
curl -X GET https://login.example.com/oam/services/rest/access/api/v1/pswdmanagement/UserPasswordPolicyRetriever/oamadmin?description=true -u oamadmin:<password> -k
このコマンドによってパスワード・ポリシーが表示されます。
このコマンドが動作する場合は、次に示す保護されたURLにアクセスします。シングル・サインオンを有効にすると、ログイン・ページにパスワードを忘れた場合のリンクが表示されます。このリンクをクリックして、パスワードをリセットするユーザー名を入力します。「PINの生成」をクリックして電子メールを受信することで、パスワードを変更できます。
http://iadadmin.example.com/console
ノート:
検証する前に、「エンタープライズ・デプロイメント用のシングル・サインオンの構成」の説明に従ってSSOを有効にしてください。そうしないと、検証が失敗します。親トピック: パスワードを忘れた場合の有効化
初期サーバー数の設定
最初にドメインを作成したときに、1つの管理対象サーバーのみを起動するように指定しました。構成を完了したら、初期サーバー数を必要な実際の数まで増やすことができます。
kubectl patch cluster -n <OAMNS> <OAM_DOMAIN_NAME>-${CLUSTER_NAME} --type=merge -p '{"spec":{"replicas":<INITIAL_SERVER_COUNT>}}'
kubectl patch cluster -n oamns accessedomain-oam-cluster --type=merge -p '{"spec":{"replicas":2}}'
kubectl patch cluster -n oamns accessdomain-policy-cluster --type=merge -p '{"spec":{"replicas":2}}'
GrafanaとPrometheusによる集中管理型の監視
集中型のPrometheusおよびGrafanaを使用してインフラストラクチャを監視するには、次のステップを実行します:
WebLogicドメインへの監視アプリケーションのデプロイ
前の項では、監視アプリケーションを含むWARファイルを多数作成しました。「監視アプリケーションのダウンロードとコンパイル」を参照してください。これらのファイルは、WebLogicドメインにデプロイする必要があります。オラクル社では、このファイルをデプロイするスクリプトを用意しています。スクリプトを実行する前に、WebLogic管理サーバーが含まれるコンテナにファイルをコピーしてください。
アプリケーションを配置するには:
Prometheusオペレータの構成
Prometheusを使用すると、WebLogic Monitoring Exporterからメトリックを収集できます。Prometheusオペレータは、サービス検出を使用してターゲットを識別します。WebLogic Monitoring Exporterのエンド・ポイントをターゲットとして検出するには、サービスを指すサービス・モニターを作成する必要があります。
wls-exporter
からメトリックをエクスポートするには、basicAuth
が必要です。そのため、base64
でエンコードしたユーザー名とパスワードを使用して、Kubernetesシークレットを作成します。このシークレットは、ServiceMonitor
デプロイメントで使用されます。wls-exporter-ServiceMonitor.yaml
ファイルにはbasicAuth
が指定されており、資格証明のユーザー名は<OAM_WEBLOGIC_USER
>、パスワードは<OAM_WEBLOGIC_PWD
>で、base64
でエンコードされています。
ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
- OAM永続ボリューム(Logstashポッドによってロードされ、ログ・ファイルの検索が可能になります)。
- 永続ボリューム内のログ・ファイルの場所。
- 集中管理型のElasticsearchの場所。
Logstashポッドを構成するには、次のステップを実行します。Kubernetesクラスタ内のelkns
というネームスペースで、Elasticsearchが実行されていることを前提としています。
Elasticsearchのシークレットの作成
Logstashでは、Elasticsearchデプロイメントに接続するための資格証明が必要です。これらの資格証明は、シークレットとしてKubernetesに格納されます。
kubectl create secret generic elasticsearch-pw-elastic -n <OAMNS> --from-literal password=<ELK_APIKEY>
kubectl create secret generic elasticsearch-pw-elastic -n oamns --from-literal password=afshfashfkahf5f
kubectl create secret generic elasticsearch-pw-elastic -n <OAMNS> --from-literal password=<ELK_PWD>
kubectl create secret generic elasticsearch-pw-elastic -n oamns --from-literal password=mypassword
kubectl get secret elasticsearch-es-elastic-user -n <ELKNS> -o go-template='{{.data.elastic | base64decode}}'
ELK証明書の構成マップの作成
本番環境に対応したElasticsearchデプロイメントを構成した場合は、SSLが構成されています。Elasticsearchと通信できるよう、LogstashでElasticsearch証明書を信頼する必要があります。信頼を有効にするには、Elasticsearch証明書の内容で、構成マップを作成する必要があります。
Elasticsearchの自己署名証明書は、すでに保存されています。「Elasticsearch証明書のコピー」を参照してください。本番証明書がある場合は、かわりにそれを使用できます。
証明書を使用して構成マップを作成し、次のコマンドを実行します:
kubectl create configmap elk-cert --from-file=<WORKDIR>/ELK/elk.crt -n <OAMNS>
kubectl create configmap elk-cert --from-file=/workdir/ELK/elk.crt -n oamns
Logstashの構成マップの作成
Logstashは、OAMインストールのログ・ファイルを検索し、集中管理型のElasticsearchに送信します。ログ・ファイルが存在する場所とその送信先は、構成マップを使用してLogstashに指示されます。
構成のバックアップ
ベスト・プラクティスとして、ドメインを正常に拡張した後や別の論理ポイントで構成をバックアップすることをお薦めします。必ずここまでのインストールが成功していることを確認してからバックアップしてください。これは、後のステップで問題が発生した場合に即座にリストアを実行できるクイック・バックアップです。
Kubernetes環境では、永続ボリュームとデータベースをバックアップすれば十分です。
バックアップ先はローカル・ディスクです。エンタープライズ・デプロイメント設定が完了すると、このバックアップは破棄できます。エンタープライズ・デプロイメント設定が完了したら、バックアップとリカバリの通常のデプロイメント固有プロセスを開始できます。
構成をバックアップする方法の詳細は、「エンタープライズ・デプロイメントのバックアップとリカバリの実行」を参照してください。