VMware Cloud on AWS と Simple AD を連携しコストを抑えてユーザー権限管理を行う

# はじめに

VMware Cloud on AWS におけるユーザーの権限管理を AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) と連携させて管理を行うという方法については sanjushi003 さんにて既に連携方法が公開されております。（sanjushi003 さん、いつも参考にしてます！）

https://qiita.com/sanjushi003/items/5bdc992c2e2c833c9d3b

今回 AWS Managed Microsoft AD ではなく、Simple AD と連携してユーザー権限管理を行う事ができないか？とご質問を頂いたので、実際の検証結果を含めてまとめてみます。

# 目次
1. [vmc.localドメインにはユーザーの追加ができない](#vmclocalドメインにはユーザーの追加ができない)
1. [Simple ADとは？](#simple-adとは)
1. [全体アーキテクチャ概要](#全体アーキテクチャ概要)
1. [Simple AD設定およびvCenter連携](#simple-ad設定およびvcenter連携)
1. [権限管理を行なってみる](#権限管理を行なってみる)
1. [権限を付与したユーザーでログインしてみる](#権限を付与したユーザーでログインしてみる)
1. [まとめ](#まとめ)
1. [参考文献](#参考文献)
1. [関連記事](#関連記事)

# vmc.localドメインにはユーザーの追加ができない
VMware Cloud on AWS では、vmc.local ドメインのユーザーとして、cloudadmin のみを提供します。

以下のスクリーンショットは、「[VMware KB: [VMC on AWS] cloudadmin@vmc.local 以外のユーザーが追加できない](https://kb.vmware.com/s/article/82395?lang=ja)」からの抜粋ですが、このスクリーンショットの通り、vmc.local ドメインには追加のユーザーが作成できません。

![image.png](https://kb.vmware.com/servlet/rtaImage?eid=ka05G000001Eyir&feoid=00Nf400000Tyi4k&refid=0EM5G0000058DUe)

つまり、アクセス権を付与して細かい権限管理をするには LDAP ドメインを SDDC の vCenter Server の ID ソースとして追加する必要があります。

# Simple ADとは？
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/855ee8c0-1e78-18c0-dff3-ca94287fcf05.png" width="250" />

Simple AD は、AWS Directory Service のオプションのうちの１つで AWS マネジメントコンソールや API を介して簡単にセットアップすることができます。

以下 AWS の[ドキュメントページ](https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/what_is.html)からの抜粋です: 
> Simple AD は、AWS Directory Service が提供する Microsoft Active Directory 互換のディレクトリであり、Samba 4 を使用します。Simple AD は、ユーザーアカウント、グループメンバーシップ、Linux ドメインまたは Windows ベースの EC2 インスタンスの結合、Kerberos ベースの SSO、グループポリシーなどの、基本的な Active Directory の機能をサポートしています。
> Simple AD はクラウド内のスタンドアロンなディレクトリです。ユーザー ID の作成や管理、アプリケーションへのアクセスの管理を行います。基本的な Active Directory の機能が必要な、多くの使い慣れた Active Directory 対応のアプリケーションやツールを使用できます。

Simple ADでは「スモール」と「ラージ」のサイズが選択でき、AWS Managed Microsoft AD に比べて低コストで利用できることがメリットと言えます。
本稿執筆時点では、Simple AD は 東京リージョンで スモールサイズを利用した場合、1時間あたり 0.08 USD です。（最新の情報は[料金ページ](https://aws.amazon.com/jp/directoryservice/other-directories-pricing/)を参照下さい）

この Simple AD を ID ソースとして利用できるか今回検証してみました。

# 全体アーキテクチャ概要

今回は一番シンプルな方法として、Elastic Network Interface (ENI) 経由で接続する Connected VPC 内に Simple AD をデプロイして接続をします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/629c0837-d257-2301-b830-9fdeb4fc61f5.png)


尚、ENI 経由での接続の詳細については、以下の記事を参照下さい。

https://qiita.com/mtoyoda/items/99c9b5af4392fdc3c170


# Simple AD設定およびvCenter連携

Connected VPC 内で以下の通り Simple AD を構成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/182a470f-9545-9adb-af31-cad53b9771d6.png)

test.localドメイン内にstudent001とstudent002というユーザーを作成しています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/83779833-b2c5-dcee-974a-b243f615c757.png" width="500" />

Single Sign-On の設定を追加するには [メニュー（三本線）] - [管理] から [Signle Sign-On] - [設定] をクリックし、[ID ソース] タブから [追加] ボタンをクリックします。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/62014a8f-faaa-4933-edd8-9ad84d4e4f2e.png width="200" />
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/b5050674-c02a-19b2-3d03-17eca017d41f.png)

以下のように設定をします。ID ソース タイプは "LDAP を介した Active Directory" を使用します。
プライマリ サーバ URL と セカンダリ サーバ URL は Simple AD の DNS アドレスを使って `ldap://Simple ADのDNSアドレス` の形式で入力します。後続の権限設定のためには一度ログアウトが必要でした。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/5b27233d-0b77-5e0c-d93e-4e2aaba21b85.png width="600" />


# 権限管理を行なってみる

今回は、student001 というユーザーに対して以下の操作を許可したく権限付与をしてみました。
- コンテンツライブラリを使用して仮想マシンのデプロイをさせたい
- 特定のフォルダ、リソースプール、論理ネットワーク、データストアのみ表示・利用させる

今回は以下のように権限を付与してみました。（もっと権限を絞った形で付与できるかと思いますが、、、）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/d1a637e9-c9a0-0e72-39a0-b62ecdf98838.png)

※ 上記の図は [VMware Docs](https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-03B36057-B38C-479C-BD78-341CD83A0584.html) から引用しております。

こんな形で設定しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/756635c0-54f1-049d-44a7-64074795f28e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/d2bd4427-f7d8-a1d3-c1eb-263099c2322c.png)


# 権限を付与したユーザーでログインしてみる

権限を付与した student001 を使って vSphere Client でログインをしてみます。
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/e4226723-0db7-14b4-aa09-79c12ad25601.png width="600" />

問題なくログインができました。Mgmt-ResourcePoolが見えないように制御できてます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/d4cbc2c2-988e-59f8-38eb-3b119eacb5fd.png)

コンテンツライブラリから Linux VM を作成しパワーオンまで実施できたので、意図したように権限の付与ができました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/e71c5e59-0b72-19aa-cd5c-d795c5299bd0.png)


# まとめ

Simple AD を使って AWS Managed AD と同様に VMware Cloud on AWS の SDDC 環境の権限管理ができます。
コストを抑えて権限管理をしたい場合、Simple AD の利用も検討できるかと思います。

# 参考文献

- [AWS Directory Service](https://aws.amazon.com/jp/directoryservice/)
- [VMware Docs: SDDC LDAP ドメインへの ID ソースの追加](https://docs.vmware.com/jp/VMware-Cloud-on-AWS/services/com.vmware.vsphere.vmc-aws-manage-data-center-vms.doc/GUID-D3547C4A-64CF-4DFE-844E-400622EAF1E5.html)

# 関連記事

https://qiita.com/mtoyoda/items/99c9b5af4392fdc3c170

https://qiita.com/mtoyoda/items/3240d21e1a7f09e5ab71