4.3 ストレージ・サーバーでのSSHの無効化

必要に応じて、SSHアクセスをブロックするためにストレージ・サーバーをロックできます。デフォルトでは、ストレージ・サーバーでSSHが有効化されています。

SSHアクセスがブロックされる場合、データベース・サーバー上で実行されている、HTTPSおよびREST APIの使用によりストレージ・サーバー上で実行されているWebサービスと通信するExaCLIを使用して、ストレージ・サーバーでの操作は実行できます。

ストレージ・サーバーへのログインを必要とする操作を実行する必要がある場合は、ストレージ・サーバーを一時的にロック解除できます。操作が完了したら、ストレージ・サーバーを再度ロックできます。

次の2つのCELL属性でストレージ・サーバーのロックを制御します。

  • accessLevelPerm: この属性は、セルがデフォルトで実行されるアクセス・レベルを指定します。それは、remoteLoginEnabledまたはremoteLoginDisabledのいずれかです。

    • remoteLoginEnabled: SSHサービスは有効です。SSHまたはExaCLIを使用してセルにアクセスできます。これが、accessLevelPermのデフォルト値です。

    • remoteLoginDisabled: SSHサービスは無効です。ExaCLIを介してのみ、セルにアクセスできます。

  • accessLevelTemp: 指定された期間、一時的にアクセス・レベルを変更できます。期限が切れると、アクセス・レベルはaccessLevelPermの値に戻ります。通常、セルでソフトウェアの更新を必要とするときに、セルのアクセス・レベルを変更します。

アクセス・レベルは、ストレージ・サーバーの再起動後も維持されます。

4.3.1 セルのロック

セルをロックするには、そのaccessLevelPerm属性をremoteLoginDisabledに設定します。

accessLevelPerm属性を変更する権限を持つユーザーを使用する必要があります。

  1. 必要な権限をユーザーに付与します。

    ストレージ・サーバーで、次のコマンドを実行します。

    cellcli> create role administrator
    cellcli> grant privilege all actions on all objects all attributes with all options to role administrator
    cellcli> create user celladministrator password=*
    cellcli> grant role administrator to user celladministrator
    
  2. celladministratorユーザーとしてExaCLIを実行し、ALTER CELLコマンドを実行します。
    $ exacli -l celladministrator -c exam08cel01
    Password=********
    
    exacli> alter cell accessLevelPerm = remoteLoginDisabled
    

4.3.2 セルの一時的なロック解除

ストレージ・サーバーへのSSHログインを必要とするメンテナンス、アップグレードなどの操作を実行するために、ロックされたストレージ・サーバーまたはセルを短時間ロック解除できます。

一時的なアクセス・ウィンドウの開始時間と継続時間を指定するには、ALTER CELLコマンドを使用してセルのaccessLevelTemp属性を変更します。

次の点に注意してください:

  • いつの時点でも、一時的なアクセス・ウィンドウは、1つのみ許可されます。すでに1つが有効であるときに、新しい一時的なアクセス・ウィンドウを作成しようとすると、エラー・メッセージが表示されます。一時的なアクセス・ウィンドウがまだアクティブではなく、予定されている場合は、予定されているものが新しく作成された一時的なアクセス・ウィンドウで置き換えられます。
  • 予定されていて、まだアクティブではない一時的なアクセス・ウィンドウを変更するには、単に新しい値で再びALTER CELLコマンドを実行します。
  • すでに進行中の一時的なアクセス・ウィンドウを変更(たとえば、継続時間の延長や理由の変更)するには、更新した継続時間または理由で、再びALTER CELLコマンドを実行します。このコマンドでは、変更する既存の一時的なアクセス・ウィンドウの正確な開始時間を指定する必要があります。(開始時間 + 継続時間)は、将来の時刻にする必要があります。

