21 Oracle Advanced Authentication、Oracle Adaptive Risk ManagementおよびOracle Universal Authenticatorのインストールおよび構成
Oracle Advanced AuthenticationおよびRisk Management (OAAおよびOARM)は、マルチファクタ認証を使用してユーザーを認証します。OAuth認証のためにOracle Access Managerと統合されます。
Oracle Access Managerのインストールの詳細は、「WDTを使用したOracle Access Managerの構成」を参照してください。既存のOAMデプロイメントがある場合は、同じデプロイメントを使用できます。従来のOracle Identity and Access Management製品とは異なり、Oracle Advanced Authenticationは一連のマイクロサービスとしてデプロイされます。
このリリースでは、Oracleはスタンドアロン・コンテナ・イメージを使用してOAAをインストールおよび構成します。コンテナ・イメージは、Kubernetesクラスタ内で手動で起動されます。
この章の内容は次のとおりです。
- Oracle Advanced Authenticationについて
Oracle Advanced Authentication (OAA)はスタンドアロンのマイクロサービスであり、ユーザーのアイデンティティの確立およびアサートをサポートします。 - Oracle Adaptive Risk Management (OARM)について
Oracle Adaptive Risk Management (OARM)は統合システムで、ユーザーとユーザー・アクティビティに関連するリスク・データの集約や、ユーザーとユーザー・アクティビティによって発生するビジネス・リスクの分析と評価が行われ、そのリスクを軽減するために実行が推奨されるアドバイスが提示されます。 - Oracle Universal Authenticator (OUA)について
Oracle Universal Authenticatorによって、エンド・ユーザーは、Oracle Access Management (OAM)資格証明を使用してデバイスにログインできます。これにより、エンド・ユーザーは、SSOを介してOAMで保護されたアプリケーションおよび他のシングル・サインオン(SSO)対応のアプリケーションにアクセスできます。 - この章で使用される変数
この章の以降の各項では、様々なファイルを作成する手順を示します。これらのサンプル・ファイルには、デプロイメントに適用可能な値に置換する必要がある変数が含まれています。 - OAAインストールの特徴
この項では、作成しようとしているOAAインストールの主な特徴を示します。これらの特性を確認して、OAAの構成に使用される手順の目的とコンテキストを理解します。 - Kubernetesサービス
NodePortサービスを使用している場合、OAAインストールの一部としてKubernetesサービスが作成されます。 - 開始する前に
インストールを開始する前に、このトピックにリストされているすべての必須タスクが完了していることを確認する必要があります。 - LDAPにおけるユーザーとグループの作成
Oracle Advanced Authenticationでは、LDAP内で2つのグループを設定する必要があります。 - OAAユーザー・グループへの既存のユーザーの追加
OAAを使用するように既存のユーザーを構成する場合は、新しく作成したOAA-App-User
グループにそれを追加する必要があります。 - 既存のOAAユーザーに対するLDAP属性obpsftidの設定
- Kubernetesネームスペースの作成
Kubernetesネームスペースは、OAAオブジェクトを格納するために使用されます。 - コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。 - Docker HubイメージのKubernetesシークレットの作成
このシークレットを使用すると、Kubernetesはhelm
、kubectl
、logstash
コマンドなど、サードパーティのイメージを含むhub.docker.com
からイメージをプルできます。これらのコマンドは、OUD cronジョブで、「終了中」状態から動かないポッドをテストし、必要に応じて再起動するために使用されます。 - GitHubシークレットの作成
OAAは、GitHubの一部のコンテナに依存します。これらのイメージをGitHubから直接プルする場合は、GitHub資格証明を使用してシークレットを作成する必要があります。 - 管理コンテナの起動
管理コンテナを起動する前に、永続ボリュームが作成されていることを確認します。 - Kubernetesクラスタへの管理コンテナ・アクセス権の付与
OAA管理コンテナには、Kubernetesクラスタと対話するための組込みコマンドがあります。管理コンテナに、Kubernetesクラスタへのアクセス方法の詳細を指定する必要があります。 - Helm構成ファイルの作成
OAAインストール手順は、存在しているhelmconfig
ファイルに依存します。このファイルは、ほとんど常に空のファイルです。 - OAAサーバー証明書の作成
OAAで使用する証明書を作成する必要があります。OAAは、SSL通信のみを使用して構成されます。 - OAM TAPパートナの登録
OAAおよびOUAがよりセキュアな方法でOAMで認証できるようにするために使用されるOAM TAPパートナを登録する必要があります。 - OAAプロパティ・ファイルの作成
OAAデプロイメントは、プロパティ・ファイル内の値に依存します。このファイルは、データベース・スキーマの作成およびOAA自体のデプロイに使用されます。ファイルを作成するステップは、OAA-MGMTポッド内で実行されます。 - OAAオーバーライド・ファイルの作成
OAAオーバーライド・ファイルは、起動される各タイプのコンテナの数を決定するために使用されます。高可用性のデプロイメントでは、コンテナ・タイプごとに2つ以上必要です。 - データベース・スキーマの作成
Oracle Advanced Authenticationは、データベースにスキーマを自動的に作成します。 - OAuthの有効化
Oracle Access Managerでは、OAAのOAuthサーバーとして機能するようにOAuthが有効になっている必要があります。 - OAuthの検証
このステージでは、OAuthが使用可能になっており、Oracle HTTPがリクエストをOAuthサーバーに転送していることを確認することが重要です。 - Oracle Advanced Authenticationのデプロイ
OAuthアプリケーションをデプロイするには、OAA-MGMTポッド内でステップを実行する必要があります。 - タイムアウトの解決
コンテナ・レジストリからコンテナ・イメージをプルするのに予想よりも時間がかかる場合、デプロイメントは失敗することがあります。デプロイメント・ログにエラーが表示されます。 - OAAポリシー・スナップショットのインポート
スナップショットにより、データベース・スキーマにシード・データが移入されます。OAA-MGMT
ポッド内にインポートするステップを実行する必要があります。 - OHSウォレットへのOAA証明書の追加
Oracle HTTP ServerがOAAサーバーを信頼していることを確認する必要があります。信頼を構築するには、OAA証明書をOracle HTTP Serverウォレットに追加する必要があります。 - OAAの検証
OAAをデプロイした後、OAA管理コンソールにアクセスしてOAAが機能していることを確認します。 - 電子メール/SMSサーバーおよび自動ユーザー作成の構成
OAAには、電子メール/SMSの統合が組み込まれています。電子メールSMTPクライアントおよびSMSクライアントを使用するようにOAAを構成する必要があります。 - Oracle Advanced AuthenticationとOracle Access Managerの統合
この手順では、保護されたリソースにアクセスしたときにOAM資格証明コレクタが最初に表示されてから、PINコード検証のためにセッションがOAAに渡されるように、OAMでOAAを構成する手順を説明します。 - Oracle Universal Authenticationの構成
この項では、Oracle Universal Authenticationの構成に関連する様々なタスクについて説明します。
上位トピック: 「エンタープライズ・ドメインの構成」
Oracle Advanced Authenticationについて
OAAは、MFA機能を提供するために、Oracle Access Management (OAM)との統合をサポートしています。
OAAの機能
- Kubernetesプラットフォーム上でスタンドアロンのマイクロサービスとして実行され、Helmチャートを使用してデプロイされます。
- マルチファクタ認証(MFA)を有効化するために、次のクライアントとの統合をサポートします:
- Oracle Access Management (OAM)など、Webベースのユーザー・ログイン・フローを提供するクライアント。OAAは、Trusted Authentication Protocol (TAP)を介してOAMと統合されます。
- Oracle Radius Agent (ORA)など、APIベースのユーザー・ログイン・フローを提供するクライアント。OAAは、REST APIを介してORAと統合されます。このタイプの統合では、クライアントは独自のユーザー・フロー・オーケストレーションを管理できます。
- OAMと統合するための
OAAAuthnPlugin
を提供します。このプラグインは、OAM上のアイデンティティ・ストアからOAAへのユーザー・データの移行も可能にします。 - 管理者がクライアント登録、保証レベルおよびポルールを作成および管理するためのWeb UI (管理UIコンソール)を提供します。管理者は、REST APIを使用してすべての管理タスクを実行することもできます。
- エンドユーザーが各自のチャレンジ・ファクタを管理および登録するためのWeb UI (ユーザー・プリファレンスUI)が備えられています。ユーザーの自己登録および管理は、REST APIを使用して実行することもできます。
- Web UIは、OAM OAuthおよびOpenID Connect (OIDC)によって保護されます。
- すぐに利用できる次のチャレンジ・ファクタを提供します:
- Oracle Mobile Authenticator (OMA)、GoogleおよびMicrosoftによるTOTP (時間ベースのワンタイム・パスワード)
- 電子メールおよびSMSによるOTP (ワンタイム・パスワード)
- Yubikey OTP
- FIDO2
- ナレッジベース認証(KBA)
- プッシュ通知
Oracle Adaptive Risk Management (OARM)について
Oracle Adaptive Risk Management (OARM)は統合システムで、ユーザーとユーザー・アクティビティに関連するリスク・データの集約や、ユーザーとユーザー・アクティビティによって発生するビジネス・リスクの分析と評価が行われ、そのリスクを軽減するために実行が推奨されるアドバイスが提示されます。
このシステムは、関連付けられたリスク評価に基づいて、ユーザー・アクティビティをブロック、チャレンジまたは許可するリスク軽減アクションを実行するOracle Advanced Authentication (OAA)と統合すると最適に機能します。
このシステムは、スタンドアロン・モードで実行することもでき、アプリケーションを使用して改善措置に関するアドバイスを求めることが可能です。OARMシステムはマイクロサービスをベースとしたアーキテクチャで拡張性が高いため、コストのかかるアップグレード・プロセスを行うことなく機能を追加できます。
OARMの機能
- OARMシステムの中核はユーザー・アクティビティであり、これはビジネスに適したルールで保護されます。
- OARMには、すぐに利用可能なユーザー認証アクティビティが用意されており、ビジネスの保護にすぐに使用できる豊富なルールとともに組み込まれています。また、システムには、ユーザー認証アクティビティを追加のルールで強化したり、ビジネスに当てはまらないルールを削除したり、監視する新規ユーザー・アクティビティを追加したりする機能もあります。OARMでは、動作保証された外部ソースからのデータ・フィードのシードがサポートされており、リスク分析にも使用されます。これは、OARMのプロファイリング機能と一緒に使用することで、シード・データが適切に組み合されて分析が実行されます。
- ルールの構成や、ユーザー・アクティビティの管理とモニタリングは、直感的に設計された管理コンソールで実行できます。管理コンソールを使用すれば、管理者は、基礎となるシステムの違いを気にせず、組織に当てはまるルールを実装できます。
- OARMとOAAを組み合せると、マルチファクタで最新のチャレンジ・メソッドの豊富なセットとなり、管理者は、ビジネス要件に合ったチャレンジ・メカニズムを選択できます。また、OAAでは、Oracle Access Management Suite (OAM)などの既存のアイデンティティ管理システムとOARMを簡単に統合できます。
Oracle Universal Authenticator (OUA)について
Oracle Universal Authenticatorによって、エンド・ユーザーは、Oracle Access Management (OAM)資格証明を使用してデバイスにログインできます。これにより、エンド・ユーザーは、SSOを介してOAMで保護されたアプリケーションおよび他のシングル・サインオン(SSO)対応のアプリケーションにアクセスできます。
Oracle Universal Authenticatorは、クライアント側とサーバー側の両方の要件に対応します。このガイドでは、サーバー側の構成の側面に関する情報のみを提供します。
ノート:
OUAをインストールする前に、2024年4月のスタック・パッチ・バンドルがOAMインストールに適用されていることを確認する必要があります。この章で使用される変数
この章の以降の項では、多数のファイルを作成する手順について説明します。これらのサンプル・ファイルには、デプロイメントに適用可能な値に置換する必要がある変数が含まれています。
変数の形式は<VARIABLE_NAME>です。次の表に、これらの各変数に設定する必要がある値を示します。
表21-1 変更する必要がある変数
変数 | サンプル値 | 説明 |
---|---|---|
<REGISTRY_ADDRESS> |
|
レジストリの場所。 |
<REGISTRY_SECRET_NAME> |
|
格納されたレジストリ資格証明を使用して作成したKubernetesシークレットの名前。「コンテナ・レジストリ・シークレットの作成」を参照してください。 |
<REG_USER> |
|
レジストリへのログインに使用するユーザーの名前。 |
<REG_PWD> |
<password> |
レジストリ・ユーザー・パスワード。 |
<OAA_MGT_REPOSITORY> |
|
OAA管理イメージ・ファイルの名前。 コンテナ・イメージをダウンロードしてステージングした場合、この値は Oracleコンテナ・レジストリを使用する場合、値は コンテナ・レジストリを使用する場合、値は製品名を含むレジストリの名前になります: |
<OAAMGT_VER> |
|
使用するイメージのバージョン。 |
<OAA_DEPLOYMENT_TYPE> |
|
OAAのみをデプロイするには、 OAAとRISKの両方をデプロイするには、 OAA、RISKおよびOUAをデプロイするには、 |
<OAA_DEPLOYMENT> |
|
デプロイメントに使用される名前。作成される各ポッドには、この値の接頭辞が付きます。 |
<PVSERVER> |
|
永続ボリュームをホストするNFSサーバーの名前またはIPアドレス。 |
<OAANS> |
|
OAAオブジェクトを保持するためのKubernetesネームスペース。 |
<WORKDIR> |
|
OAAの作業ディレクトリを作成する場所。 |
<OAA_CONFIG_SHARE> |
|
OAA構成永続ボリュームのNFSマウント場所。 |
<OAA_CRED_SHARE> |
|
OAA資格証明永続ボリュームのNFSマウント場所。 |
<OAA_LOG_SHARE> |
|
OAAログ永続ボリュームのNFSマウント。 |
<OAA_VAULT_SHARE> |
|
OAAボールト永続ボリュームのNFSマウント。 |
<OAA_DB_SID> |
|
使用しているデータベース・インスタンスのORACLE_SID。スキーマはOracle Data Pumpインポート・プログラム(impdp)を使用して作成されるため、この値が必要です。 |
<OAA_KEYSTORE_PWD> |
|
OAAキーストアに使用されるパスワード。 |
<OAA_API_PWD> |
|
OAA APIを保護するために割り当てられるパスワード。 |
<UMS_SERVER_URL> |
|
電子メール・サーバーのURL。 (スタンドアロンまたはOIGの一部として) Oracle Unified Messagingを使用している場合:
|
<UMS_ADMIN_USER> |
|
SMTPサービスのユーザー名。たとえば、統合メッセージング・システム(UMS)のインストールでは、これはWebLogic管理ユーザーの名前です。 |
<UMS_ADMIN_ PASSWORD> |
<password> |
<UMS ADMIN USER>アカウントのパスワード。 |
<SSL_COUNTRY> |
|
国コード。 |
<SSL_STATE> |
|
都道府県または地域の名前。 |
<SSL_CITY> |
|
市区町村の名前。 |
<SSL_ORG> |
|
連絡者の組織の名前 |
<LDAP_OAMADMIN_USER> |
|
OAMを管理するユーザーの名前。 |
<LDAP_USER_PWD> |
|
すべてのLDAPユーザー・アカウントに割り当てられるパスワード。 |
<OAA_OAM_TAP_PARTNER> |
|
OAAパートナ・アプリケーションに付ける名前。 |
<OAA_OUA_TAP_PARTNER> |
|
OUAパートナ・アプリケーションに付ける名前。これは、OUAをデプロイする場合にのみ必要です。 |
<OAM_LOGIN_LBR_PROTOCOL> |
|
ログイン・ロード・バランサに使用されるアクセス・プロトコルのタイプ。SSL終端環境では、この値は |
<OAM_LOGIN_LBR_HOST> |
|
ログイン・ロード・バランサ仮想名の名前。 |
<OAM_LOGIN_LBR_PORT> |
|
ログイン・ロード・バランサ仮想名のポート。 |
<OAA_ADMIN_K8> |
|
OAA管理ポッドのNodePortサービス。 |
<OAMNS> |
oamns |
OAMオブジェクトを格納するために使用されるドメイン・ネームスペース。 |
<OAM_DOMAIN_NAME> |
|
作成されるドメインの名前。 |
<OAM_ADMIN_LBR_HOST> |
|
OAM管理機能の仮想ホスト。 |
<OAM_ADMIN_LBR_PORTT> |
|
OAM管理機能の仮想ポート。 |
<OIG_DOMAIN_NAME> |
|
作成されるドメインの名前。 |
<ELK_HOST> |
|
集中管理型のElasticsearchデプロイメントのホストおよびポート。このホストは、Kubernetesクラスタの中と外のどちらでもかまいません。このホストは、Elasticsearchが使用されている場合にのみ使用されます。 |
<ELK_VER> |
|
使用するElasticsearchのバージョン。 |
<LDAP_WLSADMIN_USER> |
|
LDAPで定義されたWebLogic管理ユーザー。 |
<LDAP_WLSADMIN_PWD> |
|
LDAPで定義されたWebLogic管理ユーザー・パスワード。 |
<OAM_WEBLOGIC_USER> |
|
内部WebLogic管理ユーザー。 |
<OAM_WEBLOGIC_PWD> |
|
内部WebLogic管理ユーザー・パスワード。 |
<OAA_SPUI_URL> |
|
OAAセルフ・サービス・コンソールのURL。 |
<OAA_POLICY_URL> |
|
OAAポリシーREST APIのURL。 |
OAAインストールの特徴
この項では、作成しようとしているOAAインストールの主な特徴を示します。これらの特性を確認して、OAAの構成に使用される手順の目的とコンテキストを理解します。
表21-2 OAAインストールの主な特徴
OAAの特徴 | 詳細情報 |
---|---|
マイクロサービスはそれぞれ、Kubernetesクラスタ内のポッドにデプロイされます。 |
「Kubernetesデプロイメントについて」を参照してください。 |
OAAコンポーネントを専用のKubernetesネームスペースに配置します。 |
「Kubernetesデプロイメントについて」を参照してください。 |
ファイルベースまたはOCIベースのボールトを使用します。 |
「ボールトの作成」を参照してください。 |
Kubernetesサービスを使用してマイクロサービスと対話します。 |
「Kubernetesサービスの作成」を参照してください。 |
Kubernetes永続ボリュームを使用して構成情報を保持します。 |
unresolvable-reference.html#GUID-CF07EE44-34D9-4F36-97BE-6B3FBB4FCEA8を参照してください。 |
各Kubernetesポッドは、事前作成済のOracleコンテナ・イメージから作成されます。 |
|
Oracle Access Managerをインストールして構成する必要があります。 |
「WDTを使用したOracle Identity Governanceの構成」を参照してください。 |
インストールは、スタンドアロンにも統合にもできます。 |
「Oracle Advanced Authentication」を参照してください。 |
Kubernetesサービス
NodePortサービスを使用している場合、OAAインストールの一部としてKubernetesサービスが作成されます。
表21-3 Kubernetes NodePortサービス
サービス名 | タイプ | サービス・ポート | マップ済ポート |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
開始する前に
インストールを開始する前に、このトピックにリストされているすべての必須タスクが完了していることを確認する必要があります。
次のタスクを完了する必要があります:
- 各Kubernetesワーカー・ノードにステージングされている、またはアクセス権のあるコンテナ・レジストリでホストされている、必要なOracleコンテナ・イメージを取得します。コンテナ・イメージのリストは、「エンタープライズ・デプロイメント用のソフトウェアの調達」を参照してください。
- 「Oracle HTTP Serverのインストールと構成」の説明に従って、Oracle HTTP Serverを構成していること。
- 「Oracle Unified Directoryのインストールおよび構成」の説明に従って、Oracle Unified Directoryを構成していること。
- 「WDTを使用したOracle Access Managerの構成」の説明に従って、Oracle Access Managerを構成していること。
- 「OAMへの不足ポリシーの追加」の説明に従って、OIRIの不足しているOAMポリシーを追加してあること。
- 「エンタープライズ・デプロイメント用のシングル・サインオンの構成」の説明に従って、WebGateを有効にしていること。
ノート:
既存のデプロイメントに追加する場合は、前述の各項に戻って、Oracle Advanced Authenticationのエントリが設定されていることを確認する必要があります。LDAPにおけるユーザーとグループの作成
Oracle Advanced Authenticationでは、LDAP内で2つのグループを設定する必要があります。
OAA-Admin-Role
。OAA管理コンソールへのアクセスを許可されたユーザーを認証するために使用されます。OAA-App-User
。OAAユーザー・プリファレンス・コンソールへのアクセスを許可されたユーザーのリストが含まれます。
ノート:
- ユーザーは一度に1つのグループにのみ属することができます。
- 既存のすべてのユーザーがOAAに属している場合、いずれも既存の
OAA-APP-User
グループに属している必要があります。
ユーザーおよびグループを作成するには:
既存のOAAユーザーに対するLDAP属性obpsftidの設定
既存のOAAユーザー(LDAPグループOAA-App-Userのメンバーであるユーザー)に対して永続ログインを有効にするには、各LDAPユーザーのLDAP属性obpsftidをtrueに設定する必要があります。
次のステップを実行して、LDAP属性obpsftidを設定します:
Kubernetesネームスペースの作成
Kubernetesネームスペースは、OAAオブジェクトを格納するために使用されます。
kubectl create namespace <OAANS>
kubectl create namespace oaans
コンテナ・レジストリ・シークレットの作成
コンテナ・レジストリを使用して、オンデマンドでOracleコンテナ・イメージをプルする場合は、コンテナ・レジストリのログイン詳細を含むシークレットを作成する必要があります。
コンテナ・イメージをローカルにステージングした場合は、このステップは必要ありません。コンテナ・レジストリを使用することを強くお薦めします。
kubectl create secret -n <OAANS> docker-registry <REGISTRY_SECRET_NAME> --docker-server=<REGISTRY_ADDRESS> --docker-username=<REG_USER> --docker-password=<REG_PWD>
kubectl create secret -n oaans docker-registry regcred --docker-server=iad.ocir.io/mytenancy --docker-username=mytenancy/oracleidentitycloudservice/myemail@email.com --docker-password=<password>
ノート:
OAAネームスペースにレジストリ・シークレットを作成する必要があります。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
GitHubシークレットの作成
gitcred
というシークレットを作成するには、次のコマンドを使用します:kubectl create secret -n oaans docker-registry gitcred --docker-server=ghcr.io --docker-username=mygituser --docker-password="mytoken"
このシークレットは、oaaネームスペースに作成する必要があります。
管理コンテナの起動
管理コンテナを起動する前に、永続ボリュームが作成されていることを確認します。
「ファイル・システムとマウント・ターゲットの作成」を参照してください。
管理コンテナを起動するには:
ノート:
例で「OAA-MGMT内から次のコマンドを使用」と指示されている場合は、この項の説明に従って実行中のコンテナに接続して、指定されたとおりにコマンドを実行する必要があります。Kubernetesクラスタへの管理コンテナ・アクセス権の付与
OAA管理コンテナには、Kubernetesクラスタと対話するための組込みコマンドがあります。管理コンテナに、Kubernetesクラスタへのアクセス方法の詳細を指定する必要があります。
アクセスを提供するには、kubectl
コマンドが機能しているノードで次のステップを実行します:
Kubernetesサービス・シークレットの作成
kubectl create -f <WORKDIR>/create_svc_secret.yaml
kubectl create -f /workdir/OIRI/create_svc_secret.yaml
<WORKDIR>/create_svc_secret.yaml
の内容は次のとおりです:apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: oaa-service-account
namespace: <OAANS>
annotations:
kubernetes.io/service-account.name: "oaa-service-account"
Kubernetesサービス・アカウントの作成
kubectl apply -f <WORKDIR>/create_svc.yaml
kubectl apply -f /workdir/OAA/create_svc.yaml
<WORKDIR>/create_svc.yaml
の内容は次のとおりです:apiVersion: v1
kind: ServiceAccount
metadata:
name: oaa-service-account
namespace: <OAANS>
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: oaa-ns-role
namespace: <OAANS>
rules:
- apiGroups: ["*"]
resources: ["*","secrets"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: oaa-clusterrolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: system:persistent-volume-provisioner
subjects:
- namespace: <OAANS>
kind: ServiceAccount
name: oaa-service-account
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: oaa-clusteradmin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- namespace: <OAANS>
kind: ServiceAccount
name: oaa-service-account
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: oaa-rolebinding
namespace: <OAANS>
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: oaa-ns-role
subjects:
- namespace: <OAANS>
kind: ServiceAccount
name: oaa-service-account
ca.crt証明書の生成
次のコマンドを使用してKubernetes証明書を取得します:
OAANS=oaans
WORKDIR=/workdir/OAA
TOKENNAME=`kubectl -n $OAANS get serviceaccount/oaa-service-account -o jsonpath='{.secrets[0].name}'`
TOKENNAME=oaa-service-account
TOKEN=`kubectl -n $OAANS get secret $TOKENNAME -o jsonpath='{.data.token}'| base64 --decode`
kubectl -n $OAANS get secret $TOKENNAME -o jsonpath='{.data.ca\.crt}'| base64 --decode > $WORKDIR/ca.crt
OAA用のKubernetes構成ファイルの作成
Kubernetes構成ファイルを生成して、kubectl
との対話方法をOAAに指示します。
ノート:
開始する前に、KUBECONFIGをKubernetes構成ファイルに設定していることを確認してください。OAANS=oaans
WORKDIR=/workdir/OAA
TOKEN=`kubectl -n $OAANS get secret $TOKENNAME -o jsonpath='{.data.token}'| base64 --decode`
K8URL=`grep server: $KUBECONFIG | sed 's/server://;s/ //g'`
kubectl config --kubeconfig=$WORKDIR/oaa_config set-cluster oaa-cluster --server=$K8URL --certificate-authority=$WORKDIR/ca.crt --embed-certs=true
kubectl config --kubeconfig=$WORKDIR/oaa_config set-credentials oaa-service-account --token=$TOKEN
kubectl config --kubeconfig=$WORKDIR/oaa_config set-context oaa --user=oaa-service-account --cluster=oaa-cluster
kubectl config --kubeconfig=$WORKDIR/oaa_config use-context oaa
これらのコマンドは、oaa_config
というファイルを<WORKDIR>
の場所に生成します。このファイルには、Kubernetesクラスタの詳細が含まれます。
OAA-MGMTコンテナへのファイルのコピー
ca.crt
(「ca.crt証明書の生成」を参照)およびoaa_config
(「OAA用のKubernetes構成ファイルの作成」を参照)ファイルをOAA-MGMTコンテナにコピーします:OAANS=oaans
WORKDIR=/workdir/OAA
kubectl cp $WORKDIR/ca.crt $OAANS/oaa-mgmt:/u01/oracle/scripts/creds
kubectl cp $WORKDIR/oaa_config $OAANS/oaa-mgmt:/u01/oracle/scripts/creds/k8sconfig
oaa-mgmt
から、次のコマンドを実行します:chmod 400 /u01/oracle/scripts/creds/k8sconfig
Helm構成ファイルの作成
OAAインストール手順は、存在しているhelmconfig
ファイルに依存します。このファイルは、ほとんど常に空のファイルです。
helmconfig
ファイルを作成するには:
OAAサーバー証明書の作成
OAAで使用する証明書を作成する必要があります。OAAは、SSL通信のみを使用して構成されます。
証明書を作成するには、次のステップを実行します:
OAM証明書の取得
OAMサーバーはSSLを使用して構成されます。特に、このガイドのOAMをデプロイする手順に従った場合は、これはロード・バランサで終端する可能性が高くなります。「WDTを使用したOracle Access Managerの構成」を参照してください。OAAがOAMと正常に通信するためには、OAMを信頼する必要があります。この信頼を構築するには、次のステップで作成するOAAトラスト・ストアにOAM証明書を追加する必要があります。
openssl
コマンドを使用します。コマンドの構文は、次のとおりです。openssl s_client -connect LOADBALANCER -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM >/workdir/OAA/LOADBALANCER.pem
openssl s_client -connect login.example.com:443 -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM >/workdir/OAA/login.example.com.pem
openssl
コマンドにより、証明書が/workdir/OAA
ディレクトリのlogin.example.com.pem
というファイルに保存されます。
親トピック: OAAサーバー証明書の作成
Mgmtポッドへの証明書ファイルのコピー
Mgmt
ポッドにコピーします:kubectl cp $WORKDIR/trust.p12 oaans/oaa-mgmt:/u01/oracle/scripts/creds/trust.p12
kubectl cp $WORKDIR/cert.p12 oaans/oaa-mgmt:/u01/oracle/scripts/creds/cert.p12
親トピック: OAAサーバー証明書の作成
OAM TAPパートナの登録
OAAおよびOUAがよりセキュアな方法でOAMで認証できるようにするために使用されるOAM TAPパートナを登録する必要があります。
OAM TAPパートナとしてのOAAの登録
親トピック: OAM TAPパートナの登録
OAP TAPパートナとしてのOUAの登録
親トピック: OAM TAPパートナの登録
OAAプロパティ・ファイルの作成
OAAデプロイメントは、プロパティ・ファイル内の値に依存します。このファイルは、データベース・スキーマの作成およびOAA自体のデプロイに使用されます。ファイルを作成するステップは、OAA-MGMTポッド内で実行されます。
次のステップを実行して、プロパティ・ファイルを作成します:
テンプレート・ファイルのコピー
cp /u01/oracle/installsettings/installOAA.properties /u01/oracle/scripts/settings/installOAA.properties
cp /u01/oracle/installsettings/oaaoverride.yaml /u01/oracle/scripts/settings/oaaoverride.yaml
親トピック: OAAプロパティ・ファイルの作成
プロパティ・ファイルの更新
この項の説明に従って、プロパティ・ファイル内の値を更新します。パラメータを変更する場合は、そのパラメータがプロパティ・ファイルのコメントに挿入されていないことを確認します。
/u01/oracle/scripts/settings/installOAA.properties
ファイルを更新する必要があります。
- データベース・パラメータ
- 共通のデプロイメント・パラメータ
- イングレス・パラメータ
- ファイル・ベースのボールト
- OCIベースのボールト
- OUAパラメータ
- 汎用パラメータ
- installOAA.propertiesファイルの例
親トピック: OAAプロパティ・ファイルの作成
データベース・パラメータ
表21-4 データベース・パラメータ
パラメータ | サンプル値 | コメント |
---|---|---|
|
|
OAAスキーマを作成するには、この値を設定します。 |
|
dbscan.example.com |
この値は、データベース・サーバーのSCANアドレスに設定します。 |
|
1521 |
データベース・リスナー・ポート。 |
|
oaaedg.example.com |
OAAデータベース・サービスの名前。 |
|
- |
この値は、データベースのSYSパスワードに設定します。パラメータがコメント内に挿入されていないことを確認します。 |
|
EDG_OAA |
使用するデータベース・スキーマ接頭辞。 |
|
EDG_OAA_OAA_TB |
作成する表領域の名前。管理しやすいようにスキーマ接頭辞を含めます。 |
|
- |
OAAデータベース・スキーマに割り当てられるパスワード。 |
|
- |
このパラメータに追加された値がないことを確認します。 |
親トピック: プロパティ・ファイルの更新
共通のデプロイメント・パラメータ
表21-5 共通のデプロイメント・パラメータ
パラメータ | サンプル値 | コメント |
---|---|---|
|
OAA both OUA |
デプロイメントのタイプには次が含まれます:
|
|
edg |
Helmに表示されるデプロイメントの名前。 ノート: |
|
oaans |
OAAオブジェクトを保持するために使用するネームスペースの名前。 |
|
- |
サーバー証明書を作成したときに使用したパスワード。「サーバー証明書の作成」を参照してください。 |
|
- |
トラスト・ストアを作成したときに使用したパスワード。「OAAトラスト・ストアの作成」を参照してください。 |
|
/u01/oracle/scripts/settings/oaaoverride.yaml |
この値がコメント内に挿入されていないことを確認します。 |
|
true |
10月リリースでは、データベース・スキーマはシードされません。このリリースでは、この値をtrueに設定する必要があります。 ノート: スナップショットをインポートしたら、今後のアップグレードでデータが上書きされないように、この値を |
|
/u01/oracle/scripts/oarm-12.2.1.4.1-base-snapshot.zip |
10月リリースでは、データベース・スキーマはシードされません。この値は、管理コンテナに存在するスナップショット・ファイルの場所に設定する必要があります。記載されているファイルはデフォルト値です。My Oracle Supportから最新バージョンをダウンロードする場合は、ドキュメントID 2723908.1を参照してください。 |
|
OAADomain |
OHSリライト・ルールで追加した値と同じ値を使用します。「Oracle Advanced Authentication、Oracle Adaptive Risk ManagementおよびOracle Universal Authenticator用のOracle HTTP Serverの構成」のステップ4を参照してください。 |
|
OAMIDSTORE |
OAM IDストアの名前。「構成ファイルの作成」を参照してください。 |
|
- |
OAM Oauthの対話に使用するパスワード。 |
|
http://accessdomain-adminserver.oamns.svc.cluster.local:7001 http://iadadmin.example.com/ |
Oracle Access Manager管理サーバーへのアクセスに使用するURL。OAMがKubernetesクラスタ内にある場合は、内部OAMサービス名を使用する必要があります。それ以外の場合は、OAM管理URLを使用する必要があります。 |
|
- |
OAM管理ユーザーのエンコードされたユーザー名とパスワードの値(*)。 |
|
https://login.example.com:443/ |
OAMのパブリック・エントリ・ポイント。 |
|
https://login.example.com:443/ |
OAMのパブリック・エントリ・ポイント。 |
|
https://login.example.com:443/ |
OAAアプリケーションの実行時操作のメイン・エントリ・ポイント。 |
|
http://iadadmin.example.com:80 |
OAAアプリケーションの管理操作のメイン・エントリ・ポイント。 |
echo -n <LDAP_OAMADMIN_USER>:<LDAP_USER_PWD> | base64
echo -n oamadmin:mypassword | base64
親トピック: プロパティ・ファイルの更新
イングレス・パラメータ
イングレス・コントローラを使用する場合は、インストールでイングレス・サービスが自動的に作成されます。これらの値を指定して、イングレス用にOAAを構成します。
表21-6 イングレス・パラメータ
パラメータ | 値 | 説明 |
---|---|---|
install.global.ingress.enabled |
|
イングレス・サービスを作成するには、この値をtrueに設定します。 |
install.global.ingress.runtime.host |
|
この値は、実行時操作に使用される仮想ホストの名前に設定します。 |
install.global.ingress.admin.host |
|
この値は、管理操作に使用される仮想ホストの名前に設定します。 |
親トピック: プロパティ・ファイルの更新
ファイル・ベースのボールト
OAA用のボールトを作成する場合、2つの選択肢があります。ファイル・ベースのボールトまたはOCIボールトを使用できます。OCIボールトを使用することをお薦めします。ただし、ファイル・ベースのボールトを使用する場合は、プロパティ・ファイルで次のパラメータを設定する必要があります:
表21-7 ファイル・ベースのボールトのパラメータ
パラメータ | 値 | コメント |
---|---|---|
|
oaavault |
ボールトの名前。 |
|
fks |
ボールトのタイプ。fksはファイルベースのボールトです。 |
|
0.0.0.0 |
NFSサーバーの名前またはIPアドレス。 |
vault.fks.path |
/exports/IAMPVS/oaavaultpv |
ファイル・システムのNFSエクスポート名。 |
vault.fks.key |
- |
ボールトにアクセスするために使用されるパスワード。 |
親トピック: プロパティ・ファイルの更新
OCIベースのボールト
OCIベースのボールトを使用する場合は、プロパティ・ファイルで次のパラメータを設定する必要があります:
ノート:
表21-8に示すvault.ociパラメータはそれぞれ、Base64でエンコードする必要があります。Base64でエンコードするには、次のコマンドを実行します:echo -n "value" | base64
表21-8 OCIベースのボールトのパラメータ
パラメータ | 値 | コメント |
---|---|---|
vault.deploy.name |
oaavault |
ボールトの名前。 |
vault.provider |
oci |
ボールトのタイプ。 |
vault.oci.uasoperator |
- |
この値を取得するには、ボールトの作成時にダウンロードしたAPIキーの値をエンコードします。「ボールトの作成」を参照してください。 |
vault.oci.tenancyId |
- |
この値を取得するには、OCIコンソールにログインし、「プロファイル」に移動して「テナンシ」をクリックします。Base64としてエンコードされたOCID値を使用します。 |
vault.oci.userId |
- |
この値を取得するには、OCIコンソールにログインし、「プロファイル」に移動して「ユーザー名」をクリックします。Base64としてエンコードされたOCID値を使用します。 |
vault.oci.compartmentId |
- |
この値を取得するには、OCIコンソールにログインし、「アイデンティティとセキュリティ」に移動して「コンパートメント」をクリックします。ボールトを作成したコンパートメントを選択し、Base64としてエンコードされたOCID値を使用します。 |
vault.oci.fpId |
- |
この値を取得するには、OCIコンソールにログインし、「プロファイル」に移動して「ユーザー設定」を選択し、「APIキー」をクリックします。前に作成したAPIキーのフィンガープリントの値を使用します。「ボールトの作成」を参照してください。 |
vault.oci.vaultId |
- |
この値を取得するには、OCIコンソールにログインし、「アイデンティティとセキュリティ」に移動して「Vault」を選択します。前に作成したボールトをクリックします。「ボールトの作成」を参照してください。Base64としてエンコードされたOCID値を使用します。 |
vault.oci.keyId |
- |
この値を取得するには、OCIコンソールにログインし、「アイデンティティとセキュリティ」に移動して「Vault」を選択し、前に作成したボールトをクリックします。「ボールトの作成」を参照してください。前に作成したキーをクリックします。たとえば、masterkeyです。Base64としてエンコードされたOCID値を使用します。 |
親トピック: プロパティ・ファイルの更新
OUAパラメータ
Oracle Universal Authenticatorをデプロイする場合、次のパラメータを設定する必要があります。
表21-9 OUAパラメータ
パラメータ | 値 | コメント |
---|---|---|
|
OAM-OUA-TAP |
「OAP TAPパートナとしてのOUAの登録」で作成したOUA TAPエージェントの名前。 |
|
/u01/oracle/scripts/creds/OAMOUAKeyStore.jks |
OAA管理コンテナ内のキーストア・ファイルの場所。 |
|
keystorepassword |
「OAP TAPパートナとしてのOUAの登録」で作成したキーストア・ファイルのパスワード。このパスワード値は、bas64でエンコードする必要があります。たとえば、echo -n keystorepassword | base64です。 |
|
https://login.example.com:443/ |
OAMのパブリック・エントリ・ポイント。 |
親トピック: プロパティ・ファイルの更新
汎用パラメータ
表21-10 汎用パラメータ
パラメータ | 値 | コメント |
---|---|---|
|
iad.ocir.io/mytenancy |
コンテナ・レジストリの名前。 |
|
regcred |
コンテナ・レジストリ資格証明を含むKubernetesシークレットの名前。 |
|
gitcred |
GitHub資格証明を含むKubernetesシークレットの名前。 |
|
12.2.1.4.1-20220127 |
インストールするOAAのバージョン。 |
|
https://login.example.com:443/oam/server/logout |
OAMログアウトURL。 |
|
myAPIpassword |
OAA REST APIに使用するパスワード。 |
|
myAPIpassword |
ポリシーREST APIに使用するパスワード。 |
|
myAPIpassword |
ファクタREST APIに使用するパスワード。 |
|
myAPIpassword |
リスクREST APIに使用するパスワード。 |
|
myAPIpassword |
DRSS REST APIに使用する必要があるパスワード。 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
|
|
作成するKubernetesサービスのタイプ。イングレスを使用している場合は、 |
親トピック: プロパティ・ファイルの更新
installOAA.propertiesファイルの例
##################################### 1. Common Deployment configuration#########################################
#Common configuration options
#If enabled and set to true, helm installation will only display generated values and will not actually perform the installation.
#common.dryrun=true
#Name of the helm deployment. It is unique per kubernetes cluster and namespace. Should be all lowercase.
common.deployment.name=edg
#Override file to override any char values. Must be in yaml format.
common.deployment.overridefile=/u01/oracle/scripts/settings/oaaoverride.yaml
#Kubernetes context if there are multiple contexts available
#common.kube.context=idmoci
#Kubernetes deployment namespace where all the services will be installed.
common.kube.namespace=oaans
#Certificate store used in all the services
common.deployment.sslcert=/u01/oracle/scripts/creds/cert.p12
#Trust store used in all the services
common.deployment.trustcert=/u01/oracle/scripts/creds/trust.p12
#Passphrase for cert.p12 file. If the value for the passphrase is not present in properties below, it will be prompted during installation.
common.deployment.keystorepassphrase=myPassword
#Passphrase for trust.p12 file. If the value for the passphrase is not present in properties below, it will be prompted during installation.
common.deployment.truststorepassphrase=myPassword
#If the flag is enabled then trust certificate in the JRE truststore
common.deployment.importtruststore=true
#The flag to disable the generation of secret in the keystore provided in the property common.deployment.sslcert. Following secret keys are generated and are required for installation to work which can also be pre-seeded in the keystore.
#spui-enckey , aes256_config_key_alias and aes256_db_key_alias
common.deployment.generate.secret=true
#Deployment mode. Possible values are OAA, Risk or Both. Default mode is Both which will install OAA integrated with Risk.
common.deployment.mode=Both
#Base64 encoded config key from the migrating system. If enabled the value will be placed in the vault and used for migration of legacy data
#common.migration.configkey=
#Base64 encoded db key from the migrating system. If enabled the value will be placed in the vault and used for migration of db data.
#common.migration.dbkey=
#If the integation is required with OIM set the following property to true. This also enables the forgot password functionality.
#common.oim.integration=true
#Key for Apple push notification service. Only needed when push factor is enabled.
#common.deployment.push.apnsjksfile=
#Deprecated. By default policy snapshot import is not enabled. Kindly refer document to import it post installation.
#common.deployment.import.snapshot=true
##################################### 2. Database configuration#########################################
# Database setting for OAA
#The installation supports the following ways to install and configure the database:
#1. Installing database along with installing services on kubernetes cluster
#2. Installing database outside the installation of services and providing the database configuration below.
#In case of 2, set database.createschema=false
#If set to true schema will be created along with the installation.
database.createschema=true
#Host IP or name where Oracle DB is running. If hostname is provided then it should be resolvable from the container.
database.host=db-scan.example.com
#Database port
database.port=1521
#Database sysdba user required to create the schema. If database.createschema is set to false, the property is not required.
database.sysuser=sys
#Sys password will not be prompted if value is provided for the property database.syspassword. If database.createschema is set to false, the property is not required.
database.syspassword=sysPassword
#Schema name to be created in the database. The value is required.
database.schema=EDG_OAA
#Name of the tablespace. If database.createschema is set to false, the property is not required.
database.tablespace=EDG_OAA_TBS
#Schema password will not be prompted if value is provided for the property database.schemapassword
database.schemapassword=schemaPassword
#Database service name
database.svc=edgoaa.example.com
#Name of the database. In case of OCI database service, the name is present in the OCI console. If name is not present, use value of database.svc property.
database.name=iamdb1
##################################### 3. OAUTH configuration#########################################
#Oauth setting for OAA. Oauth is required for enabling spui , admin and fido.
# If oauth.enabled is set as false, install.spui.enabled , install.oaa-admin-ui.enabled and install.fido.enabled should also be set to false otherwise helm installation
# will fail. Setting the property to true enables OAM Oauth integration during installation of services.
oauth.enabled=true
#Create OAuth Domain in OAM
oauth.createdomain=true
#Create OAuth Resource in OAM
oauth.createresource=true
#Create OAuth client in OAM
oauth.createclient=true
#OAuth domain name used when creating the OAuth domain in OAM
oauth.domainname=OAADomain
#OAuth domain identity provider configured for OAuth in OAM
oauth.identityprovider=OAMIDSTORE
#OAuth client name
oauth.clientname=OAAClient
#Grants for OAuth client created during installation. CLIENT_CREDENTIALS is required for validation to pass.
oauth.clientgrants="PASSWORD","CLIENT_CREDENTIALS","JWT_BEARER","REFRESH_TOKEN","AUTHORIZATION_CODE","IMPLICIT"
#OAuth Client Type of new OAuth client
oauth.clienttype=PUBLIC_CLIENT
#Client password must conform to regex ^[a-zA-Z0-9.\-\/+=@_ ]*$ with a maximum length of 500
oauth.clientpassword=myPassword
#OAuth resouce name for new OAuth resource
oauth.resourcename=OAAResource
#Default score of OAuth resource
oauth.resourcescope=viewResource
#Post authentication redirecturl is required. Used for validating configuration of OAuth services in OAM by generating a access token.
oauth.redirecturl=https://login.example.com:443
#Application id protected by oauth. The value can be any valid string. It is required to setup runtime integration between OAM and OAA.
oauth.applicationid=edg
#OAM Admin URL where OAuth API are enabled.
oauth.adminurl=http://accessdomain-adminserver.oamns.svc.cluster.local:7001
#Base64 encoded authorization header of OAM Admin server
oauth.basicauthzheader=EncodedOAMPassord
#OAM Managed server providing runtime support for OAuth Services
oauth.identityuri=https://login.example.com:443
##################################### 4. Vault configuration#########################################
#Following vaules are possible for vault.provider : oci , fks
#If oci is the provider the oci related configuration may be required to perform the vault initialization
#Name to be used in vault for this deploymemt. If name is already present in the vault, it will be reused.
vault.deploy.name=oaavault
#Flag to control the vault creation. If vault is initialized outside the installation, it should be set to false.
vault.create.deploy=true
#Provider type of vault. Supported provider types are oci, fks.
vault.provider=fks
#oci vault configuration required for the vault. Check vault documentation on how to obtain value for following properties.
#vault.oci.uasoperator=
#vault.oci.tenancyId=
#vault.oci.userId=
#vault.oci.fpId=
#vault.oci.compartmentId=
#vault.oci.vaultId=
#vault.oci.keyId=
#fks related configuration. Check the documentation on how to obtain value for properties below.
#NFS server ip or resolvable hostname.
vault.fks.server=dbdevfssmnt-shared01.dev2fss1iad.databasede2iad.oraclevcn.com
#Path on NFS server to be mapped to folder in the running containers.
vault.fks.path=/export/IAMPVS/oaavaultpv
#Base64 encoded vault password.
vault.fks.key=TWFuYWdlcjE=
#The value in this property need to be same as the value passed through the helm chart. Do not change it
vault.fks.mountpath=/u01/oracle/service/store/oaa
##################################### 5. Chart configuration#########################################
#Note: Any property that starts with install. will be provided as input to the helm chart using --set parameter.
#Container image repositories where the images can be pulled by the cluster nodes.
install.global.repo=iad.ocir.io/mytenancy
#Kubernetes secret reference to be used while pulling the docker images from the protected docker registries.
install.global.imagePullSecrets\[0\].name=regcred
install.global.imagePullSecrets\[1\].name=gitcred
#Chart Database properties
install.riskdb.service.type=ExternalName
#Image tags to be used
install.global.image.tag=12.2.1.4.1_20220419
#Oauth logout URL
install.global.oauth.logouturl=https://login.example.com:443/oam/server/logout
#Installation api key
#Rest Api key for OAA service.
install.global.uasapikey=myAPIpassword
#Rest Api key for policy service.
install.global.policyapikey=myAPIpassword
#Rest API key for all factor services.
install.global.factorsapikey=myAPIpassword
#Rest API key for risk and risk customer care services.
install.global.riskapikey=myAPIpassword
#Rest API key for DRSS service.
install.global.drssapikey=myAPIpassword
#In case of OCI vault, the following configuration can be overridden if provided for read-only users during helm installation.
#If the value is not provided in the properties below then it will be picked from vault section.
#All the values in the section below is optional.
#install.global.vault.mapId=b2NpZDEudmF1bHRzZWNyZXQub2MxLmlhZC5hbWFhYWFhYWRjeHl1dXFha2xmejVkbW9rcnpkajZva2Rtdmt0bGp2Y2tyZGIyd3B0emt6bHlkbTN1emEK
#install.global.vault.oci.uasoperator=
#install.global.vault.oci.tenancyId=
#install.global.vault.oci.userId=
#install.global.vault.oci.fpId=
##################################### 6. Optional configuration#########################################
##Ingress properties that can be used to enable ingress for services begin deployed.
#Deprecated property. Will be removed in future. Use install.global.ingress.enabled instead.
#install.ingress.enabled=true
#Enable ingress for all services.
install.global.ingress.enabled=true
#Ingress resource hostname. Should be all lowercase. If provided, dedicated hostname will be used to access the deployment. Otherwise can use any hostname or IP Address.
#Following configurations are deprecated. Use install.global.ingress.runtime.host and install.global.ingress.admin.host for specifying runtime and admin host
#install.global.ingress.hosts\[0\].host=oaainstall-host
#install.global.ingress.hosts\[1\].host=oaaadmin-host
#Runtime host used for accessing runtime services including all factors, oaa ,spui and risk.
install.global.ingress.runtime.host=login.example.com
#Admin host used for accessing admin, policy and risk-cc services.
install.global.ingress.admin.host=iadadmin.example.com
##Following properties are picked from database related properties if not present below.
#install.global.dbhost=
#install.global.dbport=
#install.global.dscredentials=
#install.global.dbservicename=
##Following properties are picked from oauth related properties if not present below.
#install.global.oauth.oidcidentityuri=
#install.global.oauth.oidcaudience=
#install.global.oauth.oidcclientid=
#if load balancer/ingress url is present, then configure the url here. All UI service will be behind this load balancer/ingress.
#In case ingress installation is set to true, the appropriate service url will be fetch after ingress installation
# and will be used as service url. If provided, service url from the property below will have higher priority.
install.global.serviceurl=https://login.example.com:443
#Service URL of oaa admin, if different from the service url of global oauth.
install.oaa-admin-ui.serviceurl=http://iadadmin.example.com:80
#If oauth.enabled is set to false, uncomment following properties. Also when deployment mode is Risk spui, fido and oaa-kba services are not required.
#install.spui.enabled=false
#install.fido.enabled=false
#install.oaa-admin-ui.enabled=false
#install.oaa-kba.enabled=false
#Also authentication factor Services are enabled by default. To disable them uncomment the lines below.
#When deployment mode is Risk, the following configurations is not required.
#install.totp.enabled=false
#install.push.enabled=false
#install.sms.enabled=false
#install.yotp.enabled=false
#install.email.enabled=false
#Default service type for services is NodePort. When deployment mode is Risk following service are not deployed :
#OAA, SPUI, All Factors (fido, push, yotp, email ,sms, totp and kba)
install.service.type=ClusterIP
install.oaa-admin-ui.service.type=ClusterIP
install.oaa-policy.service.type=ClusterIP
install.spui.service.type=ClusterIP
install.totp.service.type=ClusterIP
install.fido.service.type=ClusterIP
install.push.service.type=ClusterIP
install.email.service.type=ClusterIP
install.sms.service.type=ClusterIP
install.yotp.service.type=ClusterIP
install.risk.service.type=ClusterIP
install.oaa-kba.service.type=ClusterIP
install.risk.riskcc.service.type=ClusterIP
#Properties used to install ingress using the ingress chart present in helmcharts folder
##################################### 7. Ingress configuration#########################################
#To install the ingress controller along with the services set the following flag to true.
ingress.install=false
#Kubernetes name space which will be used to install ingress
ingress.namespace=ingress-nginx
#Admissions controller can be installed seperately.
#Ingress admissions name is not present the controller.admissionWebhooks.enabled will be set to false in the nginx ingress chart.
#ingress.admissions.name=ingress-nginx-controller-admission
#Ingress class name that would be used for installation. Must not be existing
ingress.class.name=ingress-nginx-class
ingress.service.type=NodePort
#anything starting with ingress.install can be additionally supplied to set the ingress chart value.
#ingress.install.releaseNameOverride=base
##################################### 8. OAA management configuration#########################################
#NFS volumes
#install.mount.config.path=<NFS_CONFIG_PATH>
#install.mount.config.server=<NFS_CONFIG_SERVER>
#install.mount.creds.path=<NFS_CREDS_PATH>
#install.mount.creds.server=<NFS_CREDS_SERVER>
#install.mount.logs.path=<NFS_LOGS_PATH>
#install.mount.logs.server=<NFS_LOGS_SERVER>
#OAA mgmt chart release name, default can be used for most installations
install.mgmt.release.name=oaamgmt
#Location of kube credentials to use for installation.
#If not provide credentials in $KUBECONFIG or ~/.kube/config will be used
#install.kube.creds=<LOCAL_PATH>/<KUBE_CREDS>
#SSL certificates
#common.local.sslcert=<LOCAL_PATH>/<LOCAL_CERT_FILE>
#common.local.trustcert=<LOCAL_PATH>/<LOCAL_TRUST_FILE>
common.deployment.import.snapshot=false
common.deployment.import.snapshot.file=/u01/oracle/scripts/oarm-12.2.1.4.1-base-snapshot.zip
##################################### 9. OUA Configuration ###################
# OUA properties needed for integration with OAA.
# OUA Agent Name. Has to be the same as the TAP Partner in OAM.
oua.tapAgentName=OAM-OUA-TAP
# OUA Password for the jks file (Base 64 Encoded)
oua.tapAgentFilePass=keystorepassword
# OUA JKS File Location
oua.tapAgentFileLocation=/u01/oracle/scripts/creds/OAMOUAKeyStore.jks
# OUA OAM Runtime Endpoint
oua.oamRuntimeEndpoint=https://login.example.com:443
親トピック: プロパティ・ファイルの更新
OAAオーバーライド・ファイルの作成
OAAオーバーライド・ファイルは、起動される各タイプのコンテナの数を決定するために使用されます。高可用性のデプロイメントでは、コンテナ・タイプごとに2つ以上必要です。
起動されるコンテナ数を設定するには、/u01/oracle/scripts/settings/oaaoverride.yaml
ファイルを更新して、コンテナのタイプごとにreplicaCount
を必要な数量に増やします。
このファイルを使用して、リソース要件を指定できます。リソース要件を宣言することにより、そのリソース要件でポッドを処理するのに十分な容量があるワーカー・ノードでのみ、特定のOAAポッドが起動されるようになります。また、HorizontalPodAutoscalerリソース(「Kubernetes HorizontalPodAutoscalerリソースのデプロイ」を参照)を使用して、特定タイプのポッドの数を必要に応じてスケール・アップおよびスケール・ダウンすることもできます。
ノート:
必要なエントリが欠落していれば、追加します。次の例は、oaa
およびspui
コンテナに追加するリソース要件を示しています。
oaaoverride.yaml
ファイルの例:
#override file for ooa installation
#if database is external to the cluster set the flag to ExternalName
riskdb:
service:
type: ExternalName
#replica count of oaa service
replicaCount: 1
#The following properties define the dependency spui service and can be overridden here.
spui:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency totp service and can be overridden here.
totp:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency yotp service and can be overridden here.
yotp:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency fido service and can be overridden here.
fido:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency oaa-admin-ui service and can be overridden here.
oaa-admin-ui:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency email service and can be overridden here.
email:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency push service and can be overridden here.
push:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency sms service and can be overridden here.
sms:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the dependency oaa-policy service and can be overridden here.
oaa-policy:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#The following properties define the defaults of risk and riskcc services.
risk:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
riskcc: //Need to remove
replicaCount: 1
riskcc:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#
#The following properties define the defaults of customfactor service.
customfactor:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 2
#
#The following properties define the defaults of oaa-kba service.
oaa-kba:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
#
#The following properties define the defaults of oaa-drss service.
oaa-drss:
resources:
requests:
cpu: 200m
memory: "1Gi"
replicaCount: 1
OAuthの有効化
Oracle Access Managerでは、OAAのOAuthサーバーとして機能するようにOAuthが有効になっている必要があります。
http://iadadmin.example.com/oamconsole
URLを使用してOAM管理コンソールにログインします。OAM管理ユーザー名(oamadmin
など)を使用してログインします。- 「ようこそ」ページで、「構成」,、「使用可能なサービス」の順にクリックします
- 「OAuthおよびOpenIDConnectサービス」の横にある「サービスの有効化」をクリックします(または、緑のステータス・チェック・マークが表示されることを確認します)。
OAuthの検証
このステージでは、OAuthが使用可能になっており、Oracle HTTPがリクエストをOAuthサーバーに転送していることを確認することが重要です。
curl -s -k --location --request GET https://login.example.com/oauth2/rest/token
- OAMコンソールでOAuthが正常に有効になっていること。
- 仮想ホスト・ファイル内に適切なOracle HTTP Serverエントリがあること。
- OAMでOAuthポリシーが定義されていること。
タイムアウトの解決
コンテナ・レジストリからコンテナ・イメージをプルするのに予想よりも時間がかかる場合、デプロイメントは失敗することがあります。デプロイメント・ログにエラーが表示されます。
NAME: oaainstall LAST DEPLOYED: Thu Apr 29 20:24:09 2021 NAMESPACE: default STATUS: deployed REVISION: 1 Error: timed out waiting for the condition TEST SUITE: oaainstall-email-sanity-check Last Started: Thu Apr 29 20:24:12 2021 Last Completed: Thu Apr 29 20:29:12 2021 Phase: Failed NOTES: Get the Oracle Advance Authentication(OAA) Service URL by running these commands: bash -c 'export NODE_PORT=$(kubectl get --namespace default -o jsonpath="{.spec.ports[0].nodePort}" services oaainstall-oaa) && export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}") && echo "" && echo https://$NODE_IP:$NODE_PORT/health' Helm test failed Fail to install OAA. Please check the log file
kubectl get pods
出力が次のように表示されます。
NAME READY STATUS RESTARTS AGE edg-email-66944cd9d8-7vp7g 1/1 Running 0 41m edg-email-66944cd9d8-t8gcc 1/1 Running 0 41m edg-fido-66b969fb6f-9zcnr 1/1 Running 0 41m edg-fido-66b969fb6f-mzj2n 1/1 Running 0 41m edg-oaa-86cd6b4ff6-pxrmm 1/1 Running 0 41m edg-oaa-86cd6b4ff6-svlpk 1/1 Running 0 41m edg-oaa-admin-ui-764c555cf4-6xtzv 1/1 Running 0 41m edg-oaa-admin-ui-764c555cf4-rxs2c 1/1 Running 0 41m edg-oaa-kba-6d6d7bcd59-rwm5q 1/1 Running 0 41m edg-oaa-policy-7cc99c7bc5-8tpzz 1/1 Running 0 41m edg-oaa-policy-7cc99c7bc5-rsvqr 1/1 Running 0 41m edg-push-794c8d89d-6xcjt 1/1 Running 0 41m edg-push-794c8d89d-b9xl4 1/1 Running 0 41m edg-risk-768fddd6b5-6k4p4 1/1 Running 0 41m edg-risk-768fddd6b5-wrcjh 1/1 Running 0 41m edg-risk-cc-77fcd64cb5-7nfft 1/1 Running 0 41m edg-risk-cc-77fcd64cb5-bfzfn 1/1 Running 0 41m edg-sms-7bdbf58d66-kk6qq 1/1 Running 0 41m edg-sms-7bdbf58d66-lp8jj 1/1 Running 0 41m edg-spui-59649cd778-5rbgb 1/1 Running 0 41m edg-spui-59649cd778-nkl8s 1/1 Running 0 41m edg-totp-7dc888b994-m854x 1/1 Running 0 41m edg-totp-7dc888b994-zgfkw 1/1 Running 0 41m edg-yotp-569fbbc7df-27zgm 1/1 Running 0 41m edg-yotp-569fbbc7df-9qsx7 1/1 Running 0 41m oaa-mgmt 1/1 Running 0 45m
/u01/oracle/helmcharts/OAA/values.yaml
ファイルの値を調整します。セクションは次のとおりです:test: # test.image -- image name that will be used to test sanity of installation. image: shared/oracle/linux:8-slim # test.timeoutsecs time for which sanity tests will run before timing out. timeoutsecs: 480 # test.waitsecs time interval between sanity checks. waitsecs: 50
OAAポリシー・スナップショットのインポート
スナップショットにより、データベース・スキーマにシード・データが移入されます。OAA-MGMT
ポッド内にインポートするステップを実行する必要があります。
OHSウォレットへのOAA証明書の追加
Oracle HTTP ServerがOAAサーバーを信頼していることを確認する必要があります。信頼を構築するには、OAA証明書をOracle HTTP Serverウォレットに追加する必要があります。
OAAの検証
OAAをデプロイした後、OAA管理コンソールにアクセスしてOAAが機能していることを確認します。
OAAを検証するには、http://iadadmin.example.com/oaa-admin
URLを使用してOAA管理コンソールにログインします。
OAMの資格証明コレクション・ページにリダイレクトされます。oaaadminのユーザー名とパスワードを入力します。何も問題がなければ、OAuth認証を受け入れるように求められます。「許可」をクリックすると、OAA管理ページが表示されます。
電子メール/SMSサーバーおよび自動ユーザー作成の構成
OAAには、電子メール/SMSの統合が組み込まれています。電子メールSMTPクライアントおよびSMSクライアントを使用するようにOAAを構成する必要があります。
cURLを使用してOAA電子メール/SMSクライアントを構成できます。curl
コマンドは次のとおりです:
curl --location --insecure --request PUT '<OAM_LOGIN_LBR_PROTOCOL>://<OAM_LOGIN_LBR_HOST>:<OAM_LOGIN_LBR_PORT>/oaa/runtime/config/property/v1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic <Encoded OAA User>' \
-d '[
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientURL",
"value": "<UMS_SERVER_URL>"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientName",
"value": "<UMS_ADMIN_USER>"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientPass",
"value": "<UMS_ADMIN_PASSWORD>"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientURL",
"value": "<UMS_SERVER_URL>"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientName",
"value": "<UMS_ADMIN_USER>"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientPass",
"value": "<UMS_ADMIN_PASSWORD>"
}
{
"name": "oaa.default.spui.pref.runtime.autoCreateUser",
"value": "true"
}
]'
curl --location --insecure --request PUT 'http://login.example.com/oaa/runtime/config/property/v1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic b2FhLW9hYTphcGlrZXl0b2Jlc2V0ZHVyaW5naW5zdGFsbGF0aW9u' \
-d '[
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientURL",
"value": "http://governancedomain-cluster-soa-cluster.oigns.svc.cluster.local:8001/ucs/messaging/webservice
"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientName",
"value": "weblogic"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeEmail.umsClientPass",
"value": "password"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientURL",
"value": "http://governancedomain-cluster-soa-cluster.oigns.svc.cluster.local:8001/ucs/messaging/webservice
"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientName",
"value": "weblogic"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeSMS.umsClientPass",
"value": "password"
}
{
"name": "oaa.default.spui.pref.runtime.autoCreateUser",
"value": "true"
}
]'
Oracle Advanced AuthenticationとOracle Access Managerの統合
この手順では、保護されたリソースにアクセスしたときにOAM資格証明コレクタが最初に表示されてから、PINコード検証のためにセッションがOAAに渡されるように、OAMでOAAを構成する手順を説明します。
この統合は、OAMをOAuthサーバーとして使用することに加えて行います。
統合手順は次のステップで構成されます:
OAMドメインの再起動
OAM管理対象サーバーがOAAプラグインを使用できるようにするには、OAMドメインを再起動する必要があります。
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": "IF_NEEDED" }]'
ノート:
次のコマンドを使用して、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)が停止したことを確認します:kubectl -n <OAMNS> get all
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": "IF_NEEDED" }]'
OAA Cookieドメインの設定
デバイスCookieを収集するには、プロパティoaa.browser.cookie.domain
をOAAホスト・ドメインに設定する必要があります。たとえば、https://login.example.comでOAAにアクセスできる場合は、値をlogin.example.com
に設定します。
リスクのあるIP、地理的速度、地理的位置などのユース・ケースに対するリスク・ルールを呼び出すには、プロパティoaa.risk.integration.postauth.cp
をpostauthに設定する必要があります。
プロパティの設定
-
次のコマンドを実行して、エンコードされたOAAユーザーを取得します:
echo -n <OAA_DEPLOYMENT>-oaa-policy:<OAA_API_PWD> | base64
たとえば:
curl --location -g --request PUT 'http://iadadmin.example.com/policy/config/property/v1' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic ZWRnLW9hYS1wb2xpY3k6bXlBUElwYXNzd29yZAo=' \ --data '[ { "name": "oaa.browser.cookie.domain", "value": "login.example.com" }, { "name": "oaa.risk.integration.postauth.cp", "value": "postauth" } ]'
-
<POLICY_URL>/config/property/v1
REST APIを使用してプロパティを設定します。たとえば:
curl --location -g --request PUT '<OAA_POLICY_URL>/config/property/v1' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic <Encoded OAA User>' \ --data '[ { "name": "oaa.browser.cookie.domain", "value": "<host.domain>" }, { "name": "oaa.risk.integration.postauth.cp", "value": "postauth" } ]'
OAM-OAA統合の検証
これは、OAMとOAAの統合を検証する単純な方法です。検証の完了後にすべてのステップをロールバックすることをお薦めします。
検証手順は次のステップで構成されます:
HTMLテスト・ページの作成
WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/<instance_name>/htdocs
ディレクトリにあるOHSサーバーで、次の内容を含むtest_page.html
というテスト・ページを作成します:
親トピック: OAM-OAA統合の検証
テスト・ページのOracleリソースの作成
再起動は必要ありませんが、変更が伝播されるまでに時間がかかる場合があります。
親トピック: OAM-OAA統合の検証
テスト・ユーザーの作成
Oracle Unified Directory (OUD)でテスト・ユーザーを作成します。このユーザーをOAA-APP-User
グループに割り当てます。また、電子メールでワンタイムPINコードを受信する場合はユーザーには有効な電子メール・アドレスが必要で、Oracle Mobile Authenticatorを構成した場合は郵便番号が必要です。
ldif
ファイルを使用して、テスト・ユーザーを作成できます:dn: cn=oaauser,cn=Users,dc=example,dc=com
changetype: add
objectClass: orclUserV2
objectClass: oblixorgperson
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: oblixPersonPwdPolicy
objectClass: orclAppIDUser
objectClass: orclUser
objectClass: orclIDXPerson
objectClass: top
objectClass: OIMPersonPwdPolicy
givenName: oaauser
uid: oaauser
orclIsEnabled: ENABLED
sn: oaauser
userPassword: password
mail: oaauser@example.com
orclSAMAccountName: oaauser
cn: oaauser
postalCode: oaauser
obpasswordchangeflag: false
obpsftid: true
ds-pwp-password-policy-dn: cn=FAPolicy,cn=pwdPolicies,cn=Common,cn=Products,cn=OracleContext,dc=example,dc=com
dn:cn=OAA-App-User,cn=Groups,dc=example,dc=com
changetype: modify
add: uniqueMember
uniqueMember: cn=oaauser,cn=Users,dc=example,dc=com
親トピック: OAM-OAA統合の検証
Oracle Universal Authenticationの構成
この項では、Oracle Universal Authenticationの構成に関連する様々なタスクについて説明します。
ノート:
現在、Oracle Universal InstallerはMicrosoft Windowsクライアントのみをサポートしています。Microsoft Entraドメイン
Microsoft Windowsクライアントを使用してOUAでログインする場合は、次の前提条件が必要です。
- Microsoft Entra Domain Services管理対象ドメインが必要です。
- OUAを使用する場合は、ドメインにMicrosoft Windowsユーザーを作成する必要があります。
管理者は、OUAを使用する前に、Microsoft Entraの実務的な知識を持っている必要があります。次のドキュメントには、Microsoft Entraドメイン、LDAPディレクトリまたはユーザー・アカウントの設定方法は記載されていません。
Microsoft WindowsクライアントがOUAでログインするには、次の前提条件が必要です。これは、OUAクライアント・アプリケーションがインストールされているWindowsデスクトップまたはサーバーに適用されます:
- Windows 10または11を実行しているMicrosoft Windowsデスクトップ・クライアント、またはWindows 2016または2019サーバー。
- Microsoft Windowsデスクトップまたはサーバーは、Microsoft EntraのWindowsドメインに参加している必要があります。
- OUAを介してログインするMicrosoft Windowsユーザーは、有効なユーザー名とパスワードを使用してWindowsドメインにログインできる必要があります。
- OUA SSOブラウザ拡張機能には、Chrome v88+、Microsoft Edge v92+が必要です。
- OUAクライアント・アプリケーションをインストールするための管理者資格証明。
Microsoft Windowsユーザーは、Oracle Access Management (OAM)で使用されるユーザー・アイデンティティ・ストアにユーザー・アカウントを持っている必要があります。ユーザーは、OAMで保護されているアプリケーションにシングル・サインオン(SSO)でログインできる必要があります。
OAM永続ログインの有効化
OAMドメインの再起動
OAM管理対象サーバーがOAAプラグインを使用できるようにするには、OAMドメインを再起動する必要があります。
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": "If_Needed" }]'
ノート:
次のコマンドを使用して、ネームスペース内のすべてのKubernetesポッド(ヘルパー・ポッドを除く)が停止したことを確認します:kubectl -n <OAMNS> get all
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": "If_Needed" }]'
オーセンティケータを追加するためのテスト・ユーザーの更新
「テスト・ユーザーの作成」でOAAテスト・ユーザーを作成し、このユーザーを使用してOUAを検証する場合は、OAAユーザー・プリファレンス画面でファクタを追加して、このユーザーに対してTOTPオーセンティケータを登録する必要があります。
OUAクライアント・アプリケーションのインストール
OUAクライアント・アプリケーションのインストール方法の詳細は、Oracle Universal Authenticatorクライアント・アプリケーションのインストールに関する項を参照してください。