ラージビッグバナー(970x90)

Azure

【Azure Files】ファイル共有をAD認証を有効化してアクセス権管理

更新日:

ビッグバナー(piglog)728px

Azure Files をファイルサーバ(ファイル共有)として利用する場合、アクセス権管理のためにAD(ADDS)認証、またはAzureADDS認証を利用することになると思います。

いずれかの認証を有効化することで、ドメインアカウントを利用したアクセス権の付与・管理が可能になります。今回は、AD認証を有効化して利用する場合の手順を記します。

Azure Files のAD DS認証を有効化する

AzureADDS認証を利用する場合はポータルの設定で有効化できるのですが、AD認証を利用する場合は、ストレージアカウントをドメインに参加(登録)させる処理が必要となります。その手順を説明します。

前提事項

処理を行うにあたって、アカウントや権限まわりで以下の前提事項があります。

  1. ターゲットADでアカウントを作成する権限をもつADアカウントが必要
    ※Domain Admins のグループへ所属させておけばよい
  2. AzureADへ同期されているADアカウントで処理を行う必要がある
    ※↑のユーザをAzureADへ同期させておく(当然、Azure AD Connect が必要)
  3. AzureADへ同期された↑のユーザにストレージ アカウント所有者または共同作成者の Azure ロールのアクセス許可が必要
    ※これら以上であればOKなので、グローバル管理者でもOK
  4. ADに参加させるストレージアカウント名は15文字以下
    ※ADのオブジェクト(SamAccountName)として必須。コンピュータ名を15文字以下にするのと同じでしょうかね
  5. ストレージアカウントのアクセス制御でSMB共有レベルのアクセス許可を追加しておく
    (しておかないと処理後のステータスで failed がでる。参加処理自体は問題なかった)
  6. AD参加処理はAD参加マシンで実行する
    ※↑に記載した ADでアカウント作成権限を持っていて、AzureADに同期されたアカウントでこのマシンにログインしておく
  7. ストレージアカウントが所属するリソースグループ情報を取得できる権限をもつアカウント情報が必要
    ※後半で追加説明

この参加処理に時間がかかるので、条件を満たしているかちゃんと確認してからの実行をオススメします。

 

作業マシンの用意

処理を行うマシンの準備をします。

AD参加したWindowsであれば、サーバOSでもクライアントOSでもOKです。

  1. AzFilesHybrid モジュールをダウンロード
    ここ>> から、AzFilesHybrid.zip  をダウンロードして、作業マシンに保存します。
    仮に、以下のように add_FilesToAD フォルダは作成して、その配下に保存します。


    次に、AzFilesHybridモジュールをインストールするための準備をします。

     

  2. .NET4.7.2インストール
    ※Join-AzStorageAccountForAuth.ps1 実行時に無いとエラーがでた

    ここ>> からダウンロードしてインストールします。
    ※インストール後、再起動が必要

     

  3. TLS 1.2 を使えるようにする
    ※Win10/Win2019 は不要(TLS1.2 が有効になっている)
    ※Powershellモジュールをインストールする際に、PowershellGetでTLS1.2で接続する必要があるために必要
    ※NuGet プロバイダーのダウンロード、インストールが 2020 年 4 月以降で TLS 1.0/1.1 はサポートされず、TLS 1.2 のみをサポートする(NuGetはパッケージ管理のリポジトリのようなもの)TLSバージョン確認

    結果が「SystemDefault」であれば 1.2有効。1.0/1.1 なら、PowerShellGet モジュールを v2.2.4 以上にアップグレードする。

    まず、そのPowerShellセッション内で、TLS1.2を有効にする

    PowerShellGetモジュールのバージョンアップ ※2.2.4以上であればOKだが、最新はここから>> 要確認

    インストールされたか確認

    信頼済みサイトの追加(サーバで行う場合や環境によっては入れておかないと接続できないかも)

    ブラウザでjavaを有効

     

AD参加(登録)スクリプト作成

ここ>> から、スクリプトをコピーしてきます。

以下を環境に合わせて変更する

