2 Oracle RADIUS Agentのインストールと構成
2.1 Oracle RADIUS Agentをインストールするための前提条件
これらは、Oracle RADIUS Agentをインストールする前に完了する必要があるタスクです。
-
最新のコンテナ・エンジンがインストールされ、コンテナ・サービスが起動されます。構成、データおよびログの永続ストレージ用の外部コンテナ・ボリュームがコンテナにマウントされていることを確認します。
-
ファイル・システムにディレクトリを作成して、Oracle RADIUS Agentの構成およびログ・データを格納します。ディレクトリの
uid:gid
は、コンテナを起動するユーザーと一致する必要があります。2022年4月のリリース以降、Oracle RADIUS Agentは、すべてのコンテナ操作を実行するコンテナで実行されているoracleユーザーに対して、デフォルトのuid:gid
である14304:14304
を使用します。ディレクトリに対する読取りおよび書込み権限は、rwxr-x---
に設定する必要があります。このディレクトリは、コンテナの起動時にコンテナ・ボリュームにマップされます。デプロイメントで別のユーザーを使用する場合は、実行時にオーバーライドuid:gid
値を使用し、ディレクトリ権限をrwxr-x--
に設定します。次に、uid:gid
をオーバーライドするサンプル・コマンドを示します。docker run -d --network rad --name radius1 --user 10001:5001 -v /scratch/radius:/u01/oracle/user_projects -p 8000:8080 -p 1812:1812/udp -p 1813:1813/udp -p 1814:1814 -e INSTANCE_NAME=inst1 container-registry.oracle.com/middleware/radius:latest
- このディレクトリは、障害時リカバリ用にバックアップする必要があります。
-
Oracle RADIUS Agentでアクセスを認証および認可するLDAPサーバーの実行中のインスタンス。
-
LDAPサーバーには、RADIUS管理者として行動する1人または複数のユーザーが含まれている必要があります。ユーザーおよびグループを検索できるようにするには、1人以上の管理者ユーザーがLDAPサーバー上で必要なACLを構成する必要があります。
-
Oracle RADIUS AgentがSSL経由でLDAPサーバーに接続する場合は、LDAPサーバー証明書に署名した、PEM形式の信頼できるCA証明書があることを確認します。
-
マルチファクタ認証用にOracle Advanced AuthenticationでOracle RADIUS Agentを使用する場合は、Oracle Advanced Authenticationの実行中インスタンスがあることを確認します。Oracle Advanced Authenticationのインストールの詳細は、Oracle Advanced Authentication管理ガイドLDAPでのプライマリ・オーセンティケータとしてのOracle Radius Agentの使用を参照してください。
2.2 システム要件と動作保証情報
これらは、Oracle RADIUS Agentをインストールするためのシステム要件と動作要件です。
インストールを実行する前に、現在の環境がシステム要件(ハードウェアとソフトウェアの要件、ディスク領域とメモリーの最小要件、必要なシステム・ライブラリ、パッケージ、パッチなど)を満たしていることを確認します。
Oracle RADIUS Agent (ORA)をインストールするための最小システム要件は次のとおりです:
- スタンドアロン・ホストにORAをインストールする場合:
- 4GBのRAM
- 10 GBのディスク領域
- 2 CPU
- サーバーにORAをインストールする場合:
- 8GBのRAM
- 50 GBのディスク領域
- 2 CPU (Intel VTなどの仮想化サポート付き)
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
2.3 Oracle RADIUS Agentをインストールおよび構成するステップのサマリー
これは、Oracle RADIUS Agentのインストールおよび構成に関連するステップの概要リストです。
-
Oracle RADIUS Agentをインストールするためのすべての前提条件が満たされていることを確認します。
-
Oracle RADIUS Agentのコンテナ・イメージを取得します。
-
コンテナを作成して起動してから、そのヘルス・ステータスを確認します。
-
マルチファクタ認証用にOracle RADIUS Agentを使用する場合は、Oracle Advanced Authenticationの実行中インスタンスがあることを確認します。
-
day-0または初期構成を設定および検証します。
-
要件に従って、グローバル構成またはアプリケーション固有の構成を作成します。
-
RADIUSクライアントを登録し、共有シークレットを生成します。
-
生成された共有シークレットおよびOracle RADIUS Agentの詳細を使用してRADIUSクライアントを構成します。
2.4 Oracle RADIUS Agentのファイルおよびディレクトリについて
Oracle RADIUS Agentがコンテナのマウント済永続ボリュームに格納するファイルおよびディレクトリについて学習します。
-
すべての構成およびデータは
/u01/oracle/user_projects
に格納されます。 -
インスタンス固有のファイル(インスタンス・ログなど)は、
/u01/oracle/instances
に格納されます。これがマウントされていない場合、インスタンス固有のファイルの場所はデフォルトで/u01/oracle/user_projects
になります。
これらのファイルおよびディレクトリを外部化するには、コンテナ・ボリュームを必要に応じて上の2つのパスにマウントして(-vを使用)、コンテナの外部に保持されるようにします。ボリュームの作成の詳細と必要な権限については、「Oracle RADIUS Agentをインストールするための前提条件」の項で概説しています。
2.5 RADIUSベンダー固有属性
ノート:
ロールに基づくOracle DB認可では、Oracle RADIUS Agentに含まれるORACLE_ROLE VSAを定義する必要があります。2.6 インスタンス固有パラメータについて
Oracle RADIUS Agentのコンテナの起動時に設定および構成できるインスタンス固有パラメータについて学習します。
-
INSTANCE_NAME
これは、Oracle RADIUS Agentの必須パラメータです。すべてのOracle RADIUS Agentファイルを含む場所に、Oracle RADIUS AgentインスタンスごとにINSTANCE_NAMEという名前のディレクトリが作成されます。すべてのログはこのINSTANCE_NAMEディレクトリ内に置かれます。
-
java_args
JVMオプションを指定できます。次に例を示します:-e java_args='-server -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xmx1g'
-
DISABLE_HTTPS
この値がtrueの場合、デフォルトではRESTエンドポイントでhttpsが有効になりません。 -
OVERRIDDEN_INSTANCE_CONFIG
これは、コンテナの起動時にオーバーライドされるインスタンス固有のロギング構成(ロギング・レベルなど)を指定するためのオプションのパラメータです。
特定のインスタンスを目的のロギング・レベルで開始する必要がある場合は、この環境変数の一部として
logging.properties
ファイルを渡すことができます。このlogging.properties
ファイルは、/u01/oracle/user_projects
にマップされたボリュームに格納する必要があります。logging.properties
ファイルの内容は、次のエントリのようである必要があります:oracle.idm.radius.level=FINEST
-
DEPLOYMENT_NAME
これは、Oracle RADIUS Agentデプロイメントの名前を表します。この値は、デプロイメントとその構成の識別に内部的に使用されます。同じ構成を共有するクラスタで複数のOracle RADIUS Agentインスタンスが実行されている場合、クラスタ内のすべてのインスタンスでデプロイメント名が同じである必要があります。
デプロイメント名を渡すことをお薦めします。渡されない場合、ランダムなデプロイメント名が生成され、deployment.properties
ファイルに格納されます。ノート:
deployment.properties
ファイルのデプロイメント名またはその他の詳細は、手動で更新しないことをお薦めします。-e DEPLOYMENT_NAME=oraprod1
2.7 Oracle RADIUS Agentのインストール
Oracle RADIUS Agentはコンテナ・イメージとして使用できます。Oracle RADIUS Agentのインストールでは、コンテナ・イメージのプル、Oracle RADIUS Agentコンテナの起動、および構成ファイルのストレージの選択を行います。
2.8 初期またはDay-0構成
初期またはday-0構成では、Oracle RADIUS Agentコンテナの起動に必要な最小構成を設定します。
この章に記載されている情報は、LDAPでのプライマリ・オーセンティケータとしてのOracle Radius Agentの使用およびマルチファクタ認証用のOracle Advanced AuthenticationでのOracle Radius Agentの使用のチュートリアルで詳しく説明します。
デフォルトでは、Oracle RADIUS Agentのコンテナには構成が含まれていません。Oracle RADIUS Agentを構成ペイロードで初期化するには、初期構成でシードする必要があります。
Oracle RADIUS Agentの初期構成でのシードでは、少なくとも、管理者ユーザーまたはグループを認証に必要なその他の構成とともに定義します。これらの管理者ユーザーおよびグループは、プライマリ・オーセンティケータ(LDAPサーバー)にあらかじめ存在している必要があります。
ノート:
少なくとも1人の管理者ユーザーがLDAPサーバーにバインドできる必要があります。そうでないと、Oracle RADIUS Agent REST APIが機能しません。マルチファクタ認証用にOracle Advanced AuthenticationでOracle RADIUS Agentを使用する場合は、必要な構成をさらに定義する必要があります。
POSTメソッドを使用して、次の保護されていないRESTエンドポイントを起動することで初期構成をシードできます:
https://<hostname.domain>:PORT/radius-config/v1/init
保存する前に初期構成を検証するには、POSTメソッドを使用して、次の保護されていないRESTエンドポイントを起動します:
https://<hostname.domain>:PORT/radius-config/v1/validate
両方のエンドポイントで、PORTはdocker run
コマンドで指定されたホスト構成ポート番号(HOST_CONFIG_PORT)です。すべてのRESTコールのエンドポイントURLに同じポートが使用されます。
初期構成が完了すると、Oracle RADIUS Agent構成および管理APIは、LDAPサーバーに格納されているRADIUS管理者ユーザーとしてHTTP Basic認証を実行します。
初期構成をシードするために保護されていないRESTエンドポイントを使用して渡す必要があるペイロードを次に示します。Oracle Advanced Authenticationでマルチファクタ認証を使用しない場合、または後で構成する場合は、mfa
セクションをスキップできます。
{
"radiusAdminGroup": [
“ADMIN_GRP1”,”ADMIN_GRP2”,”ADMIN_GRPn”
],
"radiusAdminUser": [
“USERID1 or USER1_DN”,”USERID2 or USER2_DN”,”USERIDn or USERn_DN”
],
"authentication": {
"provider": "LDAP",
"ldap": {
"name": "LDAP_SERVER_NAME",
"dn": "LDAP_SERVER_ADMIN",
"password": "LDAP_SERVER_ADMIN_PASSWORD",
"ldapUrl": "LDAPS_URL",
"baseDN": "LDAP_SERVER_BASE_DN",
"trustedCertificate": "BASE64_TRUSTED_CA_CERT"
}
},
"mfa": {
"provider": "OAA",
"oaa": {
"oaaUrl": "OAA_RUNTIME_URL",
"oaaPolicyUrl": "OAA_POLICY_URL",
"policyUserName": "POLICY_USERNAME_FROM_OAA_IN_THE_FORMAT_OF_RELEASENAME-oaa-policy",
"policyUserPassword": "POLICYKEY_FROM_OAA"
}
},
"preferences": {
"mfaOptions": {
"defaultGroup": "GROUP_NAME",
"factorChoices": [
"OAA_FACTORS_TO_USE"
]
}
}
}
ノート:
パラメータ"oaaUrl"、"oaaPolicyUrl"、"policyUserName"、"policyUserPassword"は、Oracle Advanced Authenticationから取得する必要があります。authentication
やmfa
などの構成タイプについては、表2-1を参照してください。
前述の例では、trustedCertificate
を使用して、base64 PEMでエンコードされた信頼できるCA証明書を示しています。または、証明書を含むJavaキーストア(JKS)の場所を指定することもできます。JKSの使用時に設定する必要があるパラメータについては、「構成プロパティ」を参照してください。
上のmfa
セクションでは、1回の操作で新しいOracle Advanced Authentication (OAA) Agent for RADIUSが保証レベルおよびポリシーとともに作成されます。エージェント、保証レベルおよびポリシーに割り当てられる名前は、OAAによって直接割り当てられます。独自の保証レベルおよびポリシーとともに独自のOAA Agent for RADIUSをすでに作成している場合は、渡すパラメータが変わります。「構成プロパティ」セクションのmfa
パラメータを参照してください。
このペイロードに対するレスポンスは、指定した初期構成の詳細と、Oracle RADIUS Agentがリスニングするポートになります。
次に、cURLコマンドとペイロードの例を示します:
curl --header "Content-Type: application/json" --request POST --data-binary @- https: //localhost:8000/radius-config/v1/init
{
"radiusAdminGroup": [
"cn=radiusAdmin1,ou=groups,dc=example,dc=com",
"cn=radiusAdmin2,ou=groups,dc=example,dc=com"
],
"radiusAdminUser": [
"uid=user1,ou=people,dc=example,dc=com",
"uid=user2,ou=people,dc=example,dc=com"
],
"authentication": {
"provider": "LDAP",
"ldap": {
"name": "Corporate LDAP",
"dn": "cn=Directory Manager",
"password": "<password>",
"ldapUrl": "ldaps://ldap.example.com:1636",
"baseDN": "dc=example,dc=com",
"trustedCertificate": "-----BEGIN CERTIFICATE-----\nMIICwzCCAaugAwIBAgIEGfd1kTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdteW91ZGRzMB4XDTIxMDIwODE0MDYyNFoXDTIyMDIwODE0MDYyNFowEjEQMA4GA1UEAxMHbXlvdWRkczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKyx3l/E4Bt5CLsHSU2UbhPAcSzlsTaOJRZ0V7qAVm6SMlBslokzQthZTuXtlIDlIUcWdCTmMOsk9rZ36E8lfEkz/gf5HvXXIaV416Z5O5g4OVQ3MZuPgGvFE17eZRND9NnRdAIv3RWBLjnOGFoD8z7US1i8h7f3fZyZ/GaQ0VcP4B1ooUTzcQ7MFVymRHMXhlGFVm6cxES5b6EI2R9Wv/BgPY1/Vypq2kJGJdCoNO8IfXLq1FoGsY2QEbe8tQYJp+cU+WYqAC7cDkNiJ8cxeJ+/HQ3FFM7BmgzANOrekhNvjCZni9P2PMFXIpO12vEgmtiY4NePoPuyensIznkFySMCAwEAAaMhMB8wHQYDVR0OBBYEFPJglmgVMkO6FP1ESs32a8HlbO4ZMA0GCSqGSIb3DQEBCwUAA4IBAQAq2whjOzvMaFTD1m7JK2kzLEtBllJmZ72pwUIz8x0Ju3Kcr4jQeDAq3mOfxR6udWQsJ7+Ovjuvf/i06HHOxzAbOXOXAyzzS8jbkUX8VjGQueNFdZ7KxumT85gFNkBpe3sDdDmRxgY1pOFIUESFkcie7rLwCGo1q1z0KvwbqodeZnBprTSFHbePGNAndujVODo4xdH7fIlTrzx6L36BtJKYEKewmrDu9XbhGM1c8va100WRAHf3IIg8fnrf9Yf3c5+oYdxJoDAr0Y9N8J8ew2Fpdab+I5foQ7kVOCI4OZ23FOLDtGJEy5mArhTV95EOpqp6+GnE3FnATzUf5ecRChRB\n-----END CERTIFICATE-----",
}
},
"mfa": {
"provider": "OAA",
"oaa": {
"oaaUrl": "https://oaa.example.com:32461/oaa/runtime",
"oaaPolicyUrl": "https://oaa.example.com:32004/oaa-policy",
"policyUserName": "oaainstall-oaa-policy",
"policyUserPassword": "eb3188094918b1bc8e4fd584e8c27f8e7f3fe338"
}
},
"preferences": {
"mfaOptions": {
"defaultGroup": "Default",
"factorChoices": [
"ChallengeEmail",
"ChallengeOMATOTP",
"ChallengeSMS"
]
}
}
}
次に、対応するレスポンスを示します:
{
"radiusListener": {
"port": 1812
},
"authentication": {
"provider": "LDAP",
"ldap": {
"name": "Corporate LDAP",
"dn": "cn=Directory Manager",
"password": "{AES-GCM}yx8i83DxHhVAKzJ7QE85/z78ohhFUxmUu6HcGdhxQvkTGaMw",
"ldapUrl": "ldaps://ldap.example.com:1636",
"baseDN": "dc=example,dc=com",
"trustedCertificate": "-----BEGIN CERTIFICATE-----\nMIICwzCCAaugAwIBAgIEGfd1kTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdteW91ZGRzMB4XDTIxMDIwODE0MDYyNFoXDTIyMDIwODE0MDYyNFowEjEQMA4GA1UEAxMHbXlvdWRkczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKyx3l/E4Bt5CLsHSU2UbhPAcSzlsTaOJRZ0V7qAVm6SMlBslokzQthZTuXtlIDlIUcWdCTmMOsk9rZ36E8lfEkz/gf5HvXXIaV416Z5O5g4OVQ3MZuPgGvFE17eZRND9NnRdAIv3RWBLjnOGFoD8z7US1i8h7f3fZyZ/GaQ0VcP4B1ooUTzcQ7MFVymRHMXhlGFVm6cxES5b6EI2R9Wv/BgPY1/Vypq2kJGJdCoNO8IfXLq1FoGsY2QEbe8tQYJp+cU+WYqAC7cDkNiJ8cxeJ+/HQ3FFM7BmgzANOrekhNvjCZni9P2PMFXIpO12vEgmtiY4NePoPuyensIznkFySMCAwEAAaMhMB8wHQYDVR0OBBYEFPJglmgVMkO6FP1ESs32a8HlbO4ZMA0GCSqGSIb3DQEBCwUAA4IBAQAq2whjOzvMaFTD1m7JK2kzLEtBllJmZ72pwUIz8x0Ju3Kcr4jQeDAq3mOfxR6udWQsJ7+Ovjuvf/i06HHOxzAbOXOXAyzzS8jbkUX8VjGQueNFdZ7KxumT85gFNkBpe3sDdDmRxgY1pOFIUESFkcie7rLwCGo1q1z0KvwbqodeZnBprTSFHbePGNAndujVODo4xdH7fIlTrzx6L36BtJKYEKewmrDu9XbhGM1c8va100WRAHf3IIg8fnrf9Yf3c5+oYdxJoDAr0Y9N8J8ew2Fpdab+I5foQ7kVOCI4OZ23FOLDtGJEy5mArhTV95EOpqp6+GnE3FnATzUf5ecRChRB\n-----END CERTIFICATE-----"
}
},
"mfa": {
"provider": "OAA",
"oaa": {
"name": "Global OAA",
"oaaUrl": "https://oaa.example.com:32461/oaa/runtime",
"clientSecret": "9e179ba1-125e-49a4-a0af-a67589031cca",
"clientId": "f530eea9-c9de-493e-9a39-6fea3b155214",
"agentgid": "5ff186f1-c291-4940-be38-df58033ab1b4"
}
},
"preferences": {
"mfaOptions": {
"defaultGroup": "Default",
"factorChoices": [
"ChallengeEmail",
"ChallengeOMATOTP",
"ChallengeSMS"
],
"assuranceLevel": "AssuranceLevel-b5f2cca3"
}
}
}
これで、Oracle RADIUS Agentの初期構成が完了し、すべてのREST APIエンドポイントが保護されるようになりました。後続の構成では、HTTP Basic認証を実行するためにOracle RADIUS Agent管理者資格証明が必要です。
2.9 グローバル構成とアプリケーション構成の設定
グローバル構成は、Oracle RADIUS Agentインスタンス内のすべてのRADIUSクライアントが共有する一連の構成です。実際のデプロイメント環境では、異なるアプリケーションで構成要件が異なる場合があります。このようなシナリオでは、RADIUSクライアントのグローバル構成をオーバーライドする、アプリケーションを対象範囲とする構成を定義できます。アプリケーション構成で定義されていない設定は、グローバル構成から継承されます。
2.9.1 グローバル構成とアプリケーション構成について
様々なRADIUSクライアントに個別の構成を設定する場合は、特定のRADIUSクライアントに固有の設定を持つアプリケーション構成を使用して、特定のグローバル構成設定をオーバーライドできます。
たとえば、環境がOracle DatabaseおよびVPNクライアントという2つのRADIUSクライアントで構成されているとします。この両方のクライアントが同じプライマリおよびセカンダリ・オーセンティケータを使用しますが、マルチファクタ認証には異なる認証ファクタのセットを使用します。このようなシナリオでは、クライアントごとにアプリケーション構成を定義して、それぞれのファクタを設定できます。
同様に、環境内の残りのRADIUSクライアントに対して高い負荷と共有リスナーを必要とするVPNクライアント用の専用リスナーが必要な場合は、VPNクライアント専用のリスナー・ポート構成でアプリケーション構成を定義できます。
アプリケーション構成の一部として明示的に定義されていない他の構成は、グローバル構成から継承されます(存在する場合)。アプリケーションを対象範囲とする構成を使用して様々なRADIUSクライアントに対して異なる構成セットを設定できますが、初期構成の一部として設定された管理者ユーザーまたはグループは、グローバル構成とアプリケーションを対象範囲とする構成の両方に適用されます。
2.9.2 グローバル構成とアプリケーション構成の作成
次のREST APIエンドポイントに対してPOSTリクエストを行うことで、グローバル構成またはアプリケーション構成を作成または定義できます:
https://<host.domain>:PORT/radius-config/v1/configurations
表2-1に、CONFIG_TYPE
に使用できる値を示します。
表2-1 構成タイプ
構成タイプ | 説明 |
---|---|
|
この構成タイプを使用して、プライマリ・オーセンティケータの詳細を指定します。たとえば、LDAPサーバーをプライマリ・オーセンティケータとして使用している場合は、 |
|
この構成タイプを使用して、マルチファクタ認証に使用するOracle Advanced Authenticationの詳細を指定します。たとえば、OAAランタイムURL、クライアントID、クライアント・シークレットなどの詳細をこのセクションで指定します。 |
|
この構成タイプを使用して、デプロイメント要件に基づいて様々なプリファレンスを設定します。たとえば、認証時にグループを返す必要があるかどうかを指定すること、マルチファクタ認証の認証モードのタイプを指定すること、このセクションでユーザーとグループのマッピングを指定することができます。 |
|
これを使用して、Oracle RADIUS Agentリスナー・ポートの構成を指定します。 |
|
この構成タイプを使用して、ロギングを有効または無効にし、ログ・レベルも設定します。ロギング・プロパティの設定方法の詳細は、「ロギングの構成」の項を参照してください。 |
|
この構成タイプは、Oracle RADIUS Agentに関連する構成を設定するために使用します。たとえば、Oracle RADIUS Agentメトリックを有効または無効にしたり、CIDR表記に基づく動的RADIUSクライアントを許可するかどうかをこのセクションで指定できます。 |
前述の各構成タイプで設定および使用できる属性の詳細は、REST APIのドキュメントを参照してください。
次に、server
構成タイプの新しいグローバル構成を追加するペイロードの例を示します:
{
"server": {
"enableMetrics": false,
"heartBeatInterval": "100000"
}
}
次に、対応するレスポンスを示します:
{
"server": {
"enableMetrics": false,
"heartBeatInterval": 100000
}
}
アプリケーション構成ペイロードはグローバル構成ペイロードと同じですが、構成はapplication {}
構成タイプ内に囲まれ、"RADIUS_CLIENT_NAME"
および"radiusClientHost"
という2つの追加プロパティを含みます。
アプリケーション構成を定義するには、ペイロードに次の形式を使用します:
{
"application": {
"RADIUS_CLIENT_NAME": {
"radiusClientHost": "HOST_NAME_OR_IP_ADDRESS_OF_THE_COMPUTER_HOSTING_THE_RADIUS_CLIENT",
"CONFIG_TYPE": {
"PROP1_KEY": "PROP1_VALUE",
"PROP2_KEY": "PROP2_VALUE",
"PROPn_KEY": "PROPn_VALUE"
}
}
}
}
この形式の詳細は次のとおりです:
-
CONFIG_TYPEは、設定する構成のタイプです。
-
PROPn_KEYおよびPROPn_VALUEは、構成タイプごとに設定できるプロパティのキーと値のペアです。
-
"RADIUS_CLIENT_NAME"
は、アプリケーション構成を設定するRADIUSクライアントを識別するために指定する任意の名前です。 "radiusClientHost"
は、アプリケーション構成を設定するRADIUSクライアントをホストするコンピュータのIPアドレスまたはホスト名を値に設定する必要があるキーです。
次の例は、アプリケーション構成を設定できるシナリオを示しています:
データベース・サーバーおよびVPNクライアントという2つのRADIUSクライアントがあるとします。ここで、この両方のクライアントが、マルチファクタ認証に異なるファクタ・セットを使用する必要があるとします。このようなシナリオでは、クライアントごとにアプリケーション構成を定義して、それぞれのファクタを定義できます。
データベースRADIUSクライアントの認証ファクタを設定するためのアプリケーション構成のサンプル・ペイロードを次に示します。Oracle RADIUS Agentのエージェントおよび保証レベルは、Oracle Advanced Authenticationで事前に作成されている必要があります。
{
"applicationConfig": {
"dbRadiusClient": {
"radiusClientHost": "192.0.2.25",
"mfa": {
"provider": "OAA",
"oaa": {
"oaaUrl": "https://oaa.example.com:32461/oaa/runtime",
"clientId": "f530eea9-c9de-493e-9a39-6fea3b15521",
"clientSecret": "9e179ba1-125e-49a4-a0af-a67589031cca",
"agentgid": "5ff186f1-c291-4940-be38-df58033ab1b4"
}
},
"preferences": {
"mfaOptions": {
"assuranceLevel": "AssuranceLevel1"
}
}
}
}
}
VPN RADIUSクライアントのファクタを設定するためのアプリケーション構成のサンプル・ペイロードを次に示します:
{
"applicationConfig": {
"vpnRadiusClient": {
"radiusClientHost": "192.0.2.50",
"mfa": {
"provider": "OAA",
"oaa": {
"oaaUrl": "https://oaa.example.com:32461/oaa/runtime",
"clientId": "f530eea9-c9de-493e-9a39-6fea3b15521",
"clientSecret": "9e179ba1-125e-49a4-a0af-a67589031cca",
"agentgid": "5ff186f1-c291-4940-be38-df58033ab1b4"
}
},
"preferences": {
"mfaOptions": {
"assuranceLevel": "AssuranceLevel1"
}
}
}
}
}
2.10 RADIUSクライアントの登録と共有シークレットの生成
新しいアプリケーションまたはサービスをネットワークに追加する場合は常に、それをOracle RADIUS AgentにRADIUSクライアントとして登録してから、クライアントがOracle RADIUS Agentと通信するための共有シークレットを生成する必要があります。
クライアントを登録して共有シークレットを生成するには、次のREST APIエンドポイントに対してPOSTリクエストを行います:
https://radius.example.com:PORT/radius-admin/v1/clients
リクエストを行うときに、HTTP Basic認証用の初期構成の一部として構成されたOracle RADIUS Agent管理資格証明を入力します。
前述のREST APIエンドポイントに渡す必要があるペイロードを次に示します:
{
"applicationName": "NAME_OF_THE_RADIUS_CLIENT",
"hostName": "HOSTNAME_OR_IP_ADDRESS_OF_THE_COMPUTER_HOSTING_THE_RADIUS_CLIENT",
"applicationType": "TYPE_OF_RADIUS_CLIENT",
"description": "RADIUS_CLIENT_DESCRIPTION"
}
指定したクライアントの詳細、および登録済クライアントのクライアントIDと共有シークレットがレスポンスで返されます。RADIUSクライアントの構成中に共有シークレットの値を指定する必要があるため、これを書き留めておいてください。たとえば、Oracle DatabaseをRADIUSクライアントとして使用する場合は、生成された共有シークレットをデータベースのradius.keyファイルで指定します。
https://<host.domain>:PORT/radius-admin/v1/clients
REST APIエンドポイントへのPOSTリクエストを行うサンプル・ペイロードを次に示します:
{
"applicationName": "MyDatabaseClient",
"hostName": "198.51.100.1",
"applicationType": "Oracle",
"description": "Oracle Database"
}
対応するサンプル・レスポンスを次に示します:
{
"applicationName": "MyDatabaseClient",
"applicationType": "Oracle",
"hostName": "198.51.100.1",
"id": 2,
"sharedSecret": "NWNphF-mBec"
}
動的クライアントの登録
動的クライアント登録では、CIDR表記を使用してRADIUSクライアントのIPアドレスを指定できます。
動的クライアントを登録できるのは、動的クライアントが許可されている場合のみです。動的クライアントを許可するには、サーバー構成で「enableDynamicClients
」フィールドを有効にします。
次に、CIDR形式のIPアドレスを持つ動的クライアントの例を示します:
enableDynamicClients
フラグをDay-0 initに渡すことができます:"server": {
"enableDynamicClients":true
}
Day-Nで、サーバー構成がない場合は、次の例に示すようにPOSTリクエストを使用してサーバー構成を追加できます:
"server": {
"enableDynamicClients":true
}
サーバー構成が存在する場合は、次の例に示すように、PATCHリクエストを使用してフラグの値を更新できます:
"server": {
"enableDynamicClients":true
}
動的クライアントが有効になっていない場合、動的クライアントの登録はできず、次の例に示すようにエラーがスローされます:
{
"errorCode": "IRA-00042",
"message": "IRA-00042: Dynamic clients not allowed in the server.",
"timestamp": "2021-04-28T06:46:05.068Z[UTC]"
}
動的クライアントを登録するには、次の例に示すように、CIDR表記の範囲としてhostNameを指定する必要があります:
{
"hostName": "192.168.29.244/30",
"applicationType": "radius",
"applicationName": "Radius"
}
前述の例では、hostName (192.168.29.244/30)のCIDRには、192.168.29.244から192.168.29.247までのIPアドレス範囲が含まれています。CIDR表記用に生成される共有シークレットは、これらすべてのマシンの共有シークレットになり、これらのマシンのいずれかを使用してRADIUSコールを行うことができます。
指定されたCIDR表記範囲にIPアドレスを持つマシンを生成された共有シークレットとともに使用して、RADIUSコールを行うことができます。
2.11 ロギングの構成
Oracle RADIUS Agentロギングは、コンテナの起動時またはDay 0構成後に構成できます。
Oracle RADIUS Agentでは、java.util.logging ファイルが使用されます。ログ・ファイルの場所は構成可能で、初期コンテナ設定の一部として構成されます。詳細は、「Oracle RADIUS Agentのインストールと構成」の項を参照してください。Oracle RADIUS Agentでは、特定のカスタム・ロギング・プロパティの設定もサポートされます。ログ・レベルは、Oracle RADIUS Agent REST APIをコールして動的に構成できます。
ログ・ファイルは、INSTANCE_NAME/logs
ディレクトリに作成されます。デフォルトのログ名は次のとおりです:
- ora-server0.log - サーバー・ログが含まれます
- ora-access0.log - アクセス・ログが含まれます
- ora-audit0.log - 監査ログが含まれます
サーバー・ログは、oracle.idm.radius.level
を設定することで制御します。これは、java.util.logging
で定義されたレベルに設定できます。デフォルトのログ・レベルはWARNINGです。
アクセス・ログは、oracle.idm.radius.access.log.level
を設定することで制御します。アクセス・ログ・レベルはオンまたはオフにできます。オンにするには、INFO
に設定します。オフにするには、その他の上位ロギング・レベルに設定します。アクセス・ログはデフォルトで有効になります。
監査ログは、oracle.idm.radius.audit.log.level
を設定することで制御します。監査ログ・レベルはオンまたはオフにできます。オンにするには、INFO
に設定します。オフにするには、その他の上位ロギング・レベルに設定します。監査ログはデフォルトで有効になります。
POST https://<hostname.domain>:PORT/radius-config/v1/configurations
前述のREST APIエンドポイントに渡す必要があるペイロードの例を次に示します。
{
"logging": {
"oracle.idm.radius.level": "FINEST",
"oracle.idm.radius.access.log.level": "INFO"
}
}
次に、対応するレスポンスを示します:
{
"message": "Configuration is successfully updated.",
"timestamp": "2021-03-24T15:54:57.502Z[UTC]"
}
外部ロギング・プロパティの使用
外部ロギング・プロパティを使用して、追加のロギング関連プロパティを設定できます:
-
java.util.logging.FileHandler.limit
ロギング・ファイル・ハンドラの制限は、
java.util.logging.FileHandler.limit
を設定することで制御します。これは、任意の1ファイルに書き込むおおよその最大量(バイト)を指定します。これがゼロの場合、制限はありません。これがデフォルトです。
-
java.util.logging.FileHandler.count
ロギング・ファイル・ハンドラ数は、
java.util.logging.FileHandler.count
を設定することで制御します。これは、循環する出力ファイル数を指定します。デフォルト値は1です。ノート:
パラメータjava.util.logging.FileHandler.limit
およびjava.util.logging.FileHandler.count
は、OVERRIDDEN_INSTANCE_CONFIG
変数を使用して渡されたカスタムlogging.properties
に指定されている場合にのみ有効になります。 -
このプロパティを使用して、サーバー・ログを制御します。oracle.idm.radius.level
-
アクセス・ログのロガー名を表し、デフォルトで有効になっています。アクセス・ロギングをオフにするには、このレベルを"SERVERE"に変更します。oracle.idm.radius.access.log.level
-
監査ログのロガー名を表します。監査ログをオフにするには、このレベルを"SERVERE"に変更します。oracle.idm.radius.audit.log
FileHandler
をLogManager
構成プロパティとともに使用して、サーバー・ログ・ファイルのサイズおよび数を制御できます。-
コンテナは、
OVERRIDDEN_INSTANCE_CONFIG
で指定することによって外部overriden_logging_config.properties
ファイルで起動できます。docker run -d --network rad --name radius1 -v /home/opc/Radius:/u01/oracle/user_projects -p 8000:8080 -p 1812:1812/udp -p 1813:1813/udp -p 1814:1814 -e INSTANCE_NAME=inst1 [-e OVERRIDDEN_INSTANCE_CONFIG=/u01/oracle/user_projects/overriden_logging_config.properties] idm-imcs-sandbox.dockerhub-phx.oci.oraclecorp.com/idm-radius-server:latest
2.12 構成プロパティ
次の表に、Oracle RADIUS Agentで使用可能な構成プロパティの概要を示します。
次の表に、サーバー構成タイプ"server:"
のOracle RADIUS Agent構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
stateCacheEntryTimeout | 状態属性キャッシュのエントリ・タイムアウト | 120000 |
stateCacheConcurrencyLevel | 状態属性キャッシュの同時実行レベル | 6 |
validatedTokenCacheEntryTimeout | 検証されたMFAトークン・キャッシュのエントリ・タイムアウト | 60 |
validatedTokenCacheConcurrencyLevel | 検証されたMFAトークン・キャッシュの同時実行レベル | 6 |
customDictionary | ベンダー固有属性の定義を含むカスタムRADIUS辞書ファイル | なし |
customDictionaryAsStream | ストリームとしてのカスタム辞書ファイル | なし |
enableDynamicClients | 動的クライアントが許可されているかどうかを示します。 | なし |
enableMetrics | メトリックが有効かどうかを示します。 | true |
heartBeatInterval | LDAPのようなオーセンティケータの可用性をチェックするために構成されたハートビート・スレッドの起動間隔(ミリ秒)。 | 120000 |
次の表に、構成タイプ"radiusListener:"
のOracle RADIUS Listener構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
channelSelectTimeout | UDP NIOチャネル選択タイムアウト(ミリ秒) | 120000 |
socketSOTimeout | 基礎となるソケットSOタイムアウト(ミリ秒)。 | 1800000 |
numberOfWorkerThreads | 許可されるワーカー・スレッドの最大数。これは、ワーカー・スレッドの基礎となるThreadPoolExecutorの最大PoolSize値にマップされます。 | 20 |
coreThreadPoolSize | ワーカー・スレッドの基礎となるThreadPoolExecutorのCorePoolSize値。これは、基礎となるThreadPoolExecutorが保持するワーカー・スレッドの最小数です。 | 10 |
threadPoolKeepAliveTime | ワーカー・スレッドの基礎となるThreadPoolExecutorのスレッド・プールのキープ・アライブ時間(ミリ秒)。最小スレッド数(coreThreadPoolSize)を超えるスレッド・プールが構成されている場合、このthreadPoolKeepAliveTimeより長くアイドル状態になっている超過スレッドは終了します。これにより、スレッド・プールがアクティブに使用されていないときのリソースの消費量を減らすことができます。プールがあとでアクティブになると、新しいスレッドが構築されます。値0は、作成された超過スレッドがクリーン・アップされないことを意味するため、0を使用しないことをお薦めします。 | 10000 |
requestCacheEntryTimeout | リクエスト・キャッシュのエントリ・タイムアウト値(ミリ秒) | 30000 |
requestCacheConcurrencyLevel | リクエスト・キャッシュの同時実行レベル。 | 6 |
requestCacheCleanupInitialDelay | リクエスト・キャッシュ・クリーンアップ・スレッドの初期遅延。 | 0 |
requestCacheCleanupInterval | リクエスト・キャッシュ・クリーンアップ・スレッドの間隔。 | 60000 |
requestCacheCleanupPoolSize | リクエスト・キャッシュ・クリーンアップ・スレッドのプール・サイズ。 | 0 |
次の表に、基本認証の構成プロパティの概要を示します。これらは、構成タイプ"authentication:"
および"mfa:"
に適用されます
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
name | 構成の名前 | MFAConfigの場合はGlobal Oracle Advanced Authentication、LdapConfigの場合はGlobal Ldap、OAMConfigの場合はGlobal Oracle Access Management |
enabled | これが有効かどうかを示すフラグ | true |
retryCount |
構成されており、値が0より大きい場合は、 接続失敗の場合に構成された回数の操作が再試行されることを示します。 値が0の場合は、再試行をオフにできます |
1 |
retryInterval | 再試行回数が1を超える場合は、2回の再試行の間隔(ミリ秒)。 | 0 |
次の表に、構成タイプ"authentication:"
のプライマリ・オーセンティケータ構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
provider | 構成された認証プロバイダ・タイプ | LDAP |
userCacheEntryTimeout | ユーザー・キャッシュのエントリ・タイムアウト値(ミリ秒) | 300000 |
userCacheConcurrencyLevel | ユーザー・キャッシュの同時実行レベル | 4 |
userCacheCleanupInterval | ユーザー・キャッシュ・クリーンアップ間隔 | 300000 |
userCacheCleanupPoolSize | ユーザー・キャッシュ・クリーンアップ・スレッドのプール・サイズ | 1 |
userCacheCleanupInitialDelay | ユーザー・キャッシュ・クリーンアップ・スレッドが起動するまでのクリーンアップの初期遅延 | 0 |
ldap | LDAP構成の詳細 | なし |
次の表に、構成タイプ"ldap:"
のLDAPオーセンティケータ構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
ldapUrl | LDAPサーバーのURL。これは、ldap://hostname:port(非SSLの場合)またはldaps://hostname:port(SSLの場合)の形式にする必要があります | なし |
dn | RADIUSエージェントがLDAPサーバーへの接続に使用するユーザーのDN | "" (匿名バインド) |
password | RADIUSエージェントがLDAPサーバーへの接続に使用するユーザーのパスワード | "" (匿名バインド) |
baseDN | RADIUSエージェントがユーザーおよびグループを検索するために使用するLDAPドメインのベースDN | "" |
loginAttr | ユーザーのLDAPでのログイン属性名。これは、ログイン時にユーザーを検索するためのフィルタを作成するために使用されます | uid |
userFilteringCriteria | ユーザーを検索するための追加のフィルタ条件。このフィルタが存在する場合、loginAttrに基づくフィルタとAND処理されます | なし |
authWithoutMFACriteria | このフィルタに基づき、ユーザー・フットプリントがMFAに存在しない場合のみ、一致するユーザーはプライマリ・ファクタを使用してログインできます。 | なし |
trustedCertificate | Base 64形式の信頼できる証明書 | なし |
truststore | 証明書にJKSファイルを使用する場合のトラストストア・ファイルの場所。 | なし |
truststorePassword | トラストストアのパスワード。これはオプションであり、trustedCertificateのかわりにトラストストアを使用する場合に指定する必要があります。 | なし |
trustedCertificateAliasName | JKSで信頼できる証明書を参照するために使用する別名 | ldap-server-trusted-cert |
keystore | SSL相互認証に使用されるキーストア・ファイルの場所 | なし |
keystoreCertificateAliasName | キーストアJKSの証明書を参照するために使用される別名 | なし |
keystorePassword | キーストア・ファイルのパスワード。 | なし |
keystoreTruststoreType | ファイル・ベースのトラストストア/キーストアを使用する場合のファイル・タイプ(JKS/PKCS12)。nullの場合は、証明書自体が指定されていることを意味します。 | なし |
keyFactorAlgorithm | 証明書の署名に使用されているアルゴリズム | RSA |
sslProtocol | RADIUSエージェントがLDAPサーバーに接続してセキュアな接続を行うために使用する暗号プロトコル。複数のプロトコルをカンマで区切って指定できます。 | なし(JVMのデフォルトを使用します) |
cipherSuites | 標準でサポートされているデフォルトの暗号スイート | なし(JVMのデフォルトを使用します) |
searchUserBeforeBind | ユーザー・ログインを開始する前に、LDAPサーバーのユーザーを参照してそのDNを取得します。これは、LDAPサーバーがマップされたIDを使用した直接バインド(たとえば、OUDのIDマッパー、Active DirectoryのUPNバインドなど)をサポートする場合は無効にできます | true |
connectTimeout | その時間内にLDAP接続を確立する必要がある時間制限(ミリ秒) | 5000 |
readTimeout | RADIUSエージェントがLDAPサーバーの応答を待機する時間の制限(ミリ秒)。 | 30000 |
searchTimeout | LDAP検索の時間制限(ミリ秒)。 | 30000 |
referral | LDAPサーバーによって参照が返されるときの動作を指定します。使用可能な値については、JNDI java.naming.referralを確認してください。 | follow |
次の表に、構成タイプ"ldap:"
のLDAPオーセンティケータ - 構成プール構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
initSize | このプロパティは、接続プールの初期化時に作成される接続の数を示します | 5 |
minSize | プールが保持する接続の最小数。initSizeがminSizeより小さい場合、接続プールはminSize接続で初期化されます。 | 5 |
maxSize | プールが保持する接続の最大数。minSizeがmaxSizeより大きい場合、minSizeはmaxSizeに設定されます。 | 100 |
poolMaxWaitTime | LDAP接続が使用可能になるまでクライアントが待機する時間の制限(ミリ秒) | 20000 |
poolIncrementSize | すべての既存の接続が使用中であり、接続数がmaxSize未満であるときに確立される接続の数 | 5 |
poolMaxConnectionIdleTime | アイドル接続が失効するまでの時間(ミリ秒) | 1500000 |
poolMaxConnectionReuseTime | 接続が失効するまでの時間(ミリ秒) | -1 (時間制限なし) |
poolMaintenanceInterval | 上の2つのプロパティを適用するメンテナンス・スレッドが実行されるときの時間間隔(ミリ秒)。 | 600000 |
次の表に、構成タイプ"ldap:"
のLDAPオーセンティケータ - 接続ソケット構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
soTimeout | データ待機中のソケット・タイムアウトをミリ秒単位で定義します。値が0の場合、タイムアウトはありません | 0 |
soKeepAlive | ソケット接続のキープ・アライブ・プローブを有効にします。 | true |
tcpNoDelay | 可能であればすぐにデータを送信します | false |
reuseAddress | TIME_WAIT状態の場合でもポートを再利用します | true |
次の表に、構成タイプ"ldap:"
のLDAPオーセンティケータ - グループ・メンバーシップ構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
memberAttr | グループ関連問合せに使用されるLDAP属性名。指定しない場合は、uniquememberおよびmemberが使用されます。ADの場合、ネストされたグループ検索が機能するためには、値として'member'を指定する必要があります。 | なし |
memberFilteringCriteria | グループ検索の追加のフィルタリング条件。この条件は、グループ・メンバーシップ問合せフィルタとAND処理されます。例: ADの場合、ネストされたグループ検索が機能するためには(objectclass=group)を指定する必要があります。 | なし |
groupNamingAttribute | LDAP内のグループのネーミング属性 | cn |
maxNestedLevels | ネストされたグループが構成されている場合、特定のユーザーがメンバーとなっているグループを検索するには最大深度検索を実行する必要があります。(ノート: これは、グループ・メンバーシップ問合せがOracle RADIUS Agentによって構築された場合のみに適用され、memberof問合せには適用されません) | 10 |
enableMemberOfQuery | バックエンドLDAPサーバーによって解決されるグループ・メンバーシップに依存するmemberof検索を有効にします。OID/OUDではネストされたグループ/動的グループが直接メンバーシップとともに返されますが、ADではユーザーの直接メンバーシップのみが返されます。 | false |
memberOfAttribute | ユーザーがメンバーになっているグループを返す属性。OUDはismemberof、ADはMemberofと連携し、OIDはmemberofとismemberofの両方をサポートします | memberof |
maxGroupsToFetch | 検索の結果として返されるエントリの最大数を設定します。0の値は、制限がないことを示します。(ノート: これは、グループ・メンバーシップ問合せがOracle RADIUS Agentによって構築された場合のみに適用され、memberof問合せには適用されません) | 0 |
次の表に、構成タイプ"mfa:"
のMFA - Oracle Advanced Authentication構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
oaaUrl | Oracle Advanced AuthenticationサービスのベースURI | なし |
timeToLiveInMs | ファクタ・トークンの存続時間(ミリ秒) | 300000 |
clientType | RADIUSエージェントのOracle Advanced Authenticationで使用されるクライアント・タイプ | radius |
clientSecret | RADIUSエージェントの登録済エージェントに対するOracle Advanced Authenticationのクライアント・シークレット | なし |
clientId | RADIUSエージェントの登録済エージェントのOracle Advanced AuthenticationのクライアントID | なし |
エージェントID | 登録されたRADIUSエージェントに対するOracle Advanced AuthenticationのエージェントID | なし |
connectTimeout | Oracle Advanced Authentication APIの接続タイムアウト(ミリ秒) | 2000 |
readTimeout | Oracle Advanced Authentication APIの読取りタイムアウト(ミリ秒) | 10000 |
oaaPolicyUrl | Oracle Advanced AuthenticationポリシーのURL | なし |
policyUserName | Oracle Advanced Authenticationポリシー・ユーザー名 | なし |
policyUserPassword | Oracle Advanced Authenticationポリシー・パスワード | なし |
次の表に、構成タイプ"preferences:"
のプリファレンス構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
returnGroups | 認証中にグループを返す必要があるかどうかを示します。 | false |
groupAttrID | グループ・マッピングのRADIUS属性ID。グループはこのRADIUS属性の一部として返されます。 | 1 (Oracleの場合) |
groupAttrVendorID | グループ・マッピングのRADIUSベンダーID。グループはこのRADIUS属性の一部として返されます。 | 111 (ORACLE_ROLE属性の場合) |
groupAsSingleString | trueの場合は、レスポンスで、グループの詳細を構成されているデリミタで区切られた単一の文字列として返します。 | false |
groupAsSingleStringDelimiter | グループが単一文字列として返されるときに使用されるデリミタ。 | , |
allowTokenInPassword | 同期ログイン・モード(パスワード、デリミタ、トークン連結)が有効/無効かどうかを示します。 | true |
defaultTokenLength | 同期ログイン・モードのトークンの長さ。これは、構成されたDefaultSecondFactorのトークンの長さを表します。 | 6 |
appendDelimiter | 同期モードに使用されるデリミタ(パスワード+デリミタ+トークン)。例: password;123456 | ; |
defaultSecondFactor | デフォルトの第2ファクタ。このファクタは、ユーザーがOracle Advanced Authenticationのユーザー設定から使用できる優先ファクタがなく、RADIUSリクエストで同期モードが使用されている場合に使用されます。 | ChallengeOMATOTP |
mfaOptions | "assuranceLevel"、"factorChoices" (Oracle RADIUS AgentおよびOracle Advanced Authenticationの自動ワイヤリング用)、Oracle Advanced Authenticationに渡されるデフォルトのグループ名を設定するための"defaultGroup"など、追加のOracle Advanced Authentication Provider固有オプション。 | {"defaultGroup" : "Default"} |
allowSpecificFactorInPassword | エンドユーザーによる特定のファクタの直接起動が有効かどうかを示します。 | false |
radiusFactorToMFAFactorMap | RADIUSAgentのファクタからMFAプロバイダのファクタへのマッピング。これらのキーワードを使用して、MFAの特定のファクタを起動できます。 | {"totp": "ChallengeOMATOTP", "yubikey": "ChallengeYubicoOTP", "sms": "ChallengeSMS", "mail": "ChallengeEmail"} |
userAttrMap | プライマリ・オーセンティケータから、認証時に返される指定されたRADIUS属性へのユーザー属性のマッピングを表します。 | なし |
groupNameMapping | プライマリ・オーセンティケータのグループ名を別の値にマップするためのマッピング。 | なし |
factorToTokenLengthMap | RADIUSファクタからファクタ・トークンの長さへのマッピング。 | {"ChallengeOMATOTP": 6, "ChallengeYubicoOTP": 44} |
次の表に、構成タイプ"userAttrMap:"
のプリファレンス - UserAttrMapping構成プロパティの概要を示します
構成パラメータ | 説明 | デフォルト値 |
---|---|---|
vendorId | マップされたRADIUSユーザー属性に関連付けられたベンダーID | なし |
attrName | プライマリ・オーセンティケータのユーザー属性名 | なし |
attrId | マップされたRADIUSユーザー属性の属性ID | なし |
2.13 ロード・バランシングの設定
Oracle RADIUS Agentコンテナ・インスタンスはステートレスであるため、ロード・バランサの背後に複数のOracle RADIUS Agentインスタンスをデプロイすることで、ロード・バランシングおよび高可用性を設定できます。ボリューム上の永続構成を指すことで、新しいOracle RADIUS Agentコンテナ・インスタンスを簡単に起動できます。これにより、水平方向のスケーリングが容易になります。
セッション永続性
ロード・バランサを使用してOracle RADIUS Agentをデプロイする場合、エンド・ユーザーのIPアドレスに基づくセッション永続性をロード・バランサで構成する必要があります。RADIUSはUser Datagram Protocolに基づき、RADIUSのマルチファクタ認証リクエストでは別のRADIUSパケットを使用するRADIUSチャレンジ・レスポンス・フローを使用するため、これが特に必要です。