スキップしてメイン コンテンツに移動

UAGをAWS環境にデプロイ


Workspace ONE UEMで提供されている様々なゲートウェイ機能が集約されているUnified Access Gateway(UAG)ですが、仮想アプライアンスとして以下の仮想基盤向けに、環境ごとに個別の仮想マシンイメージが提供されています。
  • VMware vSphere
  • Microsoft Hype-V
  • Microsoft Azure
  • Amazon Web Services(AWS)

vSphere環境デプロイ用のマシンイメージは昔から提供されていましたが、去年あたり、バージョンで言うとUAG 3.5からAzureやAWSといったクラウド環境へのデプロイもサポートされるようになりました。


最近割とクラウド環境へデプロイすることも増えてきたり、今後もおそらく増えていくだろうなという感じはするのですが、当然ながらvSphere環境へのデプロイとはかなり勝手が違うので、改めてAWSへのデプロイを検証してみます。


まずは、デプロイする作業用マシンとしてWindows 10を用意し、Powershellで以下のコマンド実行してPowerShellモジュールをインストールしておきます。
>Install-Module -Name AWSPowerShell -Force
>Install-Package 7Zip4PowerShell


次に、以下のコマンドを実行して、UAGのOVAファイルを解凍しておきます。
>expand-7zip  C:\uag\euc-unified-access-gateway-3.9.1.0-15851887_OVF10.ova C:\uag\


「VMware {code}」 というサイトで、AWSへ仮想マシンイメージをインポートするためのありがたいスクリプトが公開されていたので、これを使うことにします。


まずは、AMIインポートスクリプト実行時のオプションの値をかき集めます。

オプション

説明

-accessKey

AWS管理者アカウントのアクセスキー

-secretKey

AWS管理者アカウントのシークレットキー

-vmdkImage

作業用マシン上のUAGVMDKファイルのフルパス

-bucketName

UAGVMDKファイルをアップロードするAWS上のバケット名

-region

UAGAMIをインポートするリージョン



情報が集め終わったら、AMIインポートスクリプトを実行します。
>C:\uag\ImportUAGasAMI\ImportUAGasAMI.ps1 -accessKey <アクセスキー> -secretKey <シークレットキー> -vmdkImage <UAGのVMDKファイルのフルパス> -bucketName <S3のバケット名> -region <リージョン名> 


スクリプトの実行が正常に完了すると、AMI IDが出力されますので、控えておきます。
画像の例で言うと、「ami-0c5ec718c4512ea13」ですね。


最終的にはインポートしたAMIからUAGをデプロイするスクリプトを実行することになるのですが、次はデプロイスクリプトの構成ファイルを準備する必要があります。デプロイスクリプトと構成ファイルはUAGの仮想マシンイメージとともに提供されてます。

AWS環境デプロイ用の構成ファイルは「uag11-ec2.ini」というファイルなのですが、この中にUAGのインスタンス名など諸々のパラメータを入力して保存しておきます。
■構成ファイルの例:
----------------------
[General]
name=UAGonAWS391
deploymentOption=onenic
sshEnabled=true

[AmazonEC2]
# authentication
credentialProfileName=awsCredentialProfile
# type, region and image
instanceType=c4.large
region=ap-northeast-1
amiId=ami-0c5ec7xxxx
# eth0 settings
subnetId0=subnet-dd61erxxxx
securityGroupId0=sg-028831xxxx
publicIPId0=eipalloc-07af4exxxx
----------------------
【補足】
[General]セクションの「sshEnabled=true」は必須属性ではなく、指定しない場合はfalse(つまりSSHはオフ)になりますが、トラブルシュートや動作確認時に必要になるため、trueにしておきました。


次に、作業用PCでPowerShellを起動して以下のコマンドを実行します。
>Set-AWSCredential -AccessKey <アクセスキー> -SecretKey <シークレットキー> -StoreAs awsCredentialProfile
【補足】
StoreAsの「awsCredentialProfile」の値はiniファイルの中に記載している値のため決め打ちです。


続けて、以下のコマンドを実行します。
>C:\uag\uagdeploy\uagdeployec2.ps1 C:\uag\uagdeploy\uag11-ec2.ini <仮想マシンのrootパスワード> <UAGのWeb GUIログイン時のadminパスワード> no
【補足】
最後の「no」は「CEIPに参加しない」という意味で「no」です。


以下は実行例ですが、デプロイに成功するとオレンジ枠内のように成功を示すメッセージとインスタンスIDが出力されます。


コマンドの実行が完了後、AWS管理コンソールでも見てみると、構成ファイル内で指定した名前でUAGのインスタンスが作成されていることが確認できます。



UAGのWeb GUIにアクセスすると、vSphere環境にデプロイした場合と全く同じコンソールが表示されますので、ログインして各エッジサービスを設定します。ちなみに、ログイン後の画面もvSphere環境のものと全く同じです。


自社のオンプレ仮想基盤をAWSやAzureといったクラウドに移行している企業も多いかと思いますが、そんな場合でもUAGをデプロイして社内システムへのセキュアなアクセスを実現することができそうです。



コメント

このブログの人気の投稿

Workspace ONE Accessに証明書認証でログイン

