皆さまこんにちは。SB C&S 井上です。
今回は、新たにプレビューで利用可能になった、「Azure AD 認証を利用して Azure 内の Windows 仮想マシンにサインインする機能」 について検証と、この機能のメリットなどを調査しました。
前記事では、 「検証環境準備編」 として、検証方針とこの機能を利用するために必要な設定などについてご紹介したので、本記事では、「検証編」 として検証手順と検証結果やメリットなどについてご紹介します。
以下、前記事の復習として 「概要」、「検証内容」、「前提条件」 を改めてご説明しますので、前記事から続けてお読みいただいている方は 「検証1. RDP 接続するユーザーを、Azure AD の管理ポータルで管理」 からお読みください。
概要
Windows 10 端末を Azure AD Join することで、その端末に Azure AD ユーザーでサインインでき、Azure Portal 上での端末管理、ユーザー管理が可能になります。
これにより、BYOD の場合も Azure AD Join することで個人所有のデバイスを組織の Azure AD の管理下に置くことができます。
Windows 10 では端末の設定画面から Azure AD Join を行うことができますが、 Windows Server OS では Azure AD Join 自体行うことができませんでした。
しかし最近パブリックプレビューされた機能を使うと、Windows Server 2019 Datacenter か Windows 10 1809 以降の仮想マシンを Azure IaaS 上にデプロイする際に、Azure 仮想マシンを Azure AD Join させることができます。
今回の [検証編] では Azure IaaS 仮想マシンを Azure AD Join させるとどのような制御が可能になるか、などを中心に検証を行ってみました。
検証内容
今回の検証では、以下の点に注目して環境構築と検証を行いました。
- 検証1. RDP 接続するユーザーを、Azure AD の管理ポータルで管理
- 検証2. Azure IaaS 仮想マシンへの RDP 接続の際の多要素認証設定
- 検証3. Azure AD ユーザーに対して、ファイルサーバーの共有フォルダのアクセスコントロール設定
前提条件
OS (プレビュー期間中)
- Windows Server 2019 Datacenter
- Windows 10 1809 以降
リージョン
- すべての Azure グローバルリージョン
ネットワーク要件
VM のネットワーク構成で、TCP ポート 443 を経由した以下のエンドポイントへの発信アクセス許可
- https://enterpriseregistration.windows.net
- https://login.microsoftonline.com
- https://device.login.microsoftonline.com
- https://pas.windows.net
検証1. RDP 接続するユーザーを、Azure AD の管理ポータルで管理
手順の概要
1. RDP 接続するユーザーへのロール割当
検証手順
1. [Azure 仮想マシン] > [アクセス制御(IAM)] > [ロールの割り当ての追加] から、対象の Azure AD ユーザーに 「仮想マシンの管理者ログイン」 or 「仮想マシンのユーザーログイン」 ロールを割り当てる
検証結果
Azure AD ユーザーに対して RBAC を使用して 「仮想マシンの管理者ログイン」 もしくは 「仮想マシンのユーザーログイン」 ロールを割り当てるだけで、Azure AD Join した Azure 仮想マシンへの RDP 接続をどのユーザーに許可するかを設定することができます。
また、RDP 接続するユーザーの管理は Azure ポータル上で行うことができるため、従来のように RDP 接続先のホスト OS 上で RDP 接続を許可するユーザーを設定する必要もありません。
これにより、必要に応じてユーザー毎の仮想マシンへの RDP 接続を許可/拒否する設定を簡単に行うことができることに加えて、仮想マシンのローカル管理者を管理する必要もなくなります。
検証2. Azure IaaS 仮想マシンへの RDP 接続の際の多要素認証設定
手順の概要
1. 条件付きアクセスポリシーを新規作成
2. RDP 接続時に多要素認証を強制するポリシーを構成
3. RDP 接続元端末に Windows Hello と PIN を設定
4. Azure AD Join 済み Azure 仮想マシンに RDP 接続
検証手順
1. [Azure Active Directory] > [セキュリティ] > [条件付きアクセス] で新しいポリシーを作成
2. RDP するユーザーに対して多要素認証を強制する 「条件付きアクセス」 を設定
[ユーザーとグループ] で RDP 接続時に多要素認証を強制する Azure AD ユーザーを追加
[クラウドアプリまたは操作] で [クラウドアプリ] の [Azure Windows VM Sign-In] を選択
[アクセス制御] の [許可] で [多要素認証を要求する] にチェック
[ポリシーの有効化] を [オン] に設定
3. Azure AD Join した端末に Azure AD ユーザーでサインインし、[Windows Hello] と [PIN] を設定
(端末のローカルユーザーで Windows Hello を設定している場合は、一度削除する)
4. Azure AD Join した RDP 接続元端末から、Azure AD Join 済み Azure 仮想マシンに RDP 接続
検証結果
1. Azure AD Join した Azure 仮想マシンへの RDP 接続時の資格情報に、「ID/パスワード」 を利用
多要素認証を要求できないため、RDP 接続できない
2. Azure AD Join した Azure 仮想マシンへの RDP 接続時の資格情報に、「Windows Hello」 or 「PIN」 を利用
Azure AD Join 済みで Windows Hello を設定した端末では多要素認証の要求/応答ができるので、 RDP 接続できる
1. の場合、ID/パスワードのみでは多要素認証の要求/応答ができないため、「RDP 接続時に多要素認証を強制」 という条件付きアクセスに合致せず、RDP 接続は失敗します。
しかし、2. の場合は Azure AD Join した端末 + Windows Hello(生体情報) or PIN という多要素認証を要求/応答できるため、条件付きアクセスに合致し、RDP 接続をすることができます。
RDP 接続時に多要素認証を強制することで、Azure AD Join かつ Windows Hello の設定をした端末以外からの RDP 接続を禁止することができるので、よりセキュアな運用が可能となります。
検証3. Azure AD ユーザーに対して、ファイルサーバーの共有フォルダのアクセスコントロール設定
手順の概要
1. ファイルサーバー構築、共有フォルダ作成
2. 共有フォルダのアクセス権設定
3. 共有フォルダにアクセス
検証手順
1. Azure AD Join した Windows Server でファイルサーバーを構築、共有フォルダを作成 (本手順は省略)
2. ファイルサーバーの共有フォルダのアクセス権を設定
Azure AD ユーザーに共有フォルダへのアクセス権を付与
(Azure AD ユーザーを追加する場合、「AzureAD\<UPN>」 を入力)
3. Azure AD Join した Windows 10 端末から共有フォルダにアクセス
Azure AD ユーザーで共有フォルダへのアクセス
検証結果
上記のように、Azure AD ユーザーの資格情報で Azure AD Join したファイルサーバーの共有フォルダにアクセスすることができました。
これにより、共有ファイルへのアクセスを許可された Azure AD ユーザーが Azure AD Join した端末からアクセスした場合にのみ共有フォルダにアクセスできる、というセキュアな共有フォルダを作成することができます。
ここで注意が必要なのが、AD ユーザーに対して共有フォルダのアクセス権設定を行う際には、「<NetBios ドメイン名>\<ユーザー名>」 や 「<UPN>」 を入力して共有するユーザーを追加しますが、Azure AD ユーザーの場合は、「AzureAD\<UPN>」 という記載をする必要があるという点です。
例えば、yuki.inoue@example.com というユーザーに共有フォルダのアクセス権設定を行う場合、以下のような記載でユーザーを追加します。
AD ユーザーの場合: 「Example\yuki.inoue」 or 「yuki.inoue@example.com」
Azure AD ユーザーの場合: 「AzureAD\yuki.inoue@example.com」
まとめ
今回は、新たにプレビューで利用可能になった、「Azure AD 認証を利用して Azure 内の Windows 仮想マシンにサインインする機能」 について実際に3つの項目の検証を行いました。
(本機能を利用するための環境準備については前回の記事でご紹介しております。)
「検証1. RDP 接続するユーザーを、Azure AD の管理ポータルで管理」 では、Azure AD Join した Azure 仮想マシンに対しての RDP 接続の許可/拒否を、 Azure ポータル上で RBAC を設定することで制御できることをご紹介しました。
「検証2. Azure IaaS 仮想マシンへの RDP 接続の際の多要素認証設定」 では、Azure AD Join した Azure 仮想マシンに RDP 接続する際に、Azure AD ユーザーに条件付きアクセスポリシーで多要素認証を強制することで、ID/パスワードでの RDP 接続を禁止して 「Windows Hello」 か 「PIN」 を利用した RDP 接続のみ許可できることをご紹介しました。
「検証3. Azure AD ユーザーに対して、ファイルサーバーの共有フォルダのアクセスコントロール設定」 では、Azure AD Join した Azure 仮想マシン上に作成した共有フォルダのアクセス元を、「Azure AD ユーザーが Azure AD Join した端末からのみ」 に制限できることをご紹介しました。
これらの検証結果から、RBAC でロールを付与された Azure AD ユーザーが準拠端末(Azure AD Join した端末) を利用した場合のみ RDP 接続や共有フォルダへのアクセスが可能、というセキュアな環境を、Azure ポータルから簡単に設定することができます。
また、Azure AD ユーザーで RDP 接続が可能 = Azure 仮想マシンのローカル管理者の管理をする必要がなくなる、という点もメリットのひとつです。
セキュアな RDP接続, ファイル共有環境を簡単に構築できる本機能、ぜひ一度実際に触ってみていただけると幸いです。
(本機能は現在プレビューのため、GAの際に予告なく機能が変更される場合がございます。)
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術部 4課
井上 雄貴
新卒でSB C&S株式会社に入社後、Azureのプリセールスエンジニアとして案件支援、新規サービスの技術検証などに従事。
JDLA Deep Learning for ENGINEER 2019 #1を保有。
クラウド、AIのエキスパートエンジニアを目指し、日々邁進中。