Oracle Cloud MarketplaceへのOracle Advanced Authenticationのデプロイ

イントロダクション

このチュートリアルでは、評価目的でOracle Advanced Authentication (OAA)および依存製品をOracle Cloud Marketplaceにデプロイする方法を示します。

デプロイ後、管理者はOAA for Oracle Access Management (OAM)で保護されたアプリケーションを使用してマルチファクタ認証(MFA)の評価を実行できます。

注意: 管理者は次のことに注意する必要があります:

Oracle Cloud Marketplace上のOAAは、Oracle Kubernetes Engine (OKE)を使用してKubernetes (K8S)クラスタにデプロイされます。Oracle Cloud Marketplaceでのデプロイメントでは、次のOracle製品およびコンポーネントがデプロイされます。

デプロイされたアーキテクチャは次のとおりです。

使用可能なファクタ

OAAマーケットプレイスのデプロイメントでは、これ以上の管理者構成なしで次の要因を使用できます。

評価に必要な場合は、デプロイメント後に追加の管理者構成が必要です。

ノート: いずれの場合も、エンド・ユーザーは、評価するファクタを追加するためにセルフサービス・ポータルにアクセスする必要があります。管理者およびエンド・ユーザーのタスクの詳細は、次のチュートリアルの項を参照してください。

ユーザー作成済

デプロイメントによって、Oracle Unified Directoryに次のユーザーが作成されます。

NFSボリュームが作成されました

Oracle Cloud MarketplaceデプロイメントによってOAA用に作成されるNFSボリュームを次に示します。

これらのボリュームには、要塞ノードからアクセスできます。

NFSボリュームとその内容の詳細は、NFSボリュームの構成に関する項を参照してください。

一般的なエンド・ユーザー・フロー

Oracle Cloud MarketplaceでOAAを使用して評価できる一般的なフローを次に示します。

  1. エンド・ユーザー(oaauser1など)は、セルフサービス・ポータルでMFAのファクタを構成します。
  2. エンド・ユーザーは、OAMおよびOAA MFAポリシーを介して保護されているページ(bank-emp.html)にアクセスします。
  3. エンド・ユーザーは、資格証明(oaauser1/<password>)を使用してログインするためにOAMにリダイレクトされます。
  4. OAMは、OAAポリシーに基づいてMFAをトリガーします。ユーザーは、構成済ファクタのいずれかを使用して、MFAまたはパスワードなし認証を完了するよう求められます。
  5. 認証に成功すると、保護されたページが表示されます。

OCIの前提条件

Oracle Cloud MarketplaceにOAAをデプロイする前に、OCIパブリック・テナンシに対する管理者アクセス権が必要です。

次に、OAAをデプロイするために可用性ドメインで必要な割当て制限を示します。

ノート: オプション- OAAデプロイメント用の新しいコンパートメントを作成することをお薦めします。「コンパートメントの作成」を参照してください。

割当てを確認するには:

  1. OAAでは、ノード・プールに4つ以上のコンピュート・ノード、および各アベイラビリティ・ドメインの要塞に1つのコンピュート・ノードが必要です。使用可能なコンピュート・ノードが十分にあることを確認するには:

    1. OCI Consoleにアクセスし、ナビゲーション・メニューにアクセスします。
    2. 「ガバナンスと管理」「制限、割当ておよび使用状況」にナビゲートします。
    3. 「非推奨の制限の表示」チェック・ボックスを選択します。
    4. 「サービス」ドロップダウン・メニューから「コンピュート」を選択します。
    5. 「SCOPE」メニューから、適切な可用性ドメインを選択します。
    6. 「コンパートメント」メニューから、ルート・コンパートメントを選択します。
    7. 「リソース」メニューで、チェックするノード・シェイプを選択します。ノード・プールに64GBのRAMを持つ8つのCPU、要塞に2つのCPUおよび16GBのRAMを許可するシェイプを選択する必要があります。
    8. 「使用可能」列をチェックし、デプロイするノード・シェイプに使用可能な十分な計算があることを確認します。

