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

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 AccessでOpenID Connect連携

Workspace ONE Accessはその名の通りSaaSなどへのアクセス管理をすることができる製品ですが、Identity Providerの役割を果たすことも可能で、以下のフェデレーションプロトコルに対応しています。  -WS-Federation  -SAML  -OpenID Connect WS-FederationはOffice365と連携する際などに利用したりするヤツですね。 個人的な感覚では、クラウドサービスはSAML認証に対応しているものが多いのでWorkspace ONE Accessと認証連携する場合、SAMLを利用するケースが一番多い気がします。 また、設定ガイド( SAML ベース SSO 統合のドキュメント センター )なんかも公開されており、連携のハードルは比較的低いと思います。 一方で、OpenID Connectの利用に関してはかなり情報が少ない気がしてます... ただ、OpenID Connectも認証連携の仕組みとしては代表的なものの一つではありますので、今回はOpenID Connectを使用してWorkspace ONE Accessと認証連携をしてみたいと思います。(連携先のサービスにはRedmineを使用します。) まずはWorkspace ONE Accessの管理コンソールでの作業です。 カタログ>Webアプリケーション とクリックして、Workspace ONE Accessのアプリカタログに載せるWebアプリの一覧を開き、「 新規 」をクリックします。 「 名前 」に入力した値はそのままユーザーのアプリカタログに表示されるので、わかりやすい名称にします。入力したら次に進みます。 【補足】 いくつかのサービスは連携用のテンプレートがあり、「 またはカタログから参照 」をクリックすることで利用が可能です。今回使用するRedmineについても、SAML連携であればテンプレートがあるので比較的カンタンに設定できると思います。 まずは、「認証タイプ」で「 OpenID 接続 」を選びます。(おそらくOpenID Connectが訳されているのでしょうが、何か違うような...) すると、OpenID Connect連携用の設定項目が現れるので、各設定を入れていきます。 「 クライアントID 」と「 クライアント シークレ

Workspace ONE AccessからServiceNowにシングルサインオン(SAML)

以前、Workspace ONEと他システム間で、 OpenID Connect で連携する内容をポストしましたが、今回は SAML を利用したシングルサインオンの構成を検証してみました。 ServiceNow と SAML連携 して、WS1のポータルからシングルサインオンする構成を試してみます。 大枠の流れとしては以下の通りです。      1.ServiceNow(SP)のSAML認証設定          1.1. WS1 AccessからSAML連携に必要な情報を取得           1.2.SAML認証設定      2.WS1 Access(IDP)でSAML認証設定      3.動作確認 1.ServiceNow側(SP)でSAML認証設定 まずは、今回の構成ではSP(Service Provider)となるServiceNow側でSAMLによるシングルサインオンを可能とするように構成します。 1.1.WS1 Accessから S AML連携に必要な情報を取得 まずは、WS1 AccessのIDPメタデータのURLを取得します。 [カタログ]>[Webアプリケーション]をクリック後、[設定]をクリックします。 左ペインから[SAMLメタデータ]をクリック後、IDPメタデータの[URLをコピー]をクリックします。 クリップボードにコピーされるので、テキストエディタにでも貼り付けておきます。 次に、WS1 AccessのIDP署名証明書を取得します。 左ペインから、[SAMLメタデータ]をクリック後、署名証明書の[ダウンロード]をクリックします。 こんなファイルがダウンロードされます。 1.2.SAML認証設定 続いて、ServiceNow側のSAML認証設定を行います。 ServiceNowの管理コンソールにログインし、検索バーに[saml]と入力後、[SAML2 Single Sign-On]配下の[Certificate]をクリックします。 後で、使用するため先ほどダウンロードした、[signingCertificate.cer]をテキストエディタで開いておきます。 証明書の一覧画面で、[New]をクリックします。 Nameに[SAML 2.0]と入力して下にスクロールします。 PEM Certificateに先ほどテキストエディタで開い