<your-subscription-id-here> サブスクリプションID
<resource-group-name-here> リソースグループ(ストレージアカウントが所属する)
<storage-account-name-here> ストレージアカウント名 ※15文字以下
<ComputerAccount|ServiceLogonAccount> 通常は ComputerAccount でOK
<ou-distinguishedname-here> OUを指定する(コメントアウトした場合は、てきとうなOUに追加された。規則は未確認)※
<AES256/RC4/AES256,RC4> コメントアウトでOK(デフォルトはAES256,RC4)

※ OUの指定は以下のようにきちんと書かないとだめ

以下が修正後の参考 ※CopyToPSPath.ps1へのパスを考慮する(★の箇所)

 

スクリプト実行

編集したスクリプトを実行しますが、その前に

  • 前提事項の権限周りの条件は満たしているか
  • ストレージアカウントの設定で許可する接続元を制限していないか

を確認しましょう。

おすすめのやり方としては、
アクセス権の条件を満たしていないと、エラーがでずに処理が進まない場合があります。これ結構やっかい(処理が進んでいるのか止まっているのかわからない)なので、デバッグを出して実行するとよいです。

また、スクリプト内でAzureポータルに接続するので、先行して接続しておくとスムーズです。
※ここで接続するアカウントは、スクリプトに記載したリソースグループの情報を取得できるアカウントである必要があります(前提事項の7番の件)

Powershellモジュールを大量にインストールするので、結構時間がかかります。環境にもよると思いますが20分くらいかかったかも。気長に待ちましょう。Connect-AzAccount のところで進まない場合は、やり直したほうがよいかもです。

無事に参加処理が終われば、以下のように結果が表示されます。

 

GUI からも以下のように確認できます。

ADのユーザーとコンピュータの一覧から

ストレージアカウントの「構成」のページから

ファイル共有のページから

 

共有レベルのアクセス許可設定

ファイル共有を作成したら、ファイル共有の アクセス制御(IAM)を開くとアクセス権を設定できるようになっています。(ストレージアカウントではなく「ファイル共有」のアクセス制御です)

ここは、ADDS または AzureADDS 認証を有効化していない状態だと設定できません。

画像が取れていませんが、画面上部の「+追加」から、役割と許可するユーザ/グループを設定します。グループで設定するのが一般的かと思います。役割は以下の通りです。

フルコントロール ストレージファイルデータのSMB共有の管理者特権の共同作成者
変更 記憶域ファイルデータのSMB共有の共同作成者
読み取りのみ 記憶域ファイルデータのSMB共有の閲覧者

 

また、共有のアクセス権設定をPowerShellで行う手順を以下のエントリで説明しています。

【Azure Files】ファイル共有の共有レベルのアクセス権設定をPowerShellで行う

Azure Files で構築したファイル共有の共有レベルのアクセス権設定をPowerShellで行う手順を紹介します。 共有のアクセス権設定といっても実態はロールの割り当てです。ロール割り当ての基本 ...

続きを見る

ここまできたらAzure側での設定は終わりです。PC側で ネットワークドライブとしてマウントして、セキュリティ設定(NTFSアクセス権設定)を行いましょう。

まとめ

Azure Files をADDS認証を有効化する手順を説明しました。これで、ADのアカウントを利用して 従来のNTFSアクセス権管理が可能なファイル共有を Azure Files で利用することができるようになりました。

もちろん、AzureADDS を利用するでも良いですが、既存のAD環境を流用できれば、追加コスト不要でオンプレミスのファイルサーバをクラウドへ移行できるのではないでしょうか。

今回説明したAD有効化の処理が正常に完了しない/エラーで止まってしまう場合の確認のポイントを以下にまとめています。

【Azure Files】AD参加(AD認証の有効化)が失敗するときの確認ポイント

Azure Files をAD認証を有効化して利用することで、従来のWindows Serverで運用してきたファイルサーバと同じようにファイル(NTFS)のアクセス権管理をクラウドでも同じように行う ...

続きを見る

pig-log_ディスプレイ横長

リンクユニット(レスポンシブ)

-Azure
-, ,

Copyright© ぴぐろぐ , 2024 All Rights Reserved.