使用可能なコンピュート・シェイプの詳細は、コンピュート・シェイプを参照してください。

  1. OAAでは、テナンシで2つのVirtual Cloud Network (VCN)リソースを使用可能にする必要があります。十分なVCNがあることを確認するには:

    1. 「サービス」ドロップダウン・メニューから、「Virtual Cloud Network」を選択します。
    2. 「SCOPE」メニューからテナンシを選択します。
    3. 「リソース」メニューで、「Virtual Cloud Networks Count」を選択します。
    4. 「使用可能」列を確認し、少なくとも2つのVCNが使用可能であることを確認します。
  2. OAAを使用するには、1つの100Mbpsロード・バランサ・リソースが必要です:

    1. 「サービス」ドロップダウン・メニューから「LbaaS」を選択します。
    2. 「SCOPE」メニューからテナンシを選択します。
    3. 「リソース」メニューで、100Mbps「ロード・バランサ数」を選択します。
    4. 「使用可能」列を確認し、少なくとも1つのロード・バランサが使用可能であることを確認します。
  3. OAAを使用するには、1つのOKEクラスタが使用可能である必要があります。

    1. 「サービス」ドロップダウン・メニューから「コンテナ・エンジン」を選択します。
    2. 「SCOPE」メニューからテナンシを選択します。
    3. 「リソース」メニューで、「基本的なクラスタ数」を選択します。
    4. 「使用可能」列をチェックし、少なくとも1つが使用可能であることを確認します。
  4. OAAを使用するには、1つのファイル・システム・リソースと1つのマウント・ターゲット・リソースが必要です。

    1. 「サービス」ドロップダウン・メニューから「ファイル・ストレージ」を選択します。
    2. 「SCOPE」メニューから、アベイラビリティ・ドメインを選択します。
    3. 「使用可能」列をチェックし、「ファイル・システム数」に少なくとも1つのリソースが使用可能で、「マウント・ターゲット数」に2つのリソースが使用可能であることを確認します。

リソースの詳細は、コンパートメントの割当て制限を参照してください。

Oracle Cloud MarketplaceでのOAAのプロビジョニング

  1. Oracle Cloud Marketplaceにアクセスします。

  2. リストOracle Advanced Authenticationを検索して選択します。

  3. Oracle Advanced Authenticationリストで、「バージョン」の詳細にバージョン12.2.1.4.1-<DATE>が表示されていることを確認します。

  4. 「アプリケーションの取得」を選択して、テナンシへのインストールを起動します。

  5. テナンシにサインインします。

  6. 画面の右上にあるOCIリージョンを選択します。

  7. OAAインスタンスがデプロイされるコンパートメントを選択します。

    ノート: デフォルトの(ルート)コンパートメントを選択しないでください。

    条件に関するチェック・ボックスを選択してください。

  8. 「スタックの起動」をクリックします。

  9. 「スタック情報」画面で、必要に応じて「名前」を編集し、必要に応じて「説明」を追加します。「次」をクリックします。

  10. 「変数の構成」画面で、次のように変数を入力し、「次へ」をクリックします。

    テナンシ詳細:

    名前 Value
    Region リージョンは、OCIコンソールのURLに記載されているものと同じである必要があります。
    Availability Domain OAAがデプロイされる可用性ドメイン。

    Oracle Kubernetesエンジン(OKE):

    「OKE拡張オプションの表示」をクリックします。

    名前 Value
    OKE Nodepool Instance Shape ノード・プール計算のシェイプ(VM.Standard.E4.Flexなど)を選択します。
    OCPU Count 8
    Memory 64GB
    Size of the Node Pool 4以上。OCIの前提条件の項に従って、ノード・プール・シェイプに選択した可用性ドメイン内のコンピュート・リソースの可用性を確認してください。たとえば、4つのノードを指定する場合は、選択したVMシェイプの4つのコンピュート・リソースが使用可能であることを確認します。

    要塞- 計算ノード:

    名前 Value
    Bastion Instance Shape 要塞のシェイプを選択します(例: VM.Standard.E4.Flex)。OCIの前提条件の項に従って、要塞ノードに選択した可用性ドメイン内のコンピュート・リソースの可用性を確認してください。選択したVMシェイプの1つのコンピュート・リソースが必要です。
    OCPU Count 2
    Memory 16GB
    Common Password すべてのコンポーネントに使用する共通パスワード。パスワードは正規表現(^[a-zA-Z0-9.\-/+=@_]*$|)と一致する必要があります

    残りの変数は、デフォルト値のままにしておくことができます。

  11. 「確認」画面で、構成変数を確認し、「作成」を選択します。

    これにより、OCIコンソールに表示されるジョブがトリガーされます。ジョブは「進行中」として表示され、画面下部の「ログ」セクションにデプロイメントの進行状況の詳細が表示されます。

    このジョブは完了するまでに約90分かかります。ジョブが成功すると、ジョブ・ステータスに「成功」と表示されます。

ローカル・ホスト・ファイルへのパブリックIPの追加

この項では、ロード・バランサのパブリックIPアドレスを確認します。IPアドレスおよびホスト名(login.example.com)は、OAAを評価する必要があるコンピュータのローカルhostsファイルに追加されます。

  1. OCIコンソールにアクセスし、ナビゲーション・メニューから「リソース・マネージャ」「スタック」を選択します。

  2. ドロップダウン・リストで、関連するコンパートメントを選択します。コンパートメント内のスタックのリストが表示されます。作成したばかりのスタック(OAAなど)を選択します。

  3. 実行したジョブをクリックします。「リソース」セクションで、ジョブの「ログ」リンクをクリックします。

  4. 「ログ」出力で、ブラウザ検索を使用して文字列load_balancer_public_ipを検索します。ロード・バランタのパブリックIPアドレスに注目してください。

  5. ローカルhostsファイルにエントリを追加して、ロード・バランサIPを定義済ホスト名にマップします。これは、OAAを評価する必要があるすべてのコンピュータで実行する必要があります。

    ノート: 次に示すホスト名を使用する必要があります。

    <LB_PUBLIC_IP> login.example.com
    

信頼できる認証局のダウンロード

この項では、ロード・バランサ証明書に署名した認証局(CA)証明書をダウンロードします。次に、OAAにアクセスしてテストする必要がある任意のブラウザにCA証明書をインポートします。

ノート: これは、OAA FIDO2認証をテストする必要があり、OAAまたはOAM URLにアクセスするときにブラウザで証明書エラーを防止するために必要です。

  1. 次のコマンドを実行して、証明書を取得します:

    openssl s_client -connect login.example.com:443 -showcerts </dev/null 2>/dev/null| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > certs.pem
    

    ノート: Windows環境で実行している場合は、Git Bashを使用して前述のコマンドを実行します。

  2. certs.pemを編集します。certs.pemには、2つの証明書が含まれます。ファイル内の最上位の証明書は、ロード・バランサ証明書です。ファイルの最下位の証明書はCA証明書です。CA証明書(-----BEGIN CERTIFICATE-----から-----END CERTIFICATE-----)をコピーします。

  3. 新しいファイルoaamktplaceca.pemを作成し、コピーした証明書をこのファイルに貼り付けて保存します。

  4. oaamktplaceca.pemを、ブラウザがOAAおよびOAM URLにアクセスする任意のマシンにコピーします。

  5. 証明書をブラウザの信頼できる認証局ストアにインポートします。必要に応じて、ブラウザのドキュメントを参照してください。

SSHを介した要塞ホストへの接続

SSH経由で要塞ホストに接続するには:

  1. OCIコンソールにアクセスし、ナビゲーション・メニューから「リソース・マネージャ」「スタック」を選択します。

  2. ドロップダウン・リストで、関連するコンパートメントを選択します。コンパートメント内のスタックのリストが表示されます。作成したばかりのスタック(OAAなど)を選択します。

  3. 実行したジョブをクリックします。「リソース」セクションで、ジョブの「状態の表示」リンクをクリックします。

  4. 「状態の表示」ウィンドウで、ブラウザ検索を使用して文字列ssh_to_bastionを検索します。value行の最後に、IPアドレスを書き留めます(例: opc@<bastion_ip>)。

  5. 同じvalue行から、表示される秘密キー・データを(-----BEGIN RSA PRIVATE KEY----から-----END RSA PRIVATE KEY-----\nに)コピーします。oaamktplace.keyなどのファイルを作成し、コピーした値をファイルに貼り付けて保存します。

    -----BEGIN RSA PRIVATE KEY-----\nXXXXXXXXXXXXYYYYYYYYYYYYYYPPPPPPPPPPP++YYYYY
    YYYYTTTTTTTTTTT\IIIIIIIIIhhhhjjuuuuuu/VVVuuuuuuuuuuu908888/zdS1UCdLr/Q2q9yd12
    etc.....................................................................
    +Qjl5\nxOByCUtZ8TbRbQMgEA/6G6wzVQ+mjCPy0n0ykxhWaHVj22ytfxKtApNLjwhtlZm
    \npD58jI0CgYEAv3GvEcfVPg92KmN8OH+hSrkLzz22bemNqioRvKi2mXBwfk0xu0kK\nvTdjVqwbD
    lCeAhISJxXdsT3J83pyeaGm6TrxBwUptJ8SzlZgFptpJffE1acAq8m\nXd7RoF2rBqZ5HHYYYYYkl
    kkk90zedjxPoJW6XxC3ljingatsgJzAixIMSc8=\n-----END RSA PRIVATE KEY-----\n
    
  6. 次のコマンドを発行して「\n」文字を削除し、ファイルのアクセス権を変更します。

    sed -i 's/\\n/\n/g' oaamktplace.key
    
    chmod 400 oaamktplace.key
    

    注意: 管理者は次のことに注意する必要があります:

    • Windows環境で実行している場合は、Git Bashなどのツールを使用してコマンドを実行するか、テキスト・エディタでキー・ファイルを編集してすべての\n文字を削除できます。
    • Windowsでは、chmod 400コマンドを実行せず、かわりにファイルのプロパティを読取り専用に変更します。

    oaamktplace.keyファイルを開き、\n文字が削除されたことを確認します。

  7. 秘密キー・ファイルを使用して要塞ホストに接続します:

    ssh -i oaamktplace.key opc@<bastion_ip>
    

    正常にログインできます。

OAAデプロイメントの検証

この項では、OAA環境のすべてのコンポーネントが正しく実行されていること、および管理コンソールとセルフサービス・ポータルにアクセスできることを確認します。

  1. 要塞ホスト上のsshセッションから、次のコマンドを実行してOAAポッドのステータスを確認します:

    kubectl get pods -n oaans
    

    出力は次のようになりますすべてのポッドは、READY 1\1およびRUNNINGである必要があります:

    NAME                                READY   STATUS    RESTARTS   AGE
    edg-email-74766c4548-v58qd          1/1     Running   0          1h
    edg-fido-6d45456459-pbjw6           1/1     Running   0          1h
    edg-oaa-9c9bb4bf-r2fx9              1/1     Running   0          1h
    edg-oaa-admin-ui-79866b8fdc-8lh4z   1/1     Running   0          1h
    edg-oaa-drss-6b47b788b6-8xtlk       1/1     Running   0          1h
    edg-oaa-kba-686c76679c-29nfl        1/1     Running   0          1h
    edg-oaa-policy-6448db6fd8-bzjjb     1/1     Running   0          1h
    edg-push-77dc7db499-rcgp4           1/1     Running   0          1h
    edg-risk-59b856c99c-9qvhn           1/1     Running   0          1h
    edg-risk-cc-6fb6d7b94c-7z8vq        1/1     Running   0          1h
    edg-sms-688679d548-jlxpc            1/1     Running   0          1h
    edg-spui-86dd46d59f-rtgpn           1/1     Running   0          1h
    edg-totp-7f9db7894-mjx82            1/1     Running   0          1h
    edg-yotp-7c88b7fff5-wjjm4           1/1     Running   0          1h
    oaamgmt                             1/1     Running   0          1h
    
  2. コンピュータでWebブラウザを開き、次のコンソールにアクセスします。デプロイメント時に入力した<COMMON_PASSWORD>を使用して、関連するユーザー名でログインします。次のコンソールにアクセスする前に、必ずコンソールからログアウトしてください。

    コンソール URL ユーザー名
    OAM管理コンソール https://login.example.com/oamconsole weblogic_iam
    OAA管理コンソール https://login.example.com/oaa-admin/index.html oaaadmin
    OAAセルフサービス・ポータル https://login.example.com/oaa/rui oaauser1 - oaauser5

    ノート: CA証明書をブラウザに正しくインポートした場合は、証明書エラーはありません。

OAAスタックの破棄または削除

失敗したデプロイメントからクリーン・アップするためにOAAスタックを破棄する必要がある場合、またはスタックを完全に削除する必要がある場合は、次のステップを実行します。

ノート: 要塞ホストの作成前にデプロイメントが失敗した場合、またはinvoke_oaaが実行されなかった場合は、次のステップ1および2を実行できない可能性があります。どちらの場合も、手順3に進みます。

  1. 「SSHを介した要塞ホストへの接続」の項に従って、SSH経由で要塞ホストに接続します。

  2. 要塞ホストで次のコマンドを実行します:

    /home/opc/oaascripts/utils/delete_all.sh
    
  3. OCIコンソールで、「開発者サービス」「リソース・マネージャ」「スタック」に移動します。

  4. OAAスタックを見つけてクリックします。

  5. 「スタックの詳細」ページで、「破棄」をクリックします。これにより、スタックを破棄する破棄ジョブが開始されます。

  6. 破棄ジョブが成功したら、スタックを完全に削除する必要がある場合は、ブレッドクラムで「スタックの詳細」をクリックし、「他のアクション」「スタックの削除」を選択します。

  7. 「開発者サービス」「Kubernetesクラスタ(OKE)」に移動して、クラスタが削除されていることを確認します。そうでない場合は、クラスタを手動で削除します。

  8. クラスタが終了すると、インスタンスも自動的に終了する必要があります。「コンピュート」「インスタンス」にナビゲートし、インスタンスが削除されていることを確認します。削除しない場合は、手動で終了します。

  9. 「ネットワーキング」「ロード・バランサ」に移動して、ロード・バランサおよびファイル・ストレージを確認します。リソースがまだ存在する場合は、手動で終了します。

  10. 「ネットワーキング」「Virtual Cloud Networks」に移動して、VCNが破棄されていることを確認します。破棄されていない場合は、VCNsを手動で終了します。VCNの終了に問題がある場合は、サブネットまたはVCNの削除のトラブルシューティングの項に従ってください。

  11. 「アイデンティティとセキュリティ」「アイデンティティ」「ポリシー」にナビゲートして、アイデンティティ・ポリシーが削除されたかどうかを確認します。破棄されていない場合は、手動で削除します。

  12. 「アイデンティティおよびセキュリティ」「アイデンティティ」「ドメイン」に移動します。ルート・コンパートメントを選択し、ドメインを選択します。「動的グループ」をクリックして、動的グループが削除されたことを確認します。破棄されていない場合は、手動で削除します。

  13. 前述のステップが完了したら、数分待ってすべてのリソースがクリーン・アップされていることを確認します。次に、「ガバナンスと管理」「制限、割当ておよび使用状況」にナビゲートして、これらのリソースが解放されたことを確認する制限を確認します。

次のチュートリアル

MFAフローをテストするには、「Oracle Advanced Authenticationの構成とOracle Cloud Marketplaceでのエンド・ユーザー・フローの検証」を参照してください。

フィードバック

このチュートリアルに関するフィードバックを提供するには、idm_user_assistance_ww_grp@oracle.comに連絡してください。

テクニカル・サポートについては、Oracle Supportにお問い合せください。

謝辞