アカウントとパスワードの作成および保守

Oracle Private Cloud Applianceシステムの初回電源投入時には、最初のスーパー管理者ユーザー・アカウントの作成など、システムを初期設定するために様々なタスクを実行する必要があります。

Oracle Private Cloud Applianceには3つのレイヤーがあります。 これらの3つのレイヤーはそれぞれ異なる方法で管理されます:

  • インフラストラクチャ - ラック・ハードウェア・コンポーネントの操作は、デフォルトの管理ユーザーによって実行されます。 Oracleサポート・サービス・アカウントは、デフォルトの管理ユーザーをサポートしてインフラストラクチャ操作を実行できます。 他のユーザーはこれらの操作を実行できません。 インストール後、デフォルトのパスワードを変更し、新しいパスワードを安全なロケーションに格納します。

  • 「サービス・エンクレーブ」 - インストール中に作成された管理ユーザーは、「サービス・エンクレーブ」で動作します。 アプライアンスの管理に役立つ追加のユーザーを「サービス・エンクレーブ」に追加できます。

  • 「コンピュート・エンクレーブ」 - 「コンピュート・エンクレーブ」ユーザーには、コンピュート・インスタンスの作成など、テナンシ内の日常的なタスクがあります。 「サービス・エンクレーブ」管理ユーザーは、「コンピュート・エンクレーブ」テナンシを作成し、各テナンシの管理ユーザーを作成します。 その後、テナンシ管理者は、テナンシに追加のユーザーおよびユーザー・グループを作成できます。

各レイヤーには、ユーザー・アカウントを保守するための様々な要件と手法があります。

インフラストラクチャ・レイヤーのパスワード・メンテナンス

このトピックで説明するPrivate Cloud Applianceインフラストラクチャ・コンポーネントは、「サービス・エンクレーブ」のユーザー、または「サービス・エンクレーブ」で実行されているソフトウェアのいずれかによって管理されます。

これらのコンポーネントには、出荷時に設定されるパスワードがあります。 ラックの取り付けと構成が成功した直後に、これらのパスワードを変更します。

変更するデフォルト・パスワードのリスト

管理ノード上のpca-admin healthcheckツールを使用して、変更する必要があるインフラストラクチャ内のファクトリ・セット・パスワードをリストします。

  1. インストール・チームから提供されたデフォルトの管理ユーザーおよびパスワードを使用して、管理ノードにログインします。

  2. pca-admin healthcheckコマンドを実行します。

更新が必要な可能性があるパスワードは次のとおりです:

  • コンピュート・ノードのパスワード

    ノート:

    このパスワードは、コンピュート・ノードのプロビジョニング後に変更する必要はありません。 プロビジョニングによって、コンピュート・ノードのパスワードがランダム化されます。
  • コンピュート・ノードのOracle Integrated Lights Out Manager (ILOM)パスワード

  • 管理ノードのパスワード

  • 管理ノードのILOMパスワード

  • リーフ・スイッチのパスワード

  • 管理スイッチ・パスワード

  • スパイン・スイッチ・パスワード

  • Oracle ZFS Storage Applianceパスワード

  • Oracle ZFS Storage Appliance ILOMパスワード

    ノート:

    Oracle ZFS Storage Appliance ILOMパスワードの変更は、Oracle ZFS Storage Applianceを介して管理されます。 Oracle ZFS Storage Applianceに発行されたパスワード変更は、アプライアンス・パスワードとILOMパスワードの両方を変更します。

パスワード・ポリシー

インフラストラクチャ・コンポーネントのパスワード複雑性ポリシーは、次のとおりです:

  • コンピュート・ノード、管理ノードまたはスイッチの長さは8文字から20文字です。 Oracle ZFS Storage ApplianceILOMの長さは、8文字から16文字です(違いに注意してください)。

  • パスワードには、次の各グループの少なくとも1文字が含まれている必要があります:

    • 小文字(a-z)

    • 大文字(A-Z)

    • 数値(0-9)

    • 次の記号: @$!*&

    次の記号は含めないでください: ?#%

インフラストラクチャのパスワード複雑性ポリシーは変更できません。

MySQLパスワードの変更

MySQLデータベース・パスワードを除くすべてのパスワードは、管理ノードに存在する「サービスCLI」を使用して更新する必要があります。 様々なネイティブ・インフラストラクチャ・ツールを使用すると、「サービス・エンクレーブ」障害が発生します。 たとえば、「サービスCLI」を使用して管理ノード・パスワードを更新すると、すべての管理ノード・パスワードが同期されます。 「サービスCLI」では、管理ノードのパスワードもサービス・アクセス可能なデータベースに格納されるため、「サービス・エンクレーブ」ツールおよびサービスでノードを管理できます。

