14 Oracle Unified Directoryのインストールおよび構成
Kubernetesクラスタ内に、可用性の高い新しいOracle Unified Directory (OUD)デプロイメントを作成します。
この章の内容は次のとおりです。
- Oracle Unified Directoryの構成
Oracle Unified DirectoryはLDAP準拠ディレクトリで、スタンドアロン・エンティティとして使用することも、他のOracle Identity and Access Managementコンポーネントとともに使用することもできます。 - 製品固有の作業ディレクトリの設定
インストールを開始する前に、Oracle Unified Directory Service Managerコンテナ・イメージをダウンロードしてステージングしておくか、Oracle Container Registryおよびコード・リポジトリを使用している必要があります。 - Oracle Unified Directoryのデプロイについて
Helmを使用してOracle Unified Directory (OUD)を作成および構成することをお薦めします。 - Kubernetesネームスペースの作成
Oracle Unified Directoryのすべてのオブジェクトを含むネームスペースを作成する必要があります。 - コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用することをお薦めします。コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。 - Docker HubイメージのKubernetesシークレットの作成
このシークレットを使用すると、Kubernetesはhelm
、kubectl
、logstash
など、サードパーティのイメージを含むhub.docker.com
からイメージをプルできます。これらのコマンドは、OUD cronジョブで、「終了中」
状態から動かないポッドをテストし、必要に応じて再起動するために使用されます。 - 構成ファイルの作成
OUDのデプロイメントを開始する前に、一連の構成ファイルを作成する必要があります。これらのファイルは、OAMとOIGで必要なデータを構成およびシードするために使用されます。 - OUDコンテナの作成
最初にサーバー・オーバーライド・ファイルを作成し、次にHelm
コマンドを使用してOUDコンテナを作成します。 - OUDへの外部アクセスの作成
デフォルトでは、OUDデプロイメントは、ClusterIPサービスとして構成されたすべてのコンポーネントを使用して作成されます。つまり、Oracle Unified Directoryコンポーネントは、Kubernetesクラスタ内でのみ認識されます。 - GrafanaとPrometheusによる集中管理型の監視
OUD用に固有に収集されるメトリックはありません。ただし、Kibanaの標準のKubernetesダッシュボードを使用して、OUDポッドをモニターできます。 - ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
ElasticsearchとKibanaを使用している場合は、集中管理型のElasticearch/Kibanaコンソールにログ・ファイルを送信するようLogstashポッドを構成できます。Logstashポッドを構成する前に、集中管理型のElasticsearchデプロイメントにアクセスできることを確認してください。
上位トピック: 「エンタープライズ・ドメインの構成」
Oracle Unified Directoryの構成
Oracle Unified DirectoryはLDAP準拠ディレクトリで、スタンドアロン・エンティティとして使用することも、他のOracle Identity and Access Managementコンポーネントとともに使用することもできます。
この章では、Oracle Unified DirectoryをKubernetesクラスタ内にインストールする方法について説明します。また、他のOracle Identity and Access Managerコンポーネントに必要なデータをディレクトリにシードする方法についても説明します。
OUDをデプロイした後で、OUDポッドが実行されているKubernetesノードがポッド退避タイムアウト後に停止した場合、ポッドは退避されずに「終了中」
状態に移行します。その後、ポッドはいつまでもその状態のままになります。この問題を回避するために、OUDデプロイメント・プロセス中に、「終了中」
状態のポッドがないか確認し、それらを削除してからポッドを再起動するcronジョブが作成されます。cronジョブは、hub.docker.com
上のイメージにアクセスできる必要があります。したがって、これらのイメージにアクセスできるようにするためのKubernetesシークレットを作成する必要があります。
このジョブによって、helm
構成ファイルで指定した数のOUDインスタンスが常に実行されるようになります。
ノート:
- コンテナをアップグレードする場合は、
helm
チャートを永続ボリュームに再コピーする必要があります。 - Helm/Kubernetesバージョンを変更する場合は、
helm
ファイルを改訂バージョンで更新する必要があります。
サイズ設定のガイドライン
OUDをデプロイする際は、次の情報を参照して、初期のシステム・サイズを設定できます。サイズ設定の詳細は、Oracle Unified Directory 12.2.1.4.0のパフォーマンスの詳細を参照してください。
システム・サイズ | ユーザー数 | メモリー | JVMヒープ・サイズ(最小) | JVMヒープ・サイズ(最大) |
---|---|---|---|---|
開発 | - | 2GB | 1GB | 2GB |
小規模 | 5000 | 8GB | 4GB | 8GB |
中規模 | 50000 | 16GB | 8GB | 16GB |
大規模 | 200万 | 64GB | 16GB | 64GB |
親トピック: Oracle Unified Directoryの構成
Kubernetes/イングレス・サービス
OUDを構成すると、各ワーカー・ノードで次のOUDサービスが使用可能になります:
表14-1 各ワーカー・ノードのOUDサービス
サービス | タイプ | サービス・ポート | マップ済ポート |
---|---|---|---|
OUD LDAP |
NodePort |
31389 |
1389 |
OUD LDAPS |
NodePort |
31636 |
636 |
OUD ADMIN |
NodePort |
30777 |
80 |
ノート:
OUDは、独自のKubernetesサービス・ポートをランダムに選択します。この表に示されている番号は、単なる例です。親トピック: Oracle Unified Directoryの構成
この章で使用される変数
この章の以降の項では、多数のファイルを作成する手順について説明します。これらのサンプル・ファイルには、デプロイメントに適用可能な値に置換する必要がある変数が含まれています。
変数の形式は<VARIABLE_NAME>です。次の表に、これらの各変数に設定する必要がある値を示します。
表14-2 変更する必要がある変数
変数 | サンプル値 | 説明 |
---|---|---|
<WORKDIR> |
|
OUDの作業ディレクトリを作成する場所。 |
<REGISTRY_ADDRESS> |
iad.ocir.io/<mytenancy> |
レジストリの場所。Oracleコンテナ・レジストリを使用する場合、値は |
<REG_USER> |
mytenancy/oracleidentitycloudservice/myemail@email.com |
レジストリへのログインに使用するユーザーID。Oracleコンテナ・レジストリを使用する場合、この値はOracleシングル・サインオン・ユーザー名になります。 |
<REG_PWD> |
<password> |
レジストリ・ユーザー・パスワード。 |
<OUD_REPOSITORY> |
|
OUDソフトウェア・リポジトリの名前。 コンテナ・イメージをダウンロードしてステージングした場合、この値は Oracleコンテナ・レジストリを使用している場合、値は コンテナ・レジストリを使用している場合、値は製品名を含むレジストリの名前になります: |
<OUD_VER> |
|
使用するイメージのバージョン。これは、ダウンロードしてローカルまたはコンテナ・レジストリにステージングしたバージョンです。 |
<DH_USER> |
username |
|
<DH_PWD> |
mypassword |
|
<OUDNS> |
oudns |
OUDネームスペースの名前。 |
<PVSERVER> |
mynfsserver.example.com |
NFSサーバーの名前。 ノート: この名前は、Kubernetesクラスタ内で解決可能である必要があります。 |
<OUD_SHARE> |
/exports/IAMPVS/oudpv |
OUD永続ボリュームのNFSマウント・ポイント。 |
<OUD_CONFIG_SHARE> |
/exports/IAMPVS/oudconfigpv |
OUD構成永続ボリュームのNFSマウント・ポイント。 |
<OUD_LOCAL_SHARE> |
|
<OUD_CONFIG_SHARE>がマウントされるローカル・ディレクトリ。シード・ファイルを保持するために使用されます。 |
<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_RESERVE_SEARCHBASE> |
cn=Reserve,dc=example,dc=com |
これをOIGの予約コンテナの名前に設定します。レガシー用に維持されています。 |
<LDAP_ADMIN_USER> |
cn=oudadmin |
ディレクトリ管理者のユーザー名。 |
<LDAP_ADMIN_PWD> |
password |
ディレクトリ管理者のパスワード。 |
<LDAP_OAMLDAP_USER> |
oamLDAP |
OAMがディレクトリに接続してログインを検証するために使用するユーザーの名前。 |
<LDAP_OIGLDAP_USER> |
oimLDAP |
OIGがディレクトリに接続してユーザーを管理するために使用するユーザーの名前。 |
<LDAP_OAMADMIN_USER> |
oamadmin |
OAMの管理に使用するユーザーの名前。 |
<LDAP_WLSADMIN_USER> |
weblogic_iam |
ドメインの管理に使用するユーザーの名前。 |
<LDAP_XELSYSADM_USER> |
xelsysadm |
OIGの管理のために作成するユーザーの名前。 |
<LDAP_USER_PWD> |
<password> |
作成するユーザー名に割り当てるパスワード。Kubernetes上のIDMは、これをアカウントごとに同じであると想定します。これは、デプロイメント後、必要に応じて別の値に変更できます。 |
<LDAP_OIGADMIN_GRP> |
OIMAdministrators |
OIGの管理者の名前で構成されているグループの名前。 |
<LDAP_WLSADMIN_GRP> |
WLSAdministrators |
このロールに割り当てられたユーザーは、WebLogic管理コンソールおよびFMW Controlにログインできます。 |
<LDAP_OAMADMIN_GRP> |
OAMAdministrators |
このロールに割り当てられたユーザーは、OAM管理コンソールにログインしてOAMを構成できます。 |
<LDAP_SYSTEMIDS> |
systemids |
システムIDを格納するコンテナの名前。このコンテナに配置されたユーザー名は、OIMリコンシリエーションまたはパスワード・エージングの対象ではありません。このコンテナは、<LDAP_OAMLDAP_USER>や<LDAP_OIGLDAP_USER>などのユーザー用に予約されています。 |
<OUD_PWD_EXPIRY> |
2024-01-02 |
ユーザー・アカウントのパスワードの期限が切れる日付。日付はYYYY-MM-DD形式にする必要があります。 |
<OUD_LDAP_K8> |
|
OUD LDAPリクエストに使用するポート。 ノート: この値は、Kubernetesサービス・ポートの範囲内である必要があります。 |
<OUD_LDAPS_K8> |
|
OUD LDAPSリクエストに使用するポート。 ノート: この値は、Kubernetesサービス・ポートの範囲内である必要があります。 |
<OUD_PREFIX> |
|
|
<OUD_REPLICAS> |
1 |
作成するOUDレプリカ・インスタンスの数。 |
<REGION> |
example |
これは、トップ・レベル・リージョンで、通常は検索ベースの最初の部分です。 |
<HELM_VER> |
- |
実行しているHelmのバージョン。これは、コマンド 最初の3つの索引のみが必要です。例: 3.5.4。 |
<KUBERNETES_VER> |
- |
実行しているKubernetesのバージョン。これは、コマンド 最初の3つの索引のみが必要です。例: 1.20.6。 |
<ELK_HOST> |
|
集中管理型のElasticsearchデプロイメントのホストおよびポート。このホストは、Kubernetesクラスタの中と外のどちらでもかまいません。このホストは、Elasticsearchが使用されている場合にのみ使用されます。 |
<ELK_VER> |
|
使用するElasticsearchのバージョン。 |
<ELK_USER_PWD> |
< |
ELKユーザーに割り当てられたパスワード。「Logstash用のロールおよびユーザーの作成」を参照してください。 |
親トピック: Oracle Unified Directoryの構成
製品固有の作業ディレクトリの設定
インストールを開始する前に、Oracle Unified Directory Service Managerコンテナ・イメージをダウンロードしてステージングしておくか、Oracle Container Registryおよびコード・リポジトリを使用している必要があります。
「エンタープライズ・デプロイメント用のソフトウェア・ディストリビューションの特定と取得」を参照してください。この項では、ダウンロードしたサンプル・デプロイメント・スクリプトをOUDの一時作業ディレクトリにコピーする手順について説明します。
Oracle Unified Directoryのデプロイについて
Helmを使用してOracle Unified Directory (OUD)を作成および構成することをお薦めします。
- 複数のOUDサーバーをデプロイし、それらのコンテナ間のレプリケーションを設定します(高可用性を実現するには複数のコンテナを用意する必要があります)。
- Kubernetesクラスタ外部のOUDディレクトリへのアクセスが必要な場合は、NodePortサービスまたはイングレス・サービスを作成します。
- Oracle Identity and Access ManagementをサポートするようにOUDを構成します。
従来、Oracle Identity and Access ManagementをサポートするようにOUDを構成するプロセスは、Oracle Identity and Access Managementツール'idmConfigTool
'を使用して実行されていました。このツールは、OUDをインストールおよび構成して、OAMまたはOIGをデプロイした後に使用されます。ディレクトリを準備およびシードする従来の方法を使用する場合、このオプションを使用できますが、このガイドでは説明しません。
idmConfigTool
を使用してOUDを構成する方法の詳細は、「既存LDAPディレクトリの準備」を参照してください。
OUDを構成する従来の方法には、次のステップが含まれます:
- OUDをデプロイします。
- OAMまたはOIGをデプロイします。
- OAM/OIGコンテナにログインします。
idmConfigTool
コマンドを実行します。「既存LDAPディレクトリの準備」を参照してください。
このガイドで説明する方法は、シード・データ・ファイルを作成し、それをOUD作成プロセスへの入力として提供することです。
Kubernetesネームスペースの作成
Oracle Unified Directoryのすべてのオブジェクトを含むネームスペースを作成する必要があります。
kubectl create namespace oudns
namespace/oudns created
コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用することをお薦めします。コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。
コンテナ・イメージをローカルにステージングした場合は、このステップを実行する必要はありません。
kubectl create secret -n <OUDNS> docker-registry regcred --docker-server=<REGISTRY_ADDRESS> --docker-username=<REG_USER> --docker-password=<REG_PWD>
kubectl create secret -n oudns 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
からイメージをプルできます。これらのコマンドは、OUD cronジョブで、「終了中」
状態から動かないポッドをテストし、必要に応じて再起動するために使用されます。
ノート:
独自のコンテナ・レジストリからイメージをプルする場合、このステップは必要ありません。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=<OUDNS>
$ kubectl create secret docker-registry dockercred --docker-server="https://index.docker.io/v1/" --docker-username="username" --docker-password="<mypassword>" --namespace=oudns
構成ファイルの作成
OUDのデプロイメントを開始する前に、一連の構成ファイルを作成する必要があります。これらのファイルは、OAMとOIGで必要なデータを構成およびシードするために使用されます。
ファイルのエントリは、エンタープライズ・デプロイメント・ガイドの標準の命名規則に基づいています。これらのエントリに代替名を使用する場合は、組織の要件に従ってファイルを編集します。
スキーマ拡張ファイルの作成
このファイルは、Oracle Access Managerオブジェクト・クラスでOUDスキーマを拡張するために使用されます。Oracle Access Managerをデプロイしない場合は、この項をスキップできます。
「スキーマ拡張ファイルのサンプル」に示されている内容を含む99-user.ldif
ファイルを作成します。
すべての情報は同じままにする必要があります。Oracle Access Managerを使用する予定がない場合、このファイルは必要ありません。
親トピック: 構成ファイルの作成
シード・ファイルの作成
このファイルは、Oracle Access ManagerとOracle Identity Governanceで必要とされるユーザーおよびグループの名前でOUDをシードするために使用されます。
「シード・ファイルのサンプル」に示されている内容を含むbase.ldif
というファイルを作成します。
このファイルでグローバル検索および置換を実行して、組織に固有のものにする必要があります。作業を容易にするため、サンプル・ファイルには、変更する必要があるエントリを識別できるようにいくつかの変数が挿入されています。各変数は'<>'で囲まれています。使用される変数のリストは、「この章で使用される変数」を参照してください。
ノート:
このファイルには、Oracle Access ManagerとOracle Identity Governanceのすべてのエントリが含まれています。これらの製品をデプロイしない場合は、要件に従ってこのファイルを修正できます。ここでは、一例として、完全なスイートのデプロイメントをより単純なものにしています。グローバル検索および置換を実行して、これらのエントリを変更してください。
ノート:
次の変数の値は変更しないでください:- <DenySSORead ACI>
- <AllowSSORead ACI>
- <AllowSSOAll ACI>
親トピック: 構成ファイルの作成
パスワードの設定
LDAP属性userPasswordの値を指定して、ファイルにユーザー・パスワードを設定できます。
プレーン・テキストとして入力されたパスワードは、ロード時に暗号化されます。作業を容易にするため、指定する必要のあるエントリとして、ファイルで<PASSWORD>という用語を検索できます。
親トピック: 構成ファイルの作成
OUDコンテナの作成
最初にサーバー・オーバーライド・ファイルを作成し、次にHelm
コマンドを使用してOUDコンテナを作成します。
サーバー・オーバーライド・ファイルの作成
helm
オーバーライド・ファイルを作成する必要があります。このファイルは、OUDポッドの作成方法の決定に使用されます。このファイルには、次の詳細を指定できます:
- 使用するコンテナ・イメージ。
- 作成するレプリカの数。
- 各ポッドに割り当てるリソースの数。
- 作成するベースDN。
- OUDデータをシードするためにロードする
ldif
ファイル。 - スキーマ拡張を作成するための
ldif
ファイル。 - 作成するアクセス制御リスト(ACL)。
- 各ポッド(ベースおよびレプリカ)に作成する必要がある索引。
- ポッドをインスタンス化する際に実行する特定の
ds_config
コマンド。
表14-2の値を代入して、このファイルを作成します。
次に、OUDのサンプル・オーバーライド・ファイルを示します。
/workdir/OUD/override_oud.yaml
ノート:
このファイルのサンプルと、GitHubからダウンロードしたサンプル・ファイルがあります。これらは、/workdir/fmw-kubernetes/FMWKubernetesMAA/OracleEnterpriseDeploymentAutomation/OracleIdentityManagement/templates/oud
にあります。
- cpuは、CPUコアで測定されます。値が1の場合は、1CPUコアまたは1仮想コアです。
- memoryは、標準単位1G = 1GBで測定されます。
- cpuは、CPUサイクルで測定されます。値が1000mの場合は、1CPUコアまたは1仮想コアです。
- memoryは、標準単位1G = 1GBで測定されます。
サーバーのチューニング値が、これらの値と競合しないようにする必要があります。
image:
repository: <OUD_REPOSITORY>
tag: <OUD_VER>
pullPolicy: IfNotPresent
busybox:
image: docker.io/busybox
imagePullSecrets:
- name: regcred
oudConfig:
baseDN: <LDAP_SEARCHBASE>
rootUserDN: <LDAP_ADMIN_USER>
rootUserPassword: <LDAP_ADMIN_PWD>
sleepBeforeConfig: 1300
resources:
limits:
cpu: 1
memory: 2Gi
requests:
cpu: 500m
memory: 1Gi
persistence:
type: networkstorage
networkstorage:
nfs:
server: <PVSERVER>
path: <OUD_SHARE>
size: 30Gi
configVolume:
enabled: true
type: networkstorage
networkstorage:
nfs:
server: <PVSERVER>
path: <OUD_CONFIG_SHARE>
mountPath: /u01/oracle/config-input
replicaCount: <OUD_REPLICAS>
ingress:
enabled: false
type: nginx
tlsEnabled: true
cronJob:
kubectlImage:
repository: bitnami/kubectl
tag: <KUBERNETES_VER>
pullPolicy: IfNotPresent
imagePullSecrets:
- name: dockercred
baseOUD:
envVars:
- name: schemaConfigFile_1
value: /u01/oracle/config-input/99-user.ldif
- name: restartAfterSchemaConfig
value: "true"
- name: importLdif_1
value: --append --replaceExisting --includeBranch ${baseDN} --backendID userRoot --ldifFile /u01/oracle/config-input/base.ldif --rejectFile /u01/oracle/config-input/rejects.ldif --skipFile /u01/oracle/config-input/skip.ldif
- name: serverTuning
value: -Xms1024m -Xmx2048m -d64 -XX:+UseCompressedOops -server -Xmn1g -XX:MaxTenuringThreshold=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
- name: dsconfig_1
value: set-global-configuration-prop --set lookthrough-limit:75000
- name: dsconfig_2
value: set-access-control-handler-prop --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)"
- name: dsconfig_3
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; allow (read,search,compare,add,write,delete,export) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_4
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\")(version 3.0; acl \"<LDAP_OIGADMIN_GRP> control access\"; allow(read) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_5
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///\")(targetscope=\"base\")(targetattr=\"lastExternalChangelogCookie\")(version 3.0; acl \"User-Visible lastExternalChangelog\"; allow (read,search,compare) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_6
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.840.113556.1.4.319 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_7
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9 || 1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_8
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_9
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31 || 1.2.840.113556.1.4.319\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_10
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGranter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_11
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGrantee --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_12
value: create-local-db-index --element-name userRoot --index-name obid --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_13
value: create-local-db-index --element-name userRoot --index-name oblocationdn --set index-type:equality
- name: dsconfig_14
value: create-local-db-index --element-name userRoot --index-name oblocationname --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_15
value: create-local-db-index --element-name userRoot --index-name oblocationtitle --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_16
value: create-local-db-index --element-name userRoot --index-name obrectangle --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_17
value: create-local-db-index --element-name userRoot --index-name obdirectreports --set index-type:equality
- name: dsconfig_18
value: create-local-db-index --element-name userRoot --index-name obindirectmanager --set index-type:equality
- name: dsconfig_19
value: create-local-db-index --element-name userRoot --index-name obuseraccountcontrol --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_20
value: create-local-db-index --element-name userRoot --index-name obobjectclass --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_21
value: create-local-db-index --element-name userRoot --index-name obparentlocationdn --set index-type:equality
- name: dsconfig_22
value: create-local-db-index --element-name userRoot --index-name obgroupcreator --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_23
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptiontype --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_24
value: create-local-db-index --element-name userRoot --index-name obgroupdynamicfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_25
value: create-local-db-index --element-name userRoot --index-name obgroupexpandeddynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_26
value: create-local-db-index --element-name userRoot --index-name obgroupadministrator --set index-type:equality
- name: dsconfig_27
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptionfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_28
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribemessage --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_29
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribenotification --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_30
value: create-local-db-index --element-name userRoot --index-name obgrouppuredynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_31
value: list-local-db-indexes --element-name userRoot
- name: rebuildIndex_1
value: --rebuildAll
- name: restartAfterRebuildIndex
value: "true"
replOUD:
envVars:
- name: serverTuning
value: -Xms1024m -Xmx2048m -d64 -XX:+UseCompressedOops -server -Xmn1g -XX:MaxTenuringThreshold=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
- name: dsconfig_1
value: set-global-configuration-prop --set lookthrough-limit:75000
- name: dsconfig_2
value: set-access-control-handler-prop --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)"
- name: dsconfig_3
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; allow (read,search,compare,add,write,delete,export) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_4
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.840.113556.1.4.319 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_5
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9 || 1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_6
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_7
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31 || 1.2.840.113556.1.4.319\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: post_dsreplication_dsconfig_2
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGranter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_3
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGrantee --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_4
value: create-local-db-index --element-name userRoot --index-name obid --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_5
value: create-local-db-index --element-name userRoot --index-name oblocationdn --set index-type:equality
- name: post_dsreplication_dsconfig_6
value: create-local-db-index --element-name userRoot --index-name oblocationname --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_7
value: create-local-db-index --element-name userRoot --index-name oblocationtitle --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_8
value: create-local-db-index --element-name userRoot --index-name obrectangle --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_9
value: create-local-db-index --element-name userRoot --index-name obdirectreports --set index-type:equality
- name: post_dsreplication_dsconfig_10
value: create-local-db-index --element-name userRoot --index-name obindirectmanager --set index-type:equality
- name: post_dsreplication_dsconfig_11
value: create-local-db-index --element-name userRoot --index-name obuseraccountcontrol --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_12
value: create-local-db-index --element-name userRoot --index-name obobjectclass --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_13
value: create-local-db-index --element-name userRoot --index-name obparentlocationdn --set index-type:equality
- name: post_dsreplication_dsconfig_14
value: create-local-db-index --element-name userRoot --index-name obgroupcreator --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_15
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptiontype --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_16
value: create-local-db-index --element-name userRoot --index-name obgroupdynamicfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_17
value: create-local-db-index --element-name userRoot --index-name obgroupexpandeddynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_18
value: create-local-db-index --element-name userRoot --index-name obgroupadministrator --set index-type:equality
- name: post_dsreplication_dsconfig_19
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptionfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_20
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribemessage --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_21
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribenotification --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_22
value: create-local-db-index --element-name userRoot --index-name obgrouppuredynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_23
value: list-local-db-indexes --element-name userRoot
- name: rebuildIndex_1
value: --rebuildAll
- name: restartAfterRebuildIndex
value: "true"
image:
repository: oracle/oud
tag: 12.2.1.4-jdk8-ol7-220411.1613
pullPolicy: IfNotPresent
busybox:
image: docker.io/busybox
imagePullSecrets:
- name: regcred
oudConfig:
baseDN: dc=example,dc=com
rootUserDN: cn=oudadmin
rootUserPassword: password
sleepBeforeConfig: 1300
persistence:
type: networkstorage
networkstorage:
nfs:
server: mynfsserver.example.com
path: /exports/IAMPVS/oudpv
size: 30Gi
configVolume:
enabled: true
type: networkstorage
networkstorage:
nfs:
server: mynfsserver.example.com
path: /exports/IAMPVS/oudconfigpv
mountPath: /u01/oracle/config-input
replicaCount: 1
ingress:
enabled: false
type: nginx
tlsEnabled: true
cronJob:
kubectlImage:
repository: bitnami/kubectl
tag: <KUBERNETES_VER>
pullPolicy: IfNotPresent
imagePullSecrets:
- name: dockercred
baseOUD:
envVars:
- name: schemaConfigFile_1
value: /u01/oracle/config-input/99-user.ldif
- name: restartAfterSchemaConfig
value: "true"
- name: importLdif_1
value: --append --replaceExisting --includeBranch ${baseDN} --backendID userRoot --ldifFile /u01/oracle/config-input/base.ldif --rejectFile /u01/oracle/config-input/rejects.ldif --skipFile /u01/oracle/config-input/skip.ldif
- name: serverTuning
value: -Xms1024m -Xmx2048m -d64 -XX:+UseCompressedOops -server -Xmn1g -XX:MaxTenuringThreshold=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
- name: dsconfig_1
value: set-global-configuration-prop --set lookthrough-limit:75000
- name: dsconfig_2
value: set-access-control-handler-prop --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)"
- name: dsconfig_3
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; allow (read,search,compare,add,write,delete,export) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_4
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\")(version 3.0; acl \"<LDAP_OIGADMIN_GRP> control access\"; allow(read) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_5
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///\")(targetscope=\"base\")(targetattr=\"lastExternalChangelogCookie\")(version 3.0; acl \"User-Visible lastExternalChangelog\"; allow (read,search,compare) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_6
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.840.113556.1.4.319 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_7
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9 || 1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_8
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_9
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31 || 1.2.840.113556.1.4.319\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_10
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGranter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_11
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGrantee --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_12
value: create-local-db-index --element-name userRoot --index-name obid --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_13
value: create-local-db-index --element-name userRoot --index-name oblocationdn --set index-type:equality
- name: dsconfig_14
value: create-local-db-index --element-name userRoot --index-name oblocationname --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_15
value: create-local-db-index --element-name userRoot --index-name oblocationtitle --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_16
value: create-local-db-index --element-name userRoot --index-name obrectangle --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_17
value: create-local-db-index --element-name userRoot --index-name obdirectreports --set index-type:equality
- name: dsconfig_18
value: create-local-db-index --element-name userRoot --index-name obindirectmanager --set index-type:equality
- name: dsconfig_19
value: create-local-db-index --element-name userRoot --index-name obuseraccountcontrol --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_20
value: create-local-db-index --element-name userRoot --index-name obobjectclass --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_21
value: create-local-db-index --element-name userRoot --index-name obparentlocationdn --set index-type:equality
- name: dsconfig_22
value: create-local-db-index --element-name userRoot --index-name obgroupcreator --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_23
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptiontype --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_24
value: create-local-db-index --element-name userRoot --index-name obgroupdynamicfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_25
value: create-local-db-index --element-name userRoot --index-name obgroupexpandeddynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_26
value: create-local-db-index --element-name userRoot --index-name obgroupadministrator --set index-type:equality
- name: dsconfig_27
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptionfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_28
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribemessage --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_29
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribenotification --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_30
value: create-local-db-index --element-name userRoot --index-name obgrouppuredynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: dsconfig_31
value: list-local-db-indexes --element-name userRoot
- name: rebuildIndex_1
value: --rebuildAll
- name: restartAfterRebuildIndex
value: "true"
replOUD:
envVars:
- name: serverTuning
value: -Xms1024m -Xmx2048m -d64 -XX:+UseCompressedOops -server -Xmn1g -XX:MaxTenuringThreshold=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
- name: dsconfig_1
value: set-global-configuration-prop --set lookthrough-limit:75000
- name: dsconfig_2
value: set-access-control-handler-prop --remove global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; deny (all) userdn=\"ldap:///anyone\";)"
- name: dsconfig_3
value: set-access-control-handler-prop --add global-aci:"(target=\"ldap:///cn=changelog\")(targetattr=\"*\")(version 3.0; acl \"External changelog access\"; allow (read,search,compare,add,write,delete,export) groupdn=\"ldap:///cn=<LDAP_OIGADMIN_GRP>,cn=groups,${baseDN}\";)"
- name: dsconfig_4
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.840.113556.1.4.319 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_5
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"1.3.6.1.1.12 || 1.3.6.1.1.13.1 || 1.3.6.1.1.13.2 || 1.2.826.0.1.3344810.2.3 || 2.16.840.1.113730.3.4.18 || 2.16.840.1.113730.3.4.9 || 1.2.840.113556.1.4.473 || 1.3.6.1.4.1.42.2.27.9.5.9 || 1.3.6.1.4.1.26027.1.5.4 || 1.3.6.1.4.1.26027.2.3.4\") (version 3.0; acl \"Authenticated users control access\"; allow(read) userdn=\"ldap:///all\";)"
- name: dsconfig_6
value: set-access-control-handler-prop --remove global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: dsconfig_7
value: set-access-control-handler-prop --add global-aci:"(targetcontrol=\"2.16.840.1.113730.3.4.2 || 2.16.840.1.113730.3.4.17 || 2.16.840.1.113730.3.4.19 || 1.3.6.1.4.1.4203.1.10.2 || 1.3.6.1.4.1.42.2.27.8.5.1 || 2.16.840.1.113730.3.4.16 || 2.16.840.1.113894.1.8.31 || 1.2.840.113556.1.4.319\") (version 3.0; acl \"Anonymous control access\"; allow(read) userdn=\"ldap:///anyone\";)"
- name: post_dsreplication_dsconfig_2
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGranter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_3
value: create-local-db-index --element-name userRoot --index-name orclImpersonationGrantee --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_4
value: create-local-db-index --element-name userRoot --index-name obid --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_5
value: create-local-db-index --element-name userRoot --index-name oblocationdn --set index-type:equality
- name: post_dsreplication_dsconfig_6
value: create-local-db-index --element-name userRoot --index-name oblocationname --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_7
value: create-local-db-index --element-name userRoot --index-name oblocationtitle --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_8
value: create-local-db-index --element-name userRoot --index-name obrectangle --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_9
value: create-local-db-index --element-name userRoot --index-name obdirectreports --set index-type:equality
- name: post_dsreplication_dsconfig_10
value: create-local-db-index --element-name userRoot --index-name obindirectmanager --set index-type:equality
- name: post_dsreplication_dsconfig_11
value: create-local-db-index --element-name userRoot --index-name obuseraccountcontrol --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_12
value: create-local-db-index --element-name userRoot --index-name obobjectclass --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_13
value: create-local-db-index --element-name userRoot --index-name obparentlocationdn --set index-type:equality
- name: post_dsreplication_dsconfig_14
value: create-local-db-index --element-name userRoot --index-name obgroupcreator --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_15
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptiontype --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_16
value: create-local-db-index --element-name userRoot --index-name obgroupdynamicfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_17
value: create-local-db-index --element-name userRoot --index-name obgroupexpandeddynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_18
value: create-local-db-index --element-name userRoot --index-name obgroupadministrator --set index-type:equality
- name: post_dsreplication_dsconfig_19
value: create-local-db-index --element-name userRoot --index-name obgroupsubscriptionfilter --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_20
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribemessage --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_21
value: create-local-db-index --element-name userRoot --index-name obgroupsubscribenotification --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_22
value: create-local-db-index --element-name userRoot --index-name obgrouppuredynamic --set index-type:equality --set index-type:presence --set index-type:substring
- name: post_dsreplication_dsconfig_23
value: list-local-db-indexes --element-name userRoot
- name: rebuildIndex_1
value: --rebuildAll
- name: restartAfterRebuildIndex
value: "true"
<KUBERNETES_VER>
には、最初の3つの索引のみが必要です。例: 1.20.6。
組織でパブリック・イメージのインターネットへのアクセスを禁止している場合は、独自のレジストリでkubectl
イメージをホストし、この値と一致するように前述のファイル内のリポジトリ値を更新できます。
ノート:
OUDでエンタープライズ・ユーザー・セキュリティ(EUS)統合を有効にする場合は、oudConfig
セクションに次の行を追加します:oudConfig:
integration: eus
- ファイルの
baseOUD
セクションの行dsconfig_1からdsconfig_30。 - ファイルの
replOUD
セクションの行post_dsreplication_dsconfig_2からpost_dsreplication_dsconfig_22。 - Oracle Access Managerのスキーマ定義を拡張しない場合は、サーバー・オーバーライド・ファイルから<schemaConfigFile_1>を実行します。
親トピック: OUDコンテナの作成
OUDのヒープ・サイズの変更
OUDのチューニング手順は、このガイドの対象外です。OUDで推奨される最大および最小のヒープ・サイズは、「サイズ設定のガイドライン」を参照してください。
OUDインスタンスのヒープ・サイズを変更するには、サーバー・オーバーライド・ファイルのserverTuning
セクションで、最小ヒープ・サイズにXms
を、最大ヒープ・サイズにXmx
を設定します。
たとえば、小規模なシステムの値を設定する場合、エントリは次のようになります:
- name: serverTuning
value: -Xms4096m -Xmx8192m -d64 -XX:+UseCompressedOops -server -Xmn1g -XX:MaxTenuringThreshold=1 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
パフォーマンス・チューニングの推奨事項の詳細は、Oracle Unified Directory 12.2.1.4.0のパフォーマンスの詳細を参照してください。
親トピック: OUDコンテナの作成
保証レプリケーションの有効化
OUDインスタンス間で保証レプリケーションを有効にする場合は、override_oud.yaml
ファイルのreplOUD
セクションに次の内容を追加します:
replOUD:
envVars:
- name: post_dsreplication_dsconfig_1
value: set-replication-domain-prop --domain-name ${baseDN} --advanced --set assured-type:safe-read
- name: execCmd_1
value: /u01/oracle/user_projects/${OUD_INSTANCE_NAME}/OUD/bin/dsconfig --no-prompt --hostname ${sourceHost} --port ${adminConnectorPort} --bindDN "${rootUserDN}" --bindPasswordFile /u01/oracle/user_projects/${OUD_INSTANCE_NAME}/admin/rootPwdFile.txt --trustAll set-replication-domain-prop --domain-name ${baseDN} --advanced --set assured-type:safe-read --set assured-sd-level:2 --set assured-timeout:5s --provider-name "Multimaster Synchronization"
親トピック: OUDコンテナの作成
コンテナの作成
Helmオーバーライド・ファイルを作成したら、helm
コマンドを使用して、OUDコンテナを作成する必要があります。
helm
コマンドは:
- OUDインスタンスを作成します
- OAMスキーマ拡張を追加します
- OAM/OIGユーザーおよびグループをシードします
- OUD変更ログの権限を更新します
- 追加のOUD索引を作成します
- OUD索引を再構築します
- OUD用のKubernetesサービスを作成します
cd /workdir/OUD/samples/kubernetes/helm
helm install --namespace <OUDNS> --values /workdir/OUD/override_oud.yaml <OUD_PREFIX> oud-ds-rs
helm install --namespace oudns --values /workdir/OUD/override_oud.yaml edg oud-ds-rs
ノート:
edg
は、各OUDインスタンスの接頭辞として使用されます。これは任意の値を指定できます。
親トピック: OUDコンテナの作成
OUDインスタンスのトラブルシューティング
次のコマンドを使用して、各OUDインスタンスの作成をモニターできます:
kubectl -n oudns get all -o wide
各コンテナのステータスがREADY 1/1およびStatus = Running
と表示された場合のみ、インストールおよび構成が完了します。
kubectl get pod -n oudns
kubectl describe pod -n oudns
コンテナ・ログ
kubectl logs edg-oud-ds-rs-0 -n oudns
OUDサーバーの初期化後に作成されたskips.ldif
およびrejects.ldif
ファイルを確認します。これらのファイルは、base.ldif
および99-user.ldif
ファイルがロードされるときに作成されます。OUDサーバーは、エラーがあっても起動しますが、すべてのデータがロードされていないと、他の製品を統合する際に問題が発生します。OUDログのみを確認しても、エラーに気付かない場合があります。
親トピック: OUDコンテナの作成
OUDへの外部アクセスの作成
デフォルトでは、OUDデプロイメントは、ClusterIPサービスとして構成されたすべてのコンポーネントを使用して作成されます。つまり、Oracle Unified Directoryコンポーネントは、Kubernetesクラスタ内でのみ認識されます。
Kubernetes内からのみクラスタにアクセスする場合は、これで十分です。ただし、Kubernetesの外部からOracle Unified Directoryと対話する場合は、イングレス・コントローラ・サービスまたは個々のNodePortサービスを作成する必要があります。
Kubernetes NodePortサービスの作成
ネイティブKubernetes NodePortサービスを作成するには、この項のステップを実行する必要があります。イングレス・コントローラを使用してOUDサービスを公開する場合は、「イングレス・コントローラのインストールと構成」を参照してください。
GrafanaとPrometheusによる集中管理型の監視
OUD用に固有に収集されるメトリックはありません。ただし、Kibanaの標準のKubernetesダッシュボードを使用して、OUDポッドをモニターできます。
ElasticsearchおよびKibanaを使用した集中管理型のログ・ファイル監視
- OUD永続ボリューム(Logstashポッドによってロードされ、ログ・ファイルの検索が可能になります)。
- 永続ボリューム内のログ・ファイルの場所。
- 集中管理型のElasticsearchの場所。
Logstashポッドを構成するには、次のステップを実行します。Kubernetesクラスタ内のelkns
というネームスペースで、Elasticsearchが実行されていることを前提としています。
Elasticsearchのシークレットの作成
Logstashでは、Elasticsearchデプロイメントに接続するための資格証明が必要です。これらの資格証明は、シークレットとしてKubernetesに格納されます。
kubectl create secret generic elasticsearch-pw-elastic -n <OUDNS> --from-literal password=<ELK_APIKEY>
kubectl create secret generic elasticsearch-pw-elastic -n oudns --from-literal password=afshfashfkahf5f
kubectl create secret generic elasticsearch-pw-elastic -n <OUDNS> --from-literal password=<ELK_PWD>
kubectl create secret generic elasticsearch-pw-elastic -n oudns --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 <OUDNS>
kubectl create configmap elk-cert --from-file=/workdir/ELK/elk.crt -n oudns
OUDのログ・ファイル監視の構成
ログ・ファイル監視を構成するには、次のステップを実行します:
Logstashの構成マップの作成
Logstashは、OUDインストールのログ・ファイルを検索し、集中管理型のElasticsearchに送信します。ログ・ファイルが存在する場所とその送信先は、構成マップを使用してLogstashに指示されます。
親トピック: OUDのログ・ファイル監視の構成
Logstashデプロイメントの作成
親トピック: OUDのログ・ファイル監視の構成