WindowsのWorkSpacesクライアントでデバイス認証

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術4課の城です。
WorkSpacesの接続元を制限する方法の一つとして、Windows、Macのクライアントについては、デバイス認証が用意されています。
Windows端末にて作業を実施する際に必要なことについて、記載します。

やること

AWSドキュメントを参考に下記を実施します。

  • ルート証明書、クライアント証明書の用意
  • ルート証明書のインポート(AWSマネジメントコンソール)
  • クライアント証明書のインポート(ローカル端末)

環境

OpenSSLはStoreでインストールしたUbuntu 16.04のOpenSSLを利用します。

事前確認

ubuntuを起動し、opensslがインストール済みであることを確認します。

【結果例】

※インストールされていない場合はインストールします。

作業用ディレクトリの作成

コンフィグの変更

自己認証局の作成

シリアルとインデックスファイルの作成

自己認証局(CA)の秘密鍵(cakey.pem)、証明書(cacert.pem)の作成

クライアント証明書の作成

秘密鍵(client.key)の作成

署名要求(CSR)の作成

CSRへの署名に利用するコンフィグの作成

CSRへの署名

標準だと証明書の期限が1年なので、延長したい場合は -daysオプションや openssl.cnfの設定変更で対応します。

インストール用クライアント証明書(client.p12)の作成

ルート証明書のインポート(AWSマネジメントコンソール)

WorkSpacesのダッシュボードにて[Directory]をクリックします。
対象のDirectory Serviceを選択し、[アクション] > [詳細の更新]とクリックします。

[アクセス制御のオプション]を展開します。

「信頼された Winodws デバイスのみに WorkSpaces へのアクセスを許可」にチェックし、[インポート]をクリックします。

cacert.pemの内容を貼り付け、[インポート]をクリックします。

[更新と終了]をクリックします。

アクセス確認(拒否されること)

アクセス確認をします。
クライアント証明書をインストールしていないため、アクセスできません。

クライアント証明書のインポート(ローカル端末)

作成したclient.p12をローカル端末にて実行します。

証明書のインポートウィザードが開きますので、そのまま[次へ]をクリックします。

インポートする証明書ファイルについても、そのまま[次へ]をクリックします。

秘密キーの保護についても、そのまま[次へ]をクリックします。

証明書ストアは「信頼されたルート証明機関」を選択し、次へをクリックします。

自己認証局なので、セキュリティ警告が出ます。[はい]をクリックします。

[完了]をクリックします。

アクセス確認

WorkSpacesクライアントを起動し、アクセスします。

アクセスできました!!

終わりに

今さらながらではありますが、デバイス認証の手順についてまとめてみました。
どなたかの助けになれば、幸いです。

AWS運用自動化サービス「Cloud Automator」