2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていない

2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていない

fsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせる形になりそう
2026.04.29

FSxNファイルシステムやSVMにSSH接続する際にMFAを行いたい

こんにちは、のんピ(@non____97)です。

皆さんはAmazon FSx for NetApp ONTAP(以降FSxN)を運用していて、FSxNファイルシステムやSVMにSSH接続する際にMFAを行いたいなと思ったことはありますか? 私はあります。

NetApp ONTAPでは以下のようにクラスターやSVMのローカルアカウントを用いてSSHを行う際にMFAをサポートしています。サポートしているMFAはONTAPのバージョンによって異なります。現在サポートされている組み合わせは以下のとおりです。

追加されたリリース 第1の認証方式 第2の認証方式
ONTAP 9.14.1 SSH公開鍵 TOTP
ユーザ パスワード TOTP
SSH公開鍵 Cisco Duo
ユーザ パスワード Cisco Duo
ONTAP 9.13.1 SSH公開鍵 TOTP
ユーザ パスワード TOTP
ONTAP 9.3 SSH公開鍵 ユーザ パスワード

抜粋 : ONTAP多要素認証について学ぶ

MFAで2つ目の認証要素として多いのはTOTPではないでしょうか?

しかし、AWS公式ドキュメントを探してもFSxNでのTOTPサポートについての言及がありませんでした。

実際に試してみます。

いきなりまとめ

  • 2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていない
  • 代替案はfsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせ

やってみた

fsxadminユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ

実際に設定してみます。

試しにFSxNファイルシステムで運用者が使用できる最も強い権限であるfsxadminに対して、MFAを設定します。

バージョンはONTAP 9.17.1であり、TOTPをサポートしています。

::> version
NetApp Release 9.17.1P6: Wed Mar 25 15:38:10 UTC 2026

現在のfsxadminの認証方式は以下のとおりです。

::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin

Vserver: FsxId055301943970047df
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin       http        password      fsxadmin         no     none
fsxadmin       ontapi      password      fsxadmin         no     none
fsxadmin       ssh         password      fsxadmin         no     none
fsxadmin       ssh         publickey     fsxadmin         -      none
4 entries were displayed.

以下NetApp公式ドキュメントに従い、プライマリ認証がパスワード認証となっているもののセカンダリ認証としてTOTPを設定します。

https://docs.netapp.com/ja-jp/ontap/authentication/setup-ssh-multifactor-authentication-task.html

::> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method totp

Error: command failed: For a given user and application, if the "-second-authentication-method" parameter is specified,
       only one such login method is supported.

はい、エラーになりました。SSHやREST APIなどアプリケーションとサポートされてるログイン方法の組み合わせについて、セカンダリ認証を設定できるのは1つまでということです。

今回はSSHにおいてプライマリ認証がパスワード認証と公開鍵認証との2種類が登録されているため、弾かれているといった具合です。

公開鍵認証は行わないので削除をして再トライします。

::> security login delete -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method publickey

::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin

Vserver: FsxId055301943970047df
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin       http        password      fsxadmin         no     none
fsxadmin       ontapi      password      fsxadmin         no     none
fsxadmin       ssh         password      fsxadmin         no     none
3 entries were displayed.

::> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method totp
Warning: TOTP is initially disabled for user "fsxadmin". To enable TOTP, user "fsxadmin" must login and configure TOTP using the "security login totp create".

::> security login show -vserver FsxId055301943970047df -user-or-group-name fsxadmin

Vserver: FsxId055301943970047df
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
fsxadmin       http        password      fsxadmin         no     none
fsxadmin       ontapi      password      fsxadmin         no     none
fsxadmin       ssh         password      fsxadmin         no     totp
3 entries were displayed.

無事にセカンダリ認証としてTOTPを登録できましたね。

今は認証方式を指定しただけで、実際にTOTPを使うようになっていません。security login modify実行時のメッセージと以下NetApp公式ドキュメントに従いTOTP設定を行います。

https://docs.netapp.com/ja-jp/ontap/authentication/configure-local-account-mfa-totp-task.html