accessLevelTemp属性には、次のプロパティがあります。

  • accessLevel: (必須) SSHが有効(remoteLoginEnabled)であるか、無効(remoteLoginDisabled)であるかを指定します。この属性には値を指定する必要があります。デフォルト値はありません。

  • startTime: 指定されたアクセス・レベルの開始時間を指定します。この時間は、ISO 8601形式の"yyyy-MM-ddTHH:mm:ssZ"で指定します。また、指定のアクセス・レベルをすぐに開始することを示すため、キーワードnowを指定することもできます。この属性のデフォルト値はnowです。

  • duration: アクセス・レベルの継続時間を指定します。デフォルト値は2h (2時間)です。継続時間は、次の形式で指定します。

    • [任意の桁数の数字、それに続くd (日数)]1日を指定するには、1dを使用します。
    • [任意の桁数の数字、それに続くh (時間数)]1時間を指定するには、1hを使用します。
    • [任意の桁数の数字、それに続くm (分数)]90分を指定するには、90mを使用します。

    期間値の組合せを使用できます。たとえば、1日と12時間を指定するには、1d12hを使用します。

  • reason: アクセス・レベルを変更する理由を指定します(たとえば、アップグレードを実行する)。デフォルト値は指定なしです。

例4-1 一時的なアクセス・ウィンドウの作成

次の例では、即時に開始される、2時間の一時的なアクセス・ウィンドウを作成します。このコマンドは、開始時間および継続時間のデフォルト値を使用します。

exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
        reason="Quarterly maintenance"))

例4-2 将来の一時的なアクセス・ウィンドウの作成

次の例では、2023年6月20日午前1:01に開始される、30分の一時的なアクセス・ウィンドウを作成します。

exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
        startTime="2023-06-20T01:01:00-07:00",                         -
        duration="30m",                                                -
        reason="Quarterly maintenance"))

例4-3 一時的なアクセス・ウィンドウの拡張

次の例では、前述の例で作成した一時的なアクセス・ウィンドウを5時間に拡張します。調整するウィンドウと開始時間が一致しなければならないことに注意してください。

exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
        startTime="2023-06-20T01:01:00-07:00",                         -
        duration="5h",                                                 -
        reason="Quarterly maintenance window extended to 5 hrs - Joe"))

例4-4 一時的なアクセス・ウィンドウの削除

次の例では、一時的なアクセス・ウィンドウを削除します。一時的なアクセス・ウィンドウが現在アクティブである場合は、ただちにそれが閉じられ、アクセス・レベルが永続的なアクセス・レベルに戻されます。一時的なアクセス・ウィンドウが予定されていて、まだアクティブでない場合は、キャンセルされます。

exacli> ALTER CELL accessLevelTemp=''

4.3.3 セルの永続的なロック解除

セルをロック解除するには、そのaccessLevelPerm属性をremoteLoginEnabledに設定します。

accessLevelPerm属性を変更する権限を持つユーザーを使用する必要があります。

  1. accessLevelPerm属性を変更する権限を持つユーザーとしてExaCLIを起動します。

    次に例を示します:

    $ exacli -l celladministrator -c exam08cel01
    Password=********
    
    exacli>
  2. ALTER CELLコマンドを実行して、accessLevelPerm属性をremoteLoginEnabledに設定します。

    次に例を示します:

    exacli> alter cell accessLevelPerm=remoteLoginEnabled
    Cell exam08cel01 successfully altered

4.3.4 セルの現在のアクセス・レベルのチェック

現在のアクセス・レベルを判別するには、セルのaccessLevelPerm属性およびaccessLevelTemp属性を表示します。

  • 現在のアクセス・レベルが何かを確認するには、LIST CELLコマンドを使用します。
    exacli> LIST CELL ATTRIBUTES name,accessLevelPerm,accessLevelTemp

4.3.5 管理サーバーからのアクセス・レベルのアラート

accessLevelPerm属性が変更されたときに、ステートレス・アラートが生成されます。

accessLevelTempウィンドウが作成されたときに、ステートフル・アラートが生成されます。accessLevelTempウィンドウがアクティブになったときに、アラート電子メールが送信されます。ウィンドウの有効期限が切れたときに、アラートがクリアされます。