iPadからAD認証でAWS上のFSxに接続してみた

iPadからAD認証でAWS上のFSxに接続してみた

目次

    はじめに

    アジアクエスト クラウドインテグレーション部の呉蜀魏です。

    本記事では、iPadからActive Directory(AD)認証を用いて、Amazon FSx for NetApp ONTAP(以下、FSx ONTAP)へ接続する検証を行った際のポイント・課題・最終構成をまとめます。

    AWSの標準サービス設定だけでは完結せず、ONTAPレイヤーの追加作業が必要になる部分が多かったため、今後のプロジェクトで同様の構成を扱う方の参考になれば幸いです。

    今回の要件と構成

    今回の検証の目的は次のとおりです。

    • iPadからVPC内のファイルサーバ(FSx ONTAP)へアクセスする
    • 認証はMicrosoft Active Directory(AD)を使用する
    • 社内Windows PCと同じアクセス管理モデルを使用する
    • VPNはAWS Client VPNを使用する

    構成図は次のとおりです。

    202604_aws-fsx-ontap-ipad-ad-auth_01

    AWSリソースの作成順番

    1. VPC / プライベートサブネットの準備
      • AWS Managed Microsoft ADには最低2AZの構成が必要なので要注意
    2. AWS Managed Directory Service(Microsoft AD)をVPC内で作成
    3. iPadとVPCを繋げるClient VPNを設定
    4. FSx for NetApp ONTAPを作成
      • 上記のActive Directoryに参加すること
    5. 管理用EC2(Windows Server)を作成
      • 後でFSx ONTAPにSSH接続するために使用
      • 上記のActive Directoryに参加すること

    ファイル閲覧の実現

    ファイル閲覧の検証では、主に「iPad標準アプリのプロトコル制限」と、それに伴う「AWSコンソールだけでは完結しないONTAP側でのSMB共有設定・管理」の2点が大きなハードルとなりました。 具体的な課題と解決手順は以下のとおりです。

    iPadの標準アプリはNFS非対応

    当初、FSx ONTAPに対してNFS接続を想定していましたが、iPadの標準「ファイル」アプリはSMBプロトコルしかサポートしていません。 そのため、SMBプロトコルでの接続に切り替える必要がありました。

    ONTAP側でSMB共有の作成が必要

    AD認証でiPadから接続はできたものの、ファイル一覧が見えない・作成できない・削除できないといった問題が発生しました。

    調査の結果、AWSコンソールの設定だけではSMBアクセスが完結せず、ONTAP側でSMB共有(Share)の作成が別途必要であることが判明しました。 この点はFSx ONTAP特有の注意点といえます。

    FSx ONTAPの管理方法の検討

    本来ならNetApp ONTAPはNetApp BlueXP Connectorを使うことでGUIベースで管理可能ですが、BlueXP Connector等を実現するためのデプロイが複雑だったため、今回は断念しました。

    202604_aws-fsx-ontap-ipad-ad-auth_02

    代替として、Windowsベースの管理用EC2サーバを使用したONTAP CLIによる直接管理に切り替えました。

    ONTAP CLIでSMB共有を作成

    管理用EC2からFSx ONTAPにSSHでログインし、以下のコマンドでSMB共有を作成しました。

    vserver cifs share create \
    -vserver <SVM名> \
    -share <共有名> \
    -path <SMBパス>

    共有を作成したことで、WindowsからもiPadからもファイルが参照できるようになり、ここでようやくアクセスが通るようになりました。

    NTFS権限によるアクセス制御の実現

    次の要件は、ユーザーごとにアクセス可能なフォルダを分離することでした。

    • Admin:すべてのフォルダを閲覧・管理可能
    • iPadUser:自分のフォルダのみ閲覧可能

    これはWindowsサーバ側でNTFS権限を設定することで実現できます。

    CREATOR OWNERを利用した自動権限付与

    ユーザーがiPadからフォルダを作成した場合、そのフォルダに自動で「作成者本人 + 管理者」のみがアクセス可能となるよう、CREATOR OWNERを活用しました。

    うまく動かなかった原因:SMB共有の権限

    最初はONTAP側のSMB共有権限がEveryone: Full Controlの状態でした。 これにより、NTFSの継承設定が優先されず「すべてのフォルダが見えてしまう」状態になっていました。

    ONTAP側のSMB共有権限を修正

    以下のように共有ACLを最小権限に変更することで、NTFS側の権限設定が正しく機能するようになりました。

    • Everyoneを削除
    • AdministratorsにFull Control権限
    • Domain UsersにChange権限

    結果として、iPadからiPadUserで接続すると、自分のフォルダしか見えない状態を実現できました。

    最終構成の動作イメージ

    最終的に構築されたアクセス制御の動きは以下のとおりです。

    管理者が親フォルダにNTFS権限を設定

    下の画像のように親フォルダTest-folderの権限を設定しました。

    • CREATOR OWNERを利用し、作成者にTest-folderの子フォルダとファイルのModify権限を自動付与
    • AdminにTest-folderと子フォルダとファイルのFull control権限を付与
    • iPadUserにTest-folderのModify権限を付与

    202604_aws-fsx-ontap-ipad-ad-auth_03


    Adminが作ったフォルダはiPadUserには見えない

    下の画像のように、Test-folderの下に作成したadmintestフォルダでは、Adminのみに権限が付与されます。

    202604_aws-fsx-ontap-ipad-ad-auth_04

    iPadUserには権限がないため、admintestフォルダ自体も確認できなくなります。

    202604_aws-fsx-ontap-ipad-ad-auth_05

     

    iPadUserが作成したフォルダは、作成者本人とAdminのみがアクセス可能

    iPadの画面から新たなフォルダIpadtest2を作成しました。

    202604_aws-fsx-ontap-ipad-ad-auth_06

    そうしてWindowsサーバからNTFS権限確認すると、iPadUserとAdminに対して権限が自動付与されます。

    202604_aws-fsx-ontap-ipad-ad-auth_07

    SMB共有ACLとNTFS権限が矛盾なく連携し、意図したアクセス制御が実現しました。

    まとめ

    今回の検証で得られた知見は以下のとおりです。

    • iPad+Client VPN+AD認証+FSx ONTAPの構成は問題なく実現可能
    • FSx ONTAPを扱う際は、AWS・ONTAP・Windows(NTFS)という3つのレイヤーを理解することが重要
    • ONTAPのSMB共有ACL設定とNTFS権限設定で矛盾があると意図どおり動作しない
    • NTFSでは、CREATOR OWNERを活用することで、フォルダ単位の自動アクセス権限付与が可能

     

    今後の課題

    • BlueXP Connector(FSx ONTAPの専用管理サーバ)のデプロイを成功させ、FSx ONTAPの管理をGUIベースで一元化したい

    参考コマンド

    共有ACLの確認:

    vserver cifs share access-control show -vserver <SVM名> 
    ※SVM: ストレージ仮想マシン(FSx ONTAPがホストされている仮想サーバ)

    Everyone権限の削除:

    vserver cifs share access-control delete \
    -vserver <SVM名> -share <共有名> \
    -user-or-group Everyone

    権限追加:

    vserver cifs share access-control create \
    -vserver <SVM名> -share <共有名> \
    -user-or-group "BUILTIN\\Administrators" -permission full_control
    vserver cifs share access-control create \
    -vserver <SVM名> -share <共有名> \
    -user-or-group "DOMAIN\\Domain Users" -permission change

    アジアクエスト株式会社では一緒に働いていただける方を募集しています。
    興味のある方は以下のURLを御覧ください。