::> security login ?
  banner>                     Manage the login banner
  create                      Add a login method
  delete                      Delete a login method
  domain-tunnel>              The domain-tunnel directory
  duo>                        Manage Duo Configurations
  expire-password             Expire user's password
  external-role-mapping>      Manage the role mapping configurations for the external roles
  group>                      Manage group configurations
  lock                        Lock a user account with password authentication method
  modify                      Modify a login method
  motd>                       Manage the message of the day (MOTD)
  password                    Modify a password for a user
  publickey>                  Manage public keys
  rest-role>                  Manage REST access control roles
  role>                       Manage access control roles
  show                        Show user login methods
  totp>                       Manage totp
  unlock                      Unlock a user account with password authentication method
  whoami                      Show the current user, trust score of the user and role of this session

::> security login totp show
This table is currently empty.

::> security login totp create -username fsxadmin

Error: command failed: not authorized for that command

::> security login totp create?
  create                      Add a TOTP secret

::> security login totp create ?
  [ -vserver <vserver name> ]  Vserver (default: FsxId055301943970047df)
  [[-username] <text>]         Username (default: fsxadmin)
  [[-comment] <text>]          Comment

はい、エラーになってしまいました。security login totp createコマンド自体は認識できていますが、入力を受け付けてくれません。

diagに権限レベルを上げても結果は変わりませんでした。

::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

::*> security login totp create -username fsxadmin

Error: command failed: not authorized for that command

fsxadminロールの新規ユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ

もしかすると、fsxadminというデフォルトユーザーなのがよろしくないのでしょうか。

対応として、新規ユーザーを作成して同様にプライマリ認証がパスワード認証 / セカンダリ認証がTOTPとなるように設定していきます。

::*> security login create -vserver FsxId055301943970047df -user-or-group-name fsxadmin-non-97 -application ssh -authentication-method password -second-authentication-method totp -role fsxadmin -comment "for non-97 fsxadmin"

Please enter a password for user 'fsxadmin-non-97':
Please enter it again:
Warning: TOTP is initially disabled for user "fsxadmin-non-97". To enable TOTP, user "fsxadmin-non-97" must login and configure TOTP using the "security login totp create".

::*> security login show -vserver FsxId055301943970047df

Vserver: FsxId055301943970047df
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
autosupport    console     password      autosupport      no     none
fsxadmin       http        password      fsxadmin         no     none
fsxadmin       ontapi      password      fsxadmin         no     none
fsxadmin       ssh         password      fsxadmin         no     totp
fsxadmin-non-97
               ssh         password      fsxadmin         no     totp
5 entries were displayed.

::*> security login totp create -username fsxadmin-non-97

Error: command failed: not authorized for that command

はい、結果は変わりませんでした。security login totp createを受け付けてくれません。

試しにこちらのユーザーでSSHをした上で、TOTPの設定を行います。

> ssh fsxadmin-non-97@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com
(fsxadmin-non-97@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com) Password:

This is your first recorded login.
::> set diag

Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y

::*> security login totp create -username fsxadmin-non-97

Error: command failed: not authorized for that command

結果は変わりません。

vsadminロールの新規ユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証がTOTPの組み合わせ

となると、fsxadminロールがよろしくないのでしょうか。

vsadminロールを割り当てた新規ユーザーを作成して同様にプライマリ認証がパスワード認証 / セカンダリ認証がTOTPとなるように設定していきます。

::*> security login create -vserver svm -user-or-group-name vsadmin-non-97 -application ssh -authentication-method password -second-authentication-method totp -role vsadmin -comment "for non-97 vsadmin"

Please enter a password for user 'vsadmin-non-97':
Please enter it again:
Warning: TOTP is initially disabled for user "vsadmin-non-97". To enable TOTP, user "vsadmin-non-97" must login and configure TOTP using the "security login totp create".

::*> security login show -vserver svm

Vserver: svm
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
vsadmin        http        password      vsadmin          yes    none
vsadmin        ontapi      password      vsadmin          yes    none
vsadmin        ssh         password      vsadmin          yes    none
vsadmin-non-97 ssh         password      vsadmin          no     totp
4 entries were displayed.

::*> security login totp create -username vsadmin-non-97

Error: command failed: not authorized for that command

はい、結果は変わりません。

ということで、2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていないことと受け取りました。

fsxadminユーザーにてプライマリ認証がパスワード認証 / セカンダリ認証が公開鍵の組み合わせ

