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 AuthenticationOracle 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などの仮想化サポート付き)
サポートされているインストール・タイプ、プラットフォーム、オペレーティング・システム、データベース、JDKおよびサードパーティ製品の詳細は、Oracle Technology Network (OTN)の動作保証ドキュメントを参照してください:
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

2.3 Oracle RADIUS Agentをインストールおよび構成するステップのサマリー

これは、Oracle RADIUS Agentのインストールおよび構成に関連するステップの概要リストです。

  1. Oracle RADIUS Agentをインストールするためのすべての前提条件が満たされていることを確認します。

  2. Oracle RADIUS Agentのコンテナ・イメージを取得します。

  3. コンテナを作成して起動してから、そのヘルス・ステータスを確認します。

  4. マルチファクタ認証用にOracle RADIUS Agentを使用する場合は、Oracle Advanced Authenticationの実行中インスタンスがあることを確認します。

  5. day-0または初期構成を設定および検証します。

  6. 要件に従って、グローバル構成またはアプリケーション固有の構成を作成します。

  7. RADIUSクライアントを登録し、共有シークレットを生成します。

  8. 生成された共有シークレットおよび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 RADIUS Agentは、ベンダー固有属性(VSA)をサポートしています。RADIUSベンダー固有属性はRADIUSリモート関数コールの一部であり、ベンダーは独自の拡張カスタム属性をサポートできます。Oracle RADIUS Agentのベンダー固有属性エンドポイントを使用して、ベンダー固有属性を定義および管理できます。

ノート:

ロールに基づくOracle DB認可では、Oracle RADIUS Agentに含まれるORACLE_ROLE VSAを定義する必要があります。

2.6 インスタンス固有パラメータについて

Oracle RADIUS Agentのコンテナの起動時に設定および構成できるインスタンス固有パラメータについて学習します。

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コンテナの起動、および構成ファイルのストレージの選択を行います。

  1. Oracle RADIUS Agentイメージは、edeliveryからzipファイルをダウンロードするか、Oracle Container Registryからイメージをプルすることで取得できます。edeliveryからダウンロードした場合は、Oracle RADIUS Agentのzipファイルをedeliveryから必要なディレクトリにダウンロードします:
    1. Oracle RADIUS Agentのzipを任意のディレクトリに解凍します。
    2. tarファイルをコンテナ・レジストリにロードします。
      $ docker load --input <tarfile-path>
    3. コンテナ・レジストリにイメージが存在することを確認します。
      $ docker images

    または、Oracle Container Registryのイメージを使用する場合は、そこにあるドキュメントを参照してください。

  2. デプロイメント環境に従ってイメージをタグ付けします。
    docker tag <image name from downloaded image>:<tag> idm-radius-server:<tag> 

    ノート:

    ダウンロードされたイメージ名の例: container-registry.oracle.com/middleware/ora。タグの例: 12.2.1.4.210423
  3. 次のコマンドを実行して、Oracle RADIUS Agentのコンテナを作成して起動します:
    $ docker run -d --network [USER_CREATED_NETWORK_NAME] --name CONTAINER_NAME -v VOLUME_MAPPING [--user UID:GID] -p HOST_CONFIG_PORT:CONTAINER_CONFIG_PORT -p HOST_RADIUS_PORT:CONTAINER_RADIUS_PORT [-p <HOST_RADIUS_PORT2:CONTAINER_RADIUS_PORT2> . . .] -e <ENV_VAR> -e INSTANCE_NAME -e DEPLOYMENT_NAME IMAGE
    コマンドの説明は次のとおりです:
    • USER_CREATED_NETWORK_NAMEはネットワーク・ブリッジの名前です。これは、Oracle RADIUS Agentコンテナが同じネットワーク・ブリッジ上の他のコンポーネント・コンテナと通信する場合にのみ必要です。

    • CONTAINER_NAMEは、Oracle RADIUS Agentのコンテナの名前です。

    • VOLUME_MAPPINGは、ローカル・ディレクトリをコンテナ・ボリュームにマップするためのボリューム・マッピングです。

    • UID:GIDは、Oracle RADIUS Agentデプロイメントで使用されるユーザーのオーバーライドされた値です。これはオプションであり、指定しない場合、Oracle RADIUS Agentはデフォルトのuid:gidである14304:14304を使用して実行されます。

    • HOST_CONFIG_PORTは、Oracle RADIUS Agentコンテナ構成ポートにマップされるホスト上のポートです。このポートは、すべてのREST APIコールのエンドポイントURLで使用されます。

    • CONTAINER_CONFIG_PORTは、Oracle RADIUS Agentコンテナ構成ポートです。デフォルトでは、これは8080です。

    • HOST_RADIUS_PORTは、RADIUSコンテナ・リスナー・ポートにマップされるホスト上のポートです。

    • CONTAINER_RADIUS_PORTは、Oracle RADIUS Agentコンテナ・リスナー・ポートです。

    • ENV_VARは、Oracle RADIUS Agentを実行しているJVMに渡される一般的な環境変数です。たとえば、これを使用してメモリー制限や言語を設定できます。

    • INSTANCE_NAMEは、Oracle RADIUS Agentインスタンスの名前です。

    • DEPLOYMENT_NAMEは、Oracle RADIUS Agentデプロイメントの名前です。
    • IMAGEは、ローカル・イメージ・リポジトリ内のOracle RADIUS Agentコンテナ・イメージの場所です。

    次に、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
  4. docker psコマンドを実行して、コンテナのヘルス・ステータスを確認します。ステータスがhealthyとして表示されていることを確認します。このコマンドの出力は次のようになります:
    CONTAINER ID        IMAGE                                               COMMAND                  CREATED             STATUS              PORTS                                                                                                                                             NAMES
    ef8be733a132        container-registry.oracle.com/middleware/ora:latest   "entrypoint.sh"          3 weeks ago         Up 3 weeks (healthy)   0.0.0.0:1812-1813->1812-1813/udp, 1814-1830/udp, 0.0.0.0:1814->1814/tcp, 0.0.0.0:8000->8080/tcp radius1

    ノート:

    Oracle RADIUS Agentのアップグレードの詳細は、「Oracle RADIUS Agentの2022年4月以降のリリースへのアップグレード」を参照してください。

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 AuthenticationOracle RADIUS Agentを使用する場合は、必要な構成をさらに定義する必要があります。

POSTメソッドを使用して、次の保護されていないRESTエンドポイントを起動することで初期構成をシードできます:

https://<hostname.domain>:PORT/radius-config/v1/init

保存する前に初期構成を検証するには、POSTメソッドを使用して、次の保護されていないRESTエンドポイントを起動します:

https://<hostname.domain>:PORT/radius-config/v1/validate

両方のエンドポイントで、PORTdocker 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から取得する必要があります。

authenticationmfaなどの構成タイプについては、表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 構成タイプ

構成タイプ 説明

authentication

この構成タイプを使用して、プライマリ・オーセンティケータの詳細を指定します。たとえば、LDAPサーバーをプライマリ・オーセンティケータとして使用している場合は、authentication構成タイプ・セクションで名前、URL、管理者ユーザーとパスワード、そのベースDNおよびSSL構成を指定します。

mfa

この構成タイプを使用して、マルチファクタ認証に使用するOracle Advanced Authenticationの詳細を指定します。たとえば、OAAランタイムURL、クライアントID、クライアント・シークレットなどの詳細をこのセクションで指定します。

preferences

この構成タイプを使用して、デプロイメント要件に基づいて様々なプリファレンスを設定します。たとえば、認証時にグループを返す必要があるかどうかを指定すること、マルチファクタ認証の認証モードのタイプを指定すること、このセクションでユーザーとグループのマッピングを指定することができます。

radiusListener

これを使用して、Oracle RADIUS Agentリスナー・ポートの構成を指定します。

logging

この構成タイプを使用して、ロギングを有効または無効にし、ログ・レベルも設定します。ロギング・プロパティの設定方法の詳細は、「ロギングの構成」の項を参照してください。

server

この構成タイプは、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アドレスを持つ動的クライアントの例を示します:

Day-0の場合、次の例に示すように、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に設定します。オフにするには、その他の上位ロギング・レベルに設定します。監査ログはデフォルトで有効になります。

ロギングのログ・レベルを構成するには、次のREST APIエンドポイントに対してPOSTリクエストを行います:
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

    このプロパティを使用して、サーバー・ログを制御します。
  • oracle.idm.radius.access.log.level

    アクセス・ログのロガー名を表し、デフォルトで有効になっています。アクセス・ロギングをオフにするには、このレベルを"SERVERE"に変更します。
  • oracle.idm.radius.audit.log

    監査ログのロガー名を表します。監査ログをオフにするには、このレベルを"SERVERE"に変更します。
  • FileHandlerLogManager構成プロパティとともに使用して、サーバー・ログ・ファイルのサイズおよび数を制御できます。
  • コンテナは、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チャレンジ・レスポンス・フローを使用するため、これが特に必要です。