Workspace ONE AccessではSaaSなどのサービスへのアクセス管理ができますが、クライアント証明書認証の機能も備わっています。 ここでは、Workspace ONE UEMから配信した証明書を使用して、Workspace ONE Accessに証明書認証でログインする、ということをやってみます。 まずは、Workspace ONE UEMコンソールでの作業です。 すべての設定>システム>エンタープライズ統合>Workspace ONE Access>構成 へ移動し、「 エクスポート 」をクリックしてAirWatch認証局のルート証明書をエクスポートします。 次に、Windows向けにWorkspace ONE Access認証用証明書プロファイルを作成してデバイスに対して配信します。 SCEPペイロードを選択し、「 資格情報ソース 」は「 AirWatch認証局 」を選択します。証明書テンプレートは「 証明書(クラウド展開) 」です。 【補足】 上記のプロファイルで配信した証明書は 秘密キーのエクスポートができない ようになっているため、使い回しを防ぐことができます。つまり、私用のデバイスにインポートし直してログインしてしまおう...ということはできない仕組みになっているワケですね。 次はWorkspace ONE Accessの管理コンソールでの作業です。 IDとアクセス管理>管理>認証方法をクリックし、「 証明書(クラウドデプロイ) 」の設定を変更します。(UEMのプロファイルで選択した証明書テンプレートと同じ名前ですね。若干の誤差はありますが...) 始めに、「 証明書アダプタを有効にする 」にチェックを入れ、「 ルートおよび中間CA証明書 」のところには先ほどWorkspace ONE UEMからエクスポートした証明書をアップロードし、「 証明書の失効を有効にする 」にもチェックを入れておきます。 【補足】 公的認証局であっても、ここでルート証明書をアップロードしない限り証明書認証はできないので、今回の例では Workspace ONE UEM内部の認証局から発行されている証明書以外では認証できない 構成にすることができます。 少し下にスクロールして「 OCSPの失効を有効にする 」にチェックを入れ、「 OCSPレスポンダの署名証明書 」には...

自分のデバイスは自分で管理

Workspace ONE UENにはセルフサービスポータル(SSP)という機能があります。 名前の通りセルフサービスで自身に紐付いているデバイスに対して色々できるポータルで、デバイスのステータスを確認したり、位置情報を確認してみたり、コマンドを実行したりと様々なことができます。 色々できるとなると、逆に誤操作などでデバイスワイプを実行してしまい意図せず初期化してしまったりするのではないか...という懸念が出てきますが、WS1 UEMのセルフサービスポータルではユーザーが実施可能な操作をカスタマイズできます。 例えば、あくまで情報参照用とするためにデバイス情報の表示の権限だけ与えておいたり、紛失したときの対策のために加入解除操作はできるようにしておく、など運用要件によりカスタマイズして利用できるというワケです。 ここでは、加入解除のみを実行できるようにカスタマイズしたSSPにログインし、ユーザー目線で実際に自分のデバイスを加入解除する、ということをやってみます。 実際にありそうなシーンと言えば、あまり考えたくありませんが、夜中に会社支給のデバイスの紛失に気付いてしまったときとかですかね... まずは、Workspace ONE UEMのSSPにログインします。 WebブラウザでWorkspace ONE UEMコンソールのURLの末尾にmydeviceを付けてEnterキーを押します。「https://cnXXX.awmdm.com/mydevice」みたいな感じです。 アクセス後は、ログイン方法などを選択後次ヘ進み、ユーザー名パスワードを入力してログインします。 今回は事前に権限を極限まで絞っているため「 企業情報ワイプ 」のみ表示されていますので、これをクリックします。 【補足】 画像に映っている通り、自分に紐付くデバイスが複数存在する場合もすべてSSPから管理できます。 すると、対象のデバイスで加入解除が実行され、企業データが削除されます。 ちなみに、上記の動作確認ではSSPの権限をかなり限定して企業情報ワイプしかできないようにしてますが、特に権限を限定しなければ「 企業情報ワイプ 」以外にも「 デバイスの位置情報を確認 」など様々なオプションが実行できますし、「 詳細に進む 」をクリックすると... デバイスの順守状態や適切にプロファイルが適用されているか、...

Workspace ONE UEMでWindowsデバイスのログ収集

WS1 UEM管理下のWindowsデバイスのトラブルシューティング時などに有用なログ収集の方法を紹介します。 また、実際のトラブルシュート時の小技なども紹介したいと思います。 大まかな流れは以下の通りです。      1.WS1 UEM管理コンソールからリモートでログ取得     2 .取得したログの確認     3 .小技 1.WS1 UEM管理コンソールからリモートでログ取得 ログ収集を行う際、管理者目線で言うと、可能であればユーザー側の操作なしにリモートでかつサイレントで収集できることが望ましいと思います。 WS1 UEMではリモートでログ収集を行う機能が備わっているため、その機能を利用します。 WebブラウザでWorkspace ONE UEMの管理コンソールにログインし、ログ取得対象のデバイス詳細画面で[その他のアクション]>[デバイスログを要求]をクリックします。 [デバイスログを要求]画面で、[HUB]を選択した状態で[保存]をクリックします。 同じ手順を繰り返し、次は[システム]を選択した状態で[保存]をクリックします。 【補足】 [HUB]の方は文字通りIntelligent Hubのログの収集で、[システム]の方はOSレベルのログを一部収集することができます。 2.取得したログの確認 次に実際に取得されたログを確認してみます。 先ほどログ取得を実行したデバイスの詳細画面で[その他]>[添付ファイル]をクリックします。 [ファイル]タブをクリックすると収集されたログの一覧が表示されます。 ファイル名の接頭辞部分(Hub_とかSystem_の部分)は、ログ取得実行時に選択した種別に対応したものになります。 [spanned]という文字列が含まれているファイルはサイズの関係で複数のファイルに分割された状態になっているログです。 ファイル名のリンクをクリックするとダウンロードができます。 【補足】 ファイル分割はされないような機能改善がどこかのバージョンで実施されたため今後は不要かもしれません。分割されていても次の手順で対応が可能です。 [spanned]が名前に含まれるファイルはそのままだと中身を見ることができないため一手間必要になります。 まずは、末尾にzXXを含むファ...