セキュリティ上の要件として、管理者権限を持つユーザーの認証をする際にはMFAが必須の場合はあるかと思います。

他に取りうる方法としてはプライマリ認証がパスワード認証 / セカンダリ認証が公開鍵の組み合わせです。

この組み合わせについてもAWS公式ドキュメント上では特に言及はないのですが、試してみましょう。

セカンダリ認証を公開鍵となるようにfsxadminユーザーの認証方法を変更します。

::*> security login modify -vserver FsxId055301943970047df -user-or-group-name fsxadmin -application ssh -authentication-method password -second-authentication-method publickey
Warning: Public key authentication is being setup for user "fsxadmin". This requires creating a public key for the user. After this command completes, use the "security login publickey create" command to create a public key for user "fsxadmin".

::*>  security login show

Vserver: FsxId055301943970047df
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
autosupport    console     password      autosupport      no     none
fsxadmin       http        password      fsxadmin         no     none
fsxadmin       ontapi      password      fsxadmin         no     none
fsxadmin       ssh         password      fsxadmin         no     publickey
fsxadmin-non-97
               ssh         password      fsxadmin         no     totp

Vserver: svm
                                                                 Second
User/Group                 Authentication                 Acct   Authentication
Name           Application Method        Role Name        Locked Method
-------------- ----------- ------------- ---------------- ------ --------------
vsadmin        http        password      vsadmin          yes    none
vsadmin        ontapi      password      vsadmin          yes    none
vsadmin        ssh         password      vsadmin          yes    none
vsadmin-non-97 ssh         password      vsadmin          no     totp
9 entries were displayed.

続いて、手元で適当にEd25519キーペアを作成します。

> ssh-keygen -t ed25519 -C "fsxadmin"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/<ホームディレクトリ>/.ssh/id_ed25519): ./fsxadmin
Enter passphrase for "./fsxadmin" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ./fsxadmin
Your public key has been saved in ./fsxadmin.pub
The key fingerprint is:
SHA256:m4HVHu8Ht4dCeHNJfMVdGCqgQgozshn//tzZ2SKcScg fsxadmin
The key's randomart image is:
+--[ED25519 256]--+
|*   .   .     .+=|
|.O o   . o   o. +|
|o o . . . + . o .|
|   . . o . = . o |
|    ....S o * +  |
|   .  E .+ + = o |
|    .  ooo  o + .|
|     o .=o.o o . |
|      o o.o..    |
+----[SHA256]-----+

> ls -l
total 16
-rw-------@ 1 <ユーザー名>  <グループ名>  399  4 29 15:24 fsxadmin
-rw-r--r--@ 1 <ユーザー名>  <グループ名>   90  4 29 15:24 fsxadmin.pub

> cat fsxadmin.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin

生成された公開鍵を登録します。

公開鍵の登録についてはAWS公式ドキュメントでも言及がありました。

https://docs.aws.amazon.com/ja_jp/fsx/latest/ONTAPGuide/public-key-auth.html

::*> security login publickey create -vserver FsxId055301943970047df -username fsxadmin -application ssh -publickey "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin"

::*> security log publickey show

Vserver: FsxId055301943970047df
UserName: fsxadmin        Application: ssh         Index: 0
Public Key:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEz5J0sXgL0l0Kri0Aje4RQ6gnsCRjHX8L9rdsn5FMYq fsxadmin
Fingerprint:
SHA256:m4HVHu8Ht4dCeHNJfMVdGCqgQgozshn//tzZ2SKcScg
Bubblebabble fingerprint:
xesiv-gimeg-petem-fegyz-favag-nofov-fafim-cygys-kagep-hufud-coxix
Comment:
-
Certificate:
-
Certificate Details:
-
Certificate Expiration Status: -
Certificate Revocation Status: -

登録されましたね。

これでfsxadminでFSxNファイルシステムにSSHをしようとしてみます。

> ssh fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com
fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com: Permission denied (publickey).

> ssh fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com -i ./fsxadmin
(fsxadmin@management.fs-055301943970047df.fsx.us-east-1.amazonaws.com) Password:

This is your first recorded login.
::>
::> whoami
  (security login whoami)

       User: fsxadmin
       Role: fsxadmin
Trust Score: -

接続時に秘密鍵とパスワードの両方を求められるようになりましたね。