次のいずれかのコマンドを使用して、MySQLパスワードを更新します:

  • ラックで3.0.2-b892153より前のソフトウェア・リリースを実行している場合は、各管理ノードで次のコマンドを使用して、MySQLデータベース・パスワードを更新します:

    /var/lib/pca-foundation/scripts/pca_change_mysql_root_password.py

    ノート:

    このコマンドは、「それぞれ」管理ノードで発行する必要があります。 1つの管理ノードでパスワードを更新しても、他のノードでは何も変更されません。
  • ラックでソフトウェア・リリース3.0.2-b892153以降を実行している場合は、サービスCLIupdateMySqlRootPasswordコマンドを使用して、MySQLデータベースのパスワードを更新します:

    PCA-ADMIN> updateMySqlRootPassword password="**************" confirmPassword="**************" 
    Command: updateMySqlRootPassword password="**************"  confirmPassword="**************" 
    Status: Success
    Time: 2023-10-23 10:57:13,504 UTC
    Data:
        status = true
        message = Mysql root password has been successfully rotated.

    パスワードは二重引用符で囲む必要があります。

その他のインフラストラクチャ・コンポーネントのパスワードの変更

パスワードは、次の2つのロケーションに格納されます:

  • 96ビット・ノンスを含むGalois Counter Mode (GCM)で256ビットAdvanced Encryption Standard (AES)暗号を使用して格納されるボールト・インスタンス。

  • インフラストラクチャ・コンポーネントのネイティブ・パスワード・ツール。

パスワード・アクセス情報については、インフラストラクチャ・コンポーネントのドキュメントを参照してください。

changepassword 「サービスCLI」コマンドを使用して、インフラストラクチャ・パスワードを更新します。

  1. 「サービス・エンクレーブ」 adminユーザーとして、いずれかの管理ノードにログインします。

  2. changepasswordコマンドを実行します。 パスワードは二重引用符で囲みます。

    changepassword component "password" "confirmPassword"

    例:

    PCA-ADMIN> changepassword zfs "newPassword" "confirmNewPassword"

    次のコマンドは、サポートされているコンポーネントを一覧表示します:

    PCA-ADMIN> changepassword ?
                              ComputeNode
                              LeafSwitch
                              ManagementNode
                              ManagementSwitch
                              SpineSwitch
                              User
                              ZFSAppliance
    PCA-ADMIN> changepassword computeNode ?
                                          *password
                                          *confirmPassword

パスワード更新は、パスワード更新の正常なレスポンスが返されたあとも、完了までに短時間かかることがあります。

アプライアンスの配電ユニット(PDU)は、ロケールによって異なります。 インフラストラクチャ・プロセスの潜在的な更新については、「Oracle Private Cloud Applianceリリース・ノート」を参照してください。

PDUパスワードはデフォルト値から変更する必要があります。 パスワードの変更については、特定のPDUタイプのハードウェアのドキュメントを参照してください。

「サービス・エンクレーブ」ユーザーとパスワードのメンテナンス

インストールおよび構成時に、SuperAdmin認可グループとパスワードを持つ初期ユーザーが「サービス・エンクレーブ」に設定されます。

「サービス・エンクレーブ」は、マルチユーザー環境です。 「サービス・エンクレーブ」内のアクションは、アプライアンス上のすべてのテナンシに影響する可能性があります。 一般的なセキュリティ・ガイドラインは次のとおりです:

  • 資格証明を共有しません。

  • 「サービス・エンクレーブ」管理ツールへのアクセスが必要なユーザーごとにユーザーを作成します。 この演習では、より適切な監査トラッキングと個々のニーズの管理を可能にします。

  • 各ユーザーに最も適した認可グループを選択して、最小権限のルールを適用します。

  • 新規ユーザーを作成する場合は、共通またはデフォルトの初期パスワードを使用しないでください。

  • パスワードを定期的に変更します。 「サービス・エンクレーブ」には、プロアクティブなパスワード変更またはタイムアウト通知はありません。

認可グループ

サービス・エンクレーブには4つの重要な認可グループがあります:

  • 初期 - 初期Private Cloud Applianceシステム操作の認可

  • OCIApp - Oracle Cloud Infrastructureアプリケーション操作の認可

  • OracleServiceAdmin - Oracleサービス操作の認可
  • SuperAdmin - すべての機能の認可。 SuperAdminのみが「サービス・エンクレーブ」の新規ユーザーを作成し、既存のユーザーのロールを変更できます。

「サービス・エンクレーブ」では、認可グループのリストは静的です。 承認を変更するために既存のグループを変更することはできず、別の承認で新しいグループを作成することはできません。

パスワード・ポリシー

「サービス・エンクレーブ」内のユーザーのパスワードの長さは12文字以上で、次の各グループの少なくとも1文字が含まれています:

  • 小文字(a-z)

  • 大文字(A-Z)

  • 数値(0-9)

  • 次の記号: @$!*&

「サービス・エンクレーブ」パスワード・ポリシーは変更できません。

パスワード・ストレージはサービス・データベース内にあり、パスワード・ベース・キー導出関数2 (PBKDF2)を32文字のソルトとともに使用して、パスワードをハッシュします。

ユーザー・パスワードの変更

SuperAdminグループ内のユーザーの「サービス・エンクレーブ」のユーザー・メンテナンスおよびパスワード・メンテナンスは、「サービス・エンクレーブ」管理コンソール(https://adminconsole.pca-name.domain)または「サービスCLI」を使用して行われます。 MONITORまたはADMINグループのユーザーは、「サービスCLI」を使用するか、SuperAdmin認可グループのユーザーにパスワードの変更をリクエストする必要があります。

「サービスCLI」から、次のコマンドを使用してユーザーのパスワードを変更します:

PCA-ADMIN> changePassword User id=id password="newPassword" confirmPassword="confirmNewPassword"

例:

PCA-ADMIN> changePassword User id=1b23dc83-af7f-4b88-a4db-nnnnn password="************" 
confirmPassword="************"
Command: changePassword User id=1b23dc83-af7f-4b88-a4db-nnnnn password="************" 
confirmPassword="************"
Status: Success

現在のユーザーのIDを取得するには、次のコマンドを使用します:

PCA-ADMIN> show UserPreference

ユーザーIDのリストを取得するには、list userコマンドを使用します。

SuperAdminグループのユーザーは、「サービスCLI」を使用して、任意の「サービス・エンクレーブ」ユーザーのパスワードを変更できます。

次に、Private Cloud Appliance 3.0.1ソフトウェア・バージョンのパスワード管理に関するノートを示します:

  • MONITORまたはADMINグループのユーザーは、「サービス・エンクレーブ」管理コンソールでパスワードを変更できません。

  • パスワード・リカバリまたはパスワード・リセット機能はありません。 そのため、SuperAdmin機能を備えた2番目のユーザーを作成することを強くお薦めします。

  • アカウントは、何回も無効なログイン試行でロックアウトまたは無効化されません。

「サービス・エンクレーブ」レイヤーでのアイデンティティ・プロバイダの使用の詳細は、「サービス・エンクレーブ・セキュリティ機能」を参照してください。

「コンピュート・エンクレーブ」ユーザーとパスワードのメンテナンス

Oracle Private Cloud Applianceのインストールおよび構成直後に、デフォルトの「コンピュート・エンクレーブ」ユーザーまたはテナンシはありません。

「サービス・エンクレーブ」管理者がテナンシを作成すると、初期ユーザーが作成され、パスワードが割り当てられます。

新しいテナンシ管理者は、アカウントにログインし、「コンピュート・エンクレーブ」コンソール(https://console.pca-name.domain)を使用してパスワードを変更する必要があります。

ログインしたら、ユーザー名が表示されるコンソールの右上にあるパスワードの変更ドロップダウンを使用します。 テナンシ管理者は、どのユーザー(自身を含む)でもリセットできない唯一のユーザー・アカウントです。 「サービス・エンクレーブ」 SuperAdminによって作成されたプライマリ・テナンシ管理者が使用できるオプションは、パスワードを安全に格納し、ログインの成功後にユーザー・インタフェースでパスワードの変更アクションを使用することです。

「サービス・エンクレーブ」内のユーザーのパスワードの長さは12文字以上で、次の各グループの少なくとも1文字が含まれています:

  • 小文字(a-z)

  • 大文字(A-Z)

  • 数値(0-9)

  • 次の記号: @$!%*#&

パスワード・ポリシーは変更できません。

パスワード・ストレージはサービス・データベース内にあり、パスワード・ベース・キー導出関数2 (PBKDF2)を32文字のsaltとともに使用してパスワードをハッシュします。

テナンシ管理者は、アカウントを使用してCLIも設定します。 「Oracle Private Cloud Applianceユーザーズ・ガイド」「コンピュート・エンクレーブでの操作」の章のOCI CLIの使用に関する項を参照してください。

すべてのテナンシには、デフォルトの管理者グループがあります。 このグループは、テナンシ内のすべてのリソースに対して任意のアクションを実行できます。 Oracleでは、テナンシ管理者のグループはできるだけ小さく保つことをお薦めしますが、少なくとも1人のバックアップ管理者が必要です。

テナンシ管理者を管理するためのセキュリティの推奨事項を次に示します:

  • テナンシ管理者グループのメンバーシップを付与するセキュリティ・ポリシーを必要に応じて厳密に保持します。

  • テナンシ管理者は、MFAとともに複雑度の高いパスワードを使用し、パスワードを定期的にローテーションします。

  • アカウントの設定および構成後、Oracleでは、日常の操作にテナンシ管理者アカウントを使用しないことをお薦めします。 かわりに、権限の低いユーザーおよびグループを作成します。

  • 管理者アカウントは日常業務には使用されませんが、顧客のテナンシおよび業務に影響を与える緊急シナリオに対処するために引き続き必要です。 このような緊急時に管理者アカウントを使用するためのセキュアで監査可能な「緊急時」の手順を指定します。

  • 従業員が組織を離れるときにはテナンシ管理アクセス権を即座に無効化します。

  • テナンシ管理者グループ・メンバーシップは制限されているため、Oracleでは、管理者アカウントのロックアウトを妨げるセキュリティ・ポリシーを作成することをお薦めします(たとえば、テナンシ管理者が退職し、現在の従業員に管理者権限がない場合)。

「コンピュート・エンクレーブ」ユーザーは、テナンシ管理者から新しい一時パスワードをリクエストできます。また、「コンピュートWeb UI」またはOCI CLIを使用して、独自のパスワードを設定または変更できます。 「Oracle Private Cloud Applianceユーザー・ガイド」Identity and Access Managementの章のユーザー・アカウントの作成と管理に関する項を参照してください。

テナンシ管理者は、他の「コンピュート・エンクレーブ」ユーザーの新しい一時パスワードを生成できます。 リセット後、管理者は新しい一時パスワードをユーザーに安全に通信します。 ユーザーは、コンソールにログインしてパスワードを変更するよう求められます。

「コンピュート・エンクレーブ」およびIAMセキュリティ機能を備えたアイデンティティ・プロバイダを使用した「コンピュート・エンクレーブ」レイヤーの管理の詳細は、「アイデンティティ・プロバイダのセキュリティ機能」を参照してください。

モニタリングおよびロギング・パスワードの保守

Private Cloud Applianceモニタリングおよびロギング・コンポーネントは、「サービス・エンクレーブ」GrafanaおよびPrometheusとしてアクセスされます。 「Oracle Private Cloud Appliance管理者ガイド」「ステータスおよびヘルス・モニタリング」の章のGrafanaの使用に関する項を参照してください。

「インフラストラクチャ・レイヤーのパスワード・メンテナンス」で説明されているインフラストラクチャ・コンポーネントと同様に、モニタリングおよびロギング・コンポーネントには、ファクトリで設定されたパスワードがあります。 アプライアンスのインストール後に、このパスワードをリセットします。

このトピックでは、モニタリングおよびロギング・コンポーネントのパスワードをリセットする方法について説明します。 Oracleでは、このパスワードを定期的に更新することをお薦めします。

パスワード更新パラメータ値

usernameの値はadminです。 これは、「サービス・エンクレーブ」 adminユーザーとは異なります。

パスワードには次の要件があります:

  • 12文字以上20文字以下にする必要があります。

  • 少なくとも1つの大文字(A-Z)、1つの小文字(a-z)および1つの数字(0-9)を含める必要があります。

パスワードには、次の記号を1つ以上含めることもできます: -_+=

モニタリング・パスワードおよびロギング・パスワードのリセット

次のいずれかのメソッドを使用して、モニタリングおよびロギングのパスワードを変更します:

  • sauron_credential_update Pythonスクリプト

    「インフラストラクチャ・レイヤーのパスワード・メンテナンス」で更新されたパスワードを使用して、rootユーザーとして管理ノードの1つにログインします。

    sauron_credential_update.pyスクリプトを実行します:

    python3 \
    /usr/lib/python3.6/site-packages/pca_foundation/secret_service/scripts/sauron_credential_update.py \
    --username admin --password password

    sauron_credential_update.pyツールは、パスワードを確認したり、リクエストの成功または失敗に関する情報を返したりしません。

  • updateSauronCredentials 「サービスCLI」コマンド

    「サービス・エンクレーブ」 adminユーザーとして、いずれかの管理ノードにログインします。

    updateSauronCredentialsコマンドを実行します:

    PCA-ADMIN> updateSauronCredentials username=admin password=password