1 Oracle Advanced Authenticationの概要
Oracle Advanced Authentication (OAA)はスタンドアロンのマイクロサービスであり、アプリケーションでユーザーのアイデンティティを確立しアサートするために使用できます。
1.1 Oracle Advanced Authentication (OAA)について
Oracle Advanced Authentication (OAA)はスタンドアロンのマイクロサービスであり、ユーザーのアイデンティティの確立およびアサートをサポートします。デプロイおよび使用が容易な包括的なソリューションを提供します。
OAAは、複数の認証ファクタ(MFA)を使用した強力な認証を提供します。ユーザーのアイデンティティを確立するために、様々な認証(チャレンジ)ファクタをすぐに利用できます。
MFA機能を提供するために、Oracle Access Management (OAM)およびOracle RADIUS Agent (ORA)との統合をサポートしています。
1.2 Oracle Advanced Authentication (OAA)の機能
Oracle Advanced Authentication (OAA)は、デプロイメント、構成および他の製品との統合を容易にする独自の機能を備えています。
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 (OAA管理コンソール)を提供します。管理者は、REST APIを使用してすべての管理タスクを実行することもできます。
- エンドユーザーが各自のチャレンジ・ファクタを管理および登録するためのWeb UI (ユーザー・プリファレンス・コンソール)を提供します。ユーザーの自己登録および管理は、REST APIを使用して実行することもできます。
- Web UIは、OAM OAuthおよびOpenID Connect (OIDC)によって保護されます。
- すぐに利用できる次のチャレンジ・ファクタを提供します:
- Oracle Mobile Authenticator (OMA)、GoogleおよびMicrosoftによるTOTP (時間ベースのワンタイム・パスワード)
- 電子メールおよびSMSによるOTP(ワンタイム・パスワード)
- Yubikey OTP
- FIDO2
- ナレッジベース認証(KBA)
- プッシュ通知
1.3 システム・アーキテクチャおよびコンポーネント
OAAは、マイクロサービス、Webアプリケーション、プラットフォーム抽象化および認証ファクタ・プロバイダと、ユーザー・プリファレンスとサービス・データ/メタデータの格納に使用されるRDBMSで構成されています。
OAAのコンポーネントは次のとおりです:
OAAランタイムおよびAPI
このコンポーネントは、システムの主な処理単位であり、ユーザー・チャレンジ・フローを管理し、チャレンジ・ファクタを使用してフローを編成するためのREST APIを提供します。
このランタイム・コンポーネントは、Oracle RADIUS Agent (ORA)などのAPIベースのクライアントと統合されます。
OAAランタイムUI
このコンポーネントは、ユーザー・チャレンジ・フローを管理するためのユーザー・インタフェース(UI)ページを提供します。チャレンジ・ファクタを選択し、フロー中にチャレンジ・ファクタを行き来するためのユーザー・インタフェースをエンド・ユーザーに提供します。
このランタイム・コンポーネントは、OAuthおよびOpenID Connect (OIDC)を使用して、ブラウザベースのフロー(Oracle Access Management (OAM)など)を実行しているクライアントと統合されます。
次のUIページがあります:
ユーザー・チャレンジ選択ページ: これにより、ユーザーが選択できるチャレンジがレンダリングされます。また、選択内容を次回に記憶しておくオプションも用意されています。ユーザーがチャレンジを選択すると、ユーザー・チャレンジ回答ページにリダイレクトされます。
ファクタのユーザー・チャレンジ回答ページ: チャレンジ回答ページでは、ユーザーが指定した、選択済の2番目のファクタから回答を取得します。チャレンジのタイプに基づいて、電子メール、SMS、TOTP、ナレッジベース認証などのファクタで回答を入力するダイアログ・ボックスがページに表示されます。チャレンジ・ファクタに、FIDO2やYubikey、プッシュ通知など、ブラウザ外でのアサーションが必要な場合、ページには時間が指定された待機がレンダリングされます。検証が失敗した場合は、再度回答が求められるか、別のチャレンジを選択するようユーザーが戻されるか、タイムアウトします。検証が成功した場合、ユーザーはエージェントにリダイレクトされます。エージェントの詳細は、「Oracle Advanced Authenticationの理解」を参照してください。
このページでは、ユーザーがフローを中止することや、チャレンジ選択ページに戻ることもできます。また、ユーザーは、将来のリクエストに対するチャレンジの選択内容を記憶したり、その選択をリセットしたりできます。
OAA管理UIおよびAPI
このコンポーネントには、統合エージェント、保証レベル、ルールおよびグループを管理するためのREST APIおよび管理UIが備えられています。ルールは保証レベルごとに定義されます。管理者は、REST APIまたはUIを使用して必要なチャレンジ結果を構成できます。
ユーザー・プリファレンスUIとAPI
このコンポーネントを使用すると、エンドユーザーはUIまたはユーザー・プリファレンスREST APIを使用して、チャレンジ・ファクタ登録を確認および管理できます。
チャレンジ・ファクタ
チャレンジ・ファクタは、REST APIまたはUIを使用してOAAランタイムと統合するサービスまたはコンテナとして実現されます。チャレンジ・ファクタは、UIまたは構成APIを使用して構成できます。
永続ストア
このコンポーネントは、ユーザー・プリファレンス・データおよびポリシー・メタデータの格納に使用されます。OAAは、Kubernetesクラスタの外部でのデータベース・インストールをサポートし、インポートするデータベース・スキーマを提供します。
モニタリング
データ・モニタリングは、OAAサービスおよびポリシー管理APIで有効になっています。
1.4 Oracle Advanced Authenticationの理解
OAAでは、次の用語が使用されます:
統合エージェント
OAAでは、OAAと統合するクライアントは、統合エージェントと呼ばれます。統合できるのは、REST APIベース(Oracle RADIUS Agent (ORA)など)か、TAPを介したブラウザベース(Oracle Access Management (OAM)など)のいずれかです。
統合エージェントは、OAAに登録し、管理コンソールUIで管理できます。
保証レベル
保証レベルは、統合エージェントで必要とされる保証のレベルを示します。これは、統合エージェントとOAAの間の重要な契約で、ユーザー・ログイン・フローに対してルールの実行が強制されます。OAAは、そのフローにリンクされたルールを実行し、マルチファクタ認証(MFA)のオーケストレーションを決定します。
保証レベルは、NISTの推奨事項と緊密に連携するように定義できます。ただし、これは必須ではないため、保証レベルには読みやすい方法で名前を付けることができます。
1つの統合エージェントには複数の保証レベルを割り当てられますが、1つの保証レベルを関連付けられる統合エージェントは1つのみです。保証レベルの例を次に示します:
- RADIUS統合エージェントでは、
Radius_DB12_AL
という名前の保証レベルを定義して、統合エージェントがDB12クライアントからユーザーを管理していることを示すことができます - OAMサーバーは、
OAM_AuthLevel6
という名前の保証レベルを定義して、リソースがOAMを使用して認証レベル6で保護されていることを示すことができます。 - OAMサーバーは、
PasswordLess1
いう名前の保証レベルを定義して、リソースがPasswordless
スキームによって保護されていることを示すことができます。
チャレンジ・ファクタ
チャレンジ・ファクタは、ユーザーにチャレンジを提示し、ユーザーが予期される入力を正しく行ったかどうかを確認します。
OAAでは、電子メール、SMS、時間ベースのワンタイム・パスワード(TOTP)、FIDO2、Yubikey、ナレッジベース認証(KBA)、プッシュ通知などのファクタをすぐに使用できます。
ルール
各統合エージェントには複数の保証レベルを割り当てることができ、各保証には複数のルールを指定できます。各ルールには、それぞれ独自のファクタの結果があります。
ルール: ルールは、ユーザーIDやIPアドレスなどのユーザーの属性を条件と組み合せた式です。実行時に、実際の値がこの式に代入され、ルールの結果がアクションのグループとして計算されます。
条件: 条件は、コンテキストに基づいて、等しい、等しくない、グループ内などの演算子と属性を比較する式です。