他の対応策の検討

NetApp ONTAPで提供されているクラスターおよびSVMの管理操作のセキュリティレベルを向上させる他の対応策の検討してみます。

具体的な例としては以下が挙げられます。

  • Just in time 権限昇格 (JIT-Privilege)
  • Multi-Admin-Verify (MAV)
  • 動的許可

JIT-Privilegeはユーザーは特定のタスクを実行するために一時的に権限を昇格することができます。

https://docs.netapp.com/ja-jp/ontap/authentication/configure-jit-elevation-task.html

以下SSM Session ManagerのJITNAと似たような機能です。

https://dev.classmethod.jp/articles/aws-systems-manager-just-in-time-node-access/

しかし、こちらの機能は現時点では使用できません。security jit-privilege系のコマンドが公開されていないためです。

::*> security jit-privilege show

Error: "jit-privilege" is not a recognized command

::*> security ?
  anti-ransomware>            The anti-ransomware directory
  audit>                      Manage administrative audit logging settings
  certificate>                Manage Digital Certificates
  config>                     *Manage Cluster Security Configuration
  dynamic-authorization>      The dynamic-authorization directory
  ipsec>                      Manage IPsec
  key-manager>                Manage Key Management Servers
  login>                      Manage login methods, roles, and passwords
  oauth2>                     The oauth2 directory
  protocol>                   *Manage application configuration
  session>                    Manage CLI, ONTAPI, and REST sessions and view request statistics
  ssh>                        Manage SSH Configuration
  ssl>                        Manage the SSL configurations for a Vserver

MAVはユーザーが特定の操作をする際に他の管理者にその操作の承認を要求する仕組みです。これにより、悪意のある操作や誤操作による変更やデータの削除を防ぐことができます。

https://docs.netapp.com/ja-jp/ontap/multi-admin-verify/

しかし、こちらもJIT-Privilegeと同様に現時点では使用できません。security multi-admin-verify系のコマンドが公開されていないためです。

動的許可は、ユーザにセキュリティスコアを割り当て、その行動が不審な場合に追加の許可チェックを実施するか、操作を拒否します。

https://docs.netapp.com/ja-jp/ontap/authentication/dynamic-authorization-overview.html

こちらはSVM単位で設定する形であるため、FSxNファイルシステムに対しての制御を行うことはできません。

::*> security dynamic-authorization show

                                              Vserver: svm
                          Dynamic Authorization State: disabled
           Dynamic Authorization Suppression Interval: 10m
                         Lower MFA Challenge Boundary: 0%
                         Upper MFA Challenge Boundary: 90%

::*> security dynamic-authorization ?
  authentication-history-policy>  Manage Authentication history policy
  executed-commands>              Manage Dynamic Authorization executed commands
  group>                          Manage Dynamic Authorization Group Inclusion/Exclusion
  modify                          Modify dynamic-authorization global settings
  rule>                           Manage Dynamic Authorization Rules
  show                            Show dynamic-authorization global settings
  trust-score-component>          Manage Dynamic Authorization Trust Score Components
  user-trust-score>               Manage Dynamic Authorization User Trust Score

::*> security dynamic-authorization modify -state visibility

Error: command failed: not authorized for that command

::*> security dynamic-authorization modify -state visibility -vserver svm

::*> security dynamic-authorization show

                                              Vserver: svm
                          Dynamic Authorization State: visibility
           Dynamic Authorization Suppression Interval: 10m
                         Lower MFA Challenge Boundary: 0%
                         Upper MFA Challenge Boundary: 90%

そのため、FSxNファイルシステムレベルの保護にはつながりません。

fsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせる形になりそう

2026年4月時点ではAmazon FSx for NetApp ONTAPへのSSH接続時の2つ目の認証要素としてTOTPはサポートされていないことを紹介しました。

fsxadminのセキュリティを向上させるのであればパスワード認証と公開鍵認証の組み合わせる形になりそうですね。

個人的にはJIT-PrivilegeやMAVはエンタープライズ企業やセキュリティを非常に重要視される環境においては嬉しい機能なので、FSxNでもサポートして欲しいですね。

この記事が誰かの助けになれば幸いです。

以上、クラウド事業本部 コンサルティング部の のんピ(@non____97)でした!

この記事をシェアする

関連記事