catch-img

OCI Secure Desktops で ドメイン参加済みWindows VDIを構築する

OCI Secure Desktops を使って、Active Directory に参加した Windows VDI 環境を構築してみます。実運用では Windows デスクトップをドメイン参加させ、ドメインユーザーの資格情報でログインさせたいケースが多いため、本記事では Oracle から受領した Secure Desktops Windows ベースイメージを取り込み、一時プールでカスタマイズしたあと、本番用プールを作成する流れをまとめます。

今回のゴールは、Windows 11 ベースのデスクトップを Active Directory に参加させ、ドメインユーザーでログインできる本番用デスクトッププールを作成することです。あわせて、ドメイン参加用の資格情報は OCI Vault に保存し、動的グループと IAM ポリシーで参照を制御する構成にします。

1. OCI Secure Desktopsとは

OCI Secure Desktops OCI のマネージド型仮想デスクトップサービスです。20264月時点でサポートされているデスクトップ OS Oracle Linux 7 / 8 / 9 Windows 10 / 11 で、Windows 10 / 11 を利用する場合は Microsoft のライセンス条件に従う必要があります。Oracle Secure Desktops 用に事前構成済みの Windows ベースイメージを提供しており、これを出発点にすると必要なコンポーネントがそろった状態で構築を始められます。

2. 前提

本記事では、次の前提で進めます。

Active Directory ドメインコントローラーは構築済み

VCN、サブネット、ルート表、セキュリティリスト、Service Gateway を作成できる

Vault Secret を作成できる

Secure DesktopsComputeIAMNetworkingVault を操作できる権限がある

また、AD DS 自体の新規構築手順や VCN のゼロからの設計、Microsoft ライセンスの詳細整理は扱いません。

3.SRからイメージを取得する

Windows イメージを使う場合は、My Oracle Support または Oracle Cloud Console からサポート・リクエストを起票して、Secure Desktops 用の Windows BYOL イメージを受領します。Oracle 推奨の進め方は、この事前構成済み Windows ベースイメージを起点にする方法です。

サポート・リクエストごとに要求できるイメージは 1 つで、受領する PAR URL の有効期間は 96 時間です。ベースイメージには Secure Desktops に必要な構成が含まれており、ブート・ボリュームはデフォルトで 100GB です。

4. イメージをインポートする

受領した PAR URL OCI Compute のカスタムイメージ取込で取り込みます。カスタムイメージの import Console / CLI / API のいずれでも実施できますが、本記事では手順を統一するため Cloud Shell から OCI CLI を使います。

まずはカスタムイメージを取り込みます。

イメージをインポートします。

oci compute image import from-object-uri \

  --uri "<PAR_URL>" \

  --compartment-id "<IMAGE_COMPARTMENT_OCID>" \

  --freeform-tags '{"oci:desktops:is_desktop_image":"true"}' \

  --display-name "OSD-Win11-base"

oci compute image update \

  --image-id "<IMAGE_OCID>" \

  --operating-system Windows \

  --operating-system-version "Windows11"

Windows イメージを Secure Desktops で利用するには、少なくとも oci:desktops:is_desktop_image=true を付与しておく必要があります。oci:desktops:image_os_type=Windows oci:desktops:image_version=<version> は任意です。
インポート後は Image Capabilities を確認します。

インポート後は、カスタムイメージ の Image Capabilities を設定します。

Windows 11 の場合は、Firmware UEFI-64 only にし、Secure Boot を有効化します。Secure Desktops はこのイメージ設定を検出し、プール作成時に保護デスクトップ・インスタンスを自動的に有効化します。

5.ネットワークを作る

全体として以下のような環境を構築します。

本記事の主題は Secure Desktops 側の構成なので、VCN 全体の設計は省略します。ここでは、ドメイン参加済みデスクトップを成立させるうえで特に重要なポイントに絞って整理します。

5.1. Service Gateway の設定

Service Gateway には OCI <region> Object Storage All <region> Services in Oracle Services Network 2 種類のサービス CIDR ラベルがあります。
今回はドメイン参加用の資格情報を Vault Secret から参照します。デスクトップが参加するサブネットからVaultへのアクセスが必要な為、 All <region> Services in Oracle Services Network を指定します。

ルート表やセキュリティリストも、Service Gateway 経由で Vault へアクセスできるように設定しておきます。

5.2. DHCP Options での AD DNS 設定

デスクトップ・サブネットの DHCP Options では、カスタム・リゾルバを使って AD ドメインコントローラーを DNS として配布し、検索ドメインには AD FQDN を設定しておきます。

l  DNS タイプ: カスタム・リゾルバ

l  DNSサーバー・アドレス: <AD_DC_IP>

l  インターネットおよび VCN リゾルバへのアクセス: 必要に応じて有効化

l  DNS 検索ドメイン・タイプ: カスタム検索ドメイン

l  検索ドメイン: <AD_FQDN>

5.3. ルートテーブルとセキュリティリスト

デスクトップからドメインコントローラーへの通信では、53 / 88 / 389 のみを許可すれば十分、とは限りません。少なくとも DNS 53LDAP 389Kerberos 88 に加え、RPC Endpoint Mapper 135SMB 445、さらに動的 RPC ポートが関係するため、セキュリティリストや NSG はこの前提で設計したほうが後から詰まりにくくなります。
Windows のサービス概要およびネットワーク ポート要件

6.ドメインコントローラーを用意する

ドメインコントローラーの構築自体は本記事では省略します。OCI Compute 上に Windows Server を配置し、AD DS を構成してください。後続手順で必要になるので、少なくとも次の情報は控えておきます。

項目

値の例

AD FQDN

corp.example.com

ドメイン DN

DC=corp,DC=example,DC=com

デスクトップ OU

OU=SecureDesktops

参加用ユーザー UPN

sample<at>corp.example.com

参加用ユーザー パスワード

XXXXXXXXXXX

7.Vaultに資格情報を保存する

ドメイン参加用の資格情報は OCI Vault に保存しておくと、平文での埋め込みを避けながら管理できます。本記事では、参加用ユーザー名とパスワードをそれぞれ別の Secret として保存します。

まず Vault を作成します。

次に、Secret を暗号化するためのマスター暗号化キーを作成します。

続いて、ad-username ad-password 2 つの Secret を作成します。

作成した Secret OCID は後続手順で使うため、控えておきます。

8.Secret参照を許可する

デスクトップ側から Secret を参照できるようにするには、デスクトップ用インスタンスを動的グループに含め、その動的グループに対して Secret 読み取り権限を付与します。

動的グループの例は次のとおりです。

Any {instance.compartment.id = '<DESKTOP_COMPARTMENT_OCID>'}

ポリシーの例は次のとおりです。

Allow dynamic-group <DYNAMIC_GROUP_NAME> to read secret-bundles in compartment <VAULT_COMPARTMENT_NAME> where any {

  target.secret.id = '<AD_USERNAME_SECRET_OCID>',

  target.secret.id = '<AD_PASSWORD_SECRET_OCID>'

}

Allow dynamic-group <DYNAMIC_GROUP_NAME> to use keys in compartment <VAULT_COMPARTMENT_NAME>

9.一時プールを作る

本番用カスタムイメージを作る方法はいくつかありますが、今回は Oracle から受領したベースイメージで一時プールを作り、そのデスクトップを編集してからカスタムイメージ化する流れにします。

まず、デスクトッププールの基本情報を設定します。このあと PowerShell スクリプトを管理者権限で実行するため、「デスクトップ上の管理者権限を有効にします。」 は有効にしておきます。この設定はプール作成後に変更できません。

次に、Windows のライセンスタイプを確認し、受領したイメージとシェイプを選択します。Windows 10 / 11 BYOL 前提ですが、Console でプールを作成する場合は oci:desktops:enable_byol=true は自動生成されるため、手動追加を前提にしなくて構いません。

ストレージ、ネットワーキング、デバイス・アクセス・ポリシーを設定します。デスクトップが配置されるサブネットは、前段で DNS Vault アクセスを整えたものを選択します

続いて、AD 参加用のタグを設定します。値は SR で案内された手順に合わせて置き換えてください。本稿の構成では、次のようなタグを付与しています。

タグ

値の例

osd_ib:ad_user_ocid

<AD_USERNAME_SECRET_OCID>

osd_ib:ad_pass_ocid

<AD_PASSWORD_SECRET_OCID>

osd_ib:ad_fqdn

corp.example.com

osd_ib:ad_dc

DC=corp,DC=example,DC=com

osd_ib:ad_ou

OU=SecureDesktops

osd_ib:ad_timezone

Tokyo Standard Time

また、Windows イメージを Secure Desktops で利用するためのタグも付与します。

タグ

値の例

oci:desktops:enable_byol

true

oci:desktops:enable_measured_boot

true

oci:desktops:enable_secure_boot

true

設定が完了したらプールを作成し、ステータスが Active になるのを確認します。

10.イメージを編集する

一時プールができたら、クライアント URL から Secure Desktops ポータルにアクセスし、対象プールのデスクトップを要求して接続します。

まずはプール詳細画面からクライアント URL を確認し、ブラウザでポータルへアクセスします。

ポータルにログインしたら、デスクトップの要求 から一時プールを選択して起動します。初回起動時はイメージ展開と初期セットアップがあるため、通常より時間がかかります。

接続できたら、必要なアプリケーションのインストールや設定変更をこの段階で済ませます。なお、既定の DesktopUser のパスワードを変更すると、以後の接続で Network Level Authentication エラーの原因になることがあるため、この既定ユーザーまわりは不用意に変更しないほうが安全です。

Powershellを管理者権限で実行します。

C:\TEMP に移動します。windadjoinprep.ps1が配置されているのが確認できます。これがAD参加用の設定を行うスクリプトです。

以下の通りスクリプトを実行します。

Set-ExecutionPolicy RemoteSigned

. \windadjoinprep.ps1

先ほど設定したAD参加用タグの値が正しいことを確認し、画面の指示に従って先に進めます。

最終確認のあとに Sysprep が実行されます。ここから先は元に戻せないため、内容を確認してから進めます。

Sysprep が完了すると、デスクトップへの接続は切断されます。これでイメージ編集は完了です。

11.カスタムイメージ を作成する

Sysprep 後は、一時プールで使っていたデスクトップ・インスタンスからカスタムイメージを作成します。ここで作るカスタムイメージが、本番プールのベースになります。

まず、対象のデスクトップ・インスタンスを開きます。

次に、アクション > その他のアクション > カスタムイメージの作成 を選択します。

カスタムイメージには、Secure Desktops で利用するための必須タグ oci:desktops:is_desktop_image=true を付与します。

必要に応じて oci:desktops:image_os_type=Windows も付けておくと識別しやすくなります。

タグ

値の例

oci:desktops:is_desktop_image

true

oci:desktops:image_os_type

Windows

12.本番ブーツを作る

作成したカスタムイメージを使って、本番用のデスクトッププールを作成します。

まず、プール名、スケジュール、サイズを設定します。

次に、先ほど作成したカスタムイメージを選択し、Windows ライセンスタイプを確認します。

シェイプ、ストレージ、ネットワーキング、アクセスポリシーを設定します。

1.シェイプ、ストレージ、ネットワーキング、アクセスポリシーを設定します。

2.デスクトップ管理ポリシーとタグを設定します。

Windows イメージを Secure Desktops で利用するためのタグを付与します。

今回はドメイン参加の設定も行うため、oci:desktops:is_auth=true も付与します。

このタグを使うと、既定のデスクトップユーザーの自動プロビジョニングを無効にし、代わりにイメージ側の認証スキーム、つまり AD LDAP 連携されたユーザーアカウントを使う構成にできます。

タグ

値の例

oci:desktops:enable_byol

true

oci:desktops:enable_measured_boot

true

oci:desktops:enable_secure_boot

true

oci:desktops:is_auth

true

Windows 11 の保護インスタンスについては、一時プールと同じく、通常はカスタムイメージ側の Image Capabilities による自動検出に任せます。無効化したい場合のみ、明示的な上書きタグを使います。

作成が完了したら、プール一覧または詳細画面でステータスが Active になっていることを確認します。

13.ログインを確認する

本番用デスクトップにドメインユーザーでログインできることを確認します。

最後に、本番用デスクトップへドメインユーザーでログインできることを確認します。

Secure Desktops ポータルから本番用デスクトップを要求し、接続を開始します。

ログイン画面が表示されたら、ドメインユーザーの資格情報を入力します。

正常にサインインできれば、Secure Desktops 上でドメイン参加済み Windows VDI を利用できる状態です。最後に、コンピューターが想定した OU に参加していること、必要な GPO が適用されること、ユーザーが想定どおりの権限で利用できることまで確認しておくと安心です。

まとめ

今回はドメイン参加済みのWindows11デスクトップを作成しました。

ネットワークやシークレットのアクセス制御など、いくつか注意点はありますが、VaultOCI Secure Desktopsの機能を活用することで、セキュアで管理しやすいドメイン参加済み VDI 環境が構築できました。VDI構築の経験がある方であれば、比較的スムーズに構築できるのではないかと思います。

こちらの発言は全て個人的意見です。内容につきましては、十分注意し投稿しておりますが、誤りがあれば直接ご指導頂けますとありがたいです。

PR

CNSでは、Oracle Cloud InfrastructureOCI)を活用したSIサービス「 U-Way 」を提供しています。

OCI東京リージョン開設時期から蓄積してきた知見と、Oracle製品・オンプレミス環境での実績を生かし、インフラ基盤やクラウドアプリケーション、データ分析基盤のクラウド化を、企画から構築・運用まで一貫して支援します。
OCI
導入支援、運用支援、短納期・低コストで利用を開始できる「 U-Way Lite OCI Model 」や、OracleERPサービスの導入支援 「U-Way Oracle NetSuite 導入支援サービス」などもご提供しています。

OCIの活用にご興味のある方は、ぜひお気軽にお問い合わせください。

参考

l  OCI Secure Desktops ドキュメント

l  OCI Vault ドキュメント

l  Windows のサービス概要およびネットワーク ポート要件

l  OCI Secure Desktops: How to Prepare OSD Windows Image Which Can Join Windows AD

l  OCI Secure Desktops: How to Customize a Secure Desktop Image to Join Active Directory Domain

l  OCI Secure Desktops: How to Customize a Secure Desktop Image

l  OCI Secure Desktops: How to Use a Pre-Authenticated Request (PAR) to create a Secure Desktops pool using Windows

▶ お問い合わせフォームはこちら:

https://reg34.smp.ne.jp/regist/is?SMPFORM=ofte-lerand-a156f4b7d094ddf7db06c166e8de81dd

ページトップへ戻る