6.1 アップグレードのための環境の準備

アップグレードを開始する前に、既存の環境を準備する必要があります。

一般的な前提条件

アップグレードを実行する前に、次の条件を満たす必要があります:
  • Kubernetesクラスタは、My Oracle SupportのドキュメントID 2723908.1で概説されている最小バージョン要件を満たすようにアップグレードする必要があります。
  • OAAおよびOARMデプロイメントが稼働している必要があります。
  • 「インストール・ホストの要件」に従って、インストール・ホストの前提条件が満たされていることを確認します
  • インストール・ホストは、既存のデプロイメントのNFSボリュームにアクセスできる必要があります。「NFSボリュームの構成」を参照してください。
  • ファイル・システム・データ、ランタイム・データ、ポリシーおよび構成データをバックアップします。「OAA/OARMのバックアップ」を参照してください。

Oracle Universal Authenticatorを含めるためのアップグレード

Oracle Universal Authenticator (OUA)をまだ構成しておらず、OAAをアップグレードしてOUAを含める場合は、次のステップを実行する必要があります:
  1. Oracle Access Management (OAM)を4月24日以降のバンドル・パッチにアップグレードします。
  2. 「Oracle Access Managementの要件」に従って、OUAに必要な前提条件ステップを実行します(欠落しているOHSエントリやOUA TAPパートナなど)。
  3. 追加のイメージ・レジストリoaa-drssをリポジトリに追加します。「コンテナ・イメージ・レジストリ(CIR)の設定」を参照してください。
  4. OUAを使用するすべてのユーザーに、LDAP属性obpsftid: trueを追加します。「LDAPストアでのユーザーとグループの作成」を参照してください。

Androidデバイスのプッシュ通知

次の項は、6月24日より前のリリースからアップグレードする場合で、すでにプッシュ通知を使用している場合にのみ関連します。6月24日のリリースをすでに使用している場合や、プッシュ通知を使用していない場合は、この項を無視できます。

2024年6月から、Googleは非推奨の従来のFCM APIを削除しています。「Migrate from legacy FCM APIs to HTTP v1」を参照してください。そのため、既存のデプロイメントにAndroidのプッシュ通知が構成されている場合は、既存の構成を変更する必要があります:
  1. Google Firebaseコンソール(https://console.firebase.google.com/)にログインします。
  2. 既存のFirebaseプロジェクト(OAAAndroidPUSHなど)をクリックします。

    ノート:

    プロジェクトを作成したアカウントにアクセスできなくなっている場合は、「Google Cloud Messagingに対応したGoogle Firebaseプロジェクトの作成」の手順で新しいプロジェクトを作成し、「Androidプッシュ通知のOAAプロパティの構成」に従って、senderIdパラメータを更新する必要があります。
  3. プロジェクト・ウィンドウの左側のナビゲーション・ペインで、「Settings」アイコンをクリックし、「Project settings」を選択します。
  4. 「Service Accounts」タブに移動し、「Generate new private key」をクリックします。「Generate new private key」ウィンドウで、「Generate key」をクリックします。これにより、サービス・アカウントjsonファイルが生成されます。service-account.jsonなどのファイルをダウンロードして保存し、安全に保管します。
  5. NFSボリューム<NFS_VAULT_PATH>にディレクトリを作成し、次の場所にjsonファイルをコピーします:
    cd <NFS_VAULT_PATH>
    $ mkdir -p ChallengeOMAPUSH/gcm
    $ cp service-account.json <NFS_VAULT_PATH>/ChallengeOMAPUSH/gcm
    $ sudo chmod 444 <NFS_VAULT_PATH>/ChallengeOMAPUSH/gcm/service-account.json
  6. <NFS_LOG_PATH>/status.infoを編集し、次のボールト・パラメータをfalseに設定してファイルを保存します:
    VAULTINSTALL=false
    VAULTCHECK=false

アップグレードのための環境の準備

  1. アップグレードをロールバックする必要がある場合に備えて、既存のinstallOAA.propertiesのバックアップを作成します:
    cd <NFS_CONFIG_PATH>
    cp installOAA.properties installOAA.properties.<release-date>
  2. <NFS_LOG_PATH>/status.infoで、SNAPSHOTIMPORT=trueとなっていることを確認します。

    ノート:

    これは非常に重要なステップです。この値がfalseになっている場合は、必ずtrueに変更してください。そうしないと、アップグレード中にOAAスナップショットが上書きされます。
  3. 「インストール・ソフトウェアの入手」に従って、最新のOAAインストール・ファイルをインストール・ホストにダウンロードして抽出します。

    ノート:

    ファイルを解凍すると、oaa-installディレクトリ($UPGRADE_WORKDIR/oaa-installなど)が作成されます。このディレクトリは後続のステップで使用されます。
  4. 既存のOAA管理コンテナの名前を検索します:
    kubectl get pods -n <namespace> | grep oaamgmt
    たとえば:
    kubectl get pods -n oaans | grep oaamgmt
    出力は次のようになります:
    oaamgmt-oaa-mgmt-bf6d5c88-29lrn           1/1     Running   0          64d
  5. 現在のデプロイメントのinstallOAA.properties$UPGRADE_WORKDIR/oaa-installディレクトリにコピーします:
    kubectl cp <namespace>/<oaamgmt-pod>:/u01/oracle/scripts/settings/installOAA.properties $UPGRADE_WORKDIR/oaa-install/installOAA.properties
    たとえば:
    kubectl cp oaans/oaamgmt-oaa-mgmt-bf6d5c88-29lrn:/u01/oracle/scripts/settings/installOAA.properties $UPGRADE_WORKDIR/oaa-install/installOAA.properties
  6. $UPGRADE_WORKDIR/oaa-install/installOAA.propertiesを編集し、install.global.image.tagを最新リリースのイメージ・タグに変更します。

    ノート:

    install.global.image.tagの正しい値は、$UPGRADE_WORKDIR/oaa-install/installOAA.properties.templateにあります。
  7. OUAをまだインストールしておらず、アップグレードでインストールにOUAを含める場合は、$UPGRADE_WORKDIR/oaa-install/installOAA.propertiesを編集して次を変更する必要があります:
    • common.deployment.mode=OUA
    • install.global.drssapikey=drssapikeytobesetduringinstallation

      ノート:

      drssapikeytobesetduringinstallationを任意の値に変更します。
    • 次のパラメータを設定します。
      • oua.tapAgentName=OAM-OUA-TAP
      • oua.tapAgentFilePass=<OUA_TAPFILE_PASSWORD>
      • oua.tapAgentFileLocation=<OUA_TAPFILE_LOCATION>
      • oua.oamRuntimeEndpoint=<WEB_HOST>

      ノート:

      詳細は、「構成のチェックポイント」を参照してください。
  8. 次の新しいセクションを追加します:
    
    ##################################### OAA Configuration ###########################################
    oaa.tapAgentName=<OAA_TAP_PARTNER_NAME>
    oaa.tapAgentFilePass=<OAA_TAP_FILE_PASS>
    oaa.tapAgentFileLocation=<LOCAL_PATH>/<LOCAL_TAP_AGENT_FILE>
    oaa.authFactors=ChallengeEmail,ChallengeSMS,ChallengeOMATOTP,ChallengeYubicoOTP,ChallengeOMAPUSH,ChallengeFIDO2
    ####################################################################################################
    管理者は、次のことに注意する必要があります:
    • 「Oracle Access ManagementとOracle Advanced Authenticationの統合」に従って以前にOAMをOAAと統合した場合は:
      • oaa.tapAgentNameを既存のデプロイメントのOAA TAPパートナの名前に設定する必要があります。この名前は、前述のチュートリアルを参照することで確認できます。
      • アップグレード中にOAA TAPパートナが見つかった場合、oaa.tapAgentFilePassoaa.tapAgentFileLocationおよびoaa.authFactorsは無視されます。ただし、これらを前述のデフォルト値に設定するか、TAPパートナ・キーストアを<INSTALL_HOST>のローカル・ディレクトリにコピーし、パラメータを正しく設定する必要があります。
    • OAMをまだOAAと統合していない場合は、「OAM TAPパートナの登録」「OAMでのOAAのTAPパートナとしての登録」に従い、適宜パラメータを設定する必要があります。
  9. 6月24日より前のリリースからアップグレードする場合で、Android用のプッシュ通知が構成されている場合は、$UPGRADE_WORKDIR/oaa-install/installOAA.propertiesファイルを編集し、common.deployment.push.gcmjsonfileパラメータを、先にダウンロードしたservice-account.jsonファイルを指すように更新する必要があります:
    common.deployment.push.gcmjsonfile=/u01/oracle/service/store/oaa/ChallengeOMAPUSH/gcm/service-account.json

    ノート:

    /u01/oracle/service/store/oaa/ChallengeOMAPUSH/gcm/service-account.jsonは、<NFS_VAULT_PATH>/ChallengeOMAPUSH/gcm/service-account.jsonへの内部マッピングです。
  10. 次の新しいセクションをinstallOAA.propertiesに追加します。これらのパラメータの詳細は、「LDAPストアでのユーザーとグループの作成」を参照してください:
    
    ##################################### LDAP configuration #########################################
    ldap.server=<LDAP_SERVER>
    ldap.username=<LDAP_ADMIN_USER>
    ldap.password=<LDAP_ADMIN_PWD>
    ldap.oaaAdminUser=cn=oaaadmin,<LDAP_USER_SEARCHBASE>
    ldap.adminRole=cn=OAA-Admin-Role,<LDAP_GROUP_SEARCHBASE>
    ldap.userRole=cn=OAA-App-User,cn=<LDAP_GROUP_SEARCHBASE>
    ldap.oaaAdminUserPwd=<password>
    ldap.addExistingUsers=no
  11. 次のコマンドを実行して、OAA管理Helmチャート(oaamgmt)が表示されていることを確認します:
    helm ls -n <namespace> | grep oaamgmt
    たとえば:
    helm ls -n oaans | grep oaamgmt
    出力は次のようになります。
    oaamgmt   oaans   1   <DATE> <TIME> +0000 UTC deployed   oaa-mgmt-1.0.0-12.2.1.4.1-<TAG>   0.1.0