Managed Microsoft AD環境のWorkSpacesでWorkDocsをCLIから有効にする

2020.09.24

はじめに

こんにちは。大阪オフィスの林です。

AWS Directory Service に Microsoft AD を使用している場合 Amazon WorkDocs を有効化するための選択肢が表示されません。過去(2019年8月頃)はサポートに問い合わせ、個別に Amazon WorkDocs を有効化してもらうしかなかったそうです。当時の注意点として下記ブログでつづられています。

AWS マネジメントコンソールからは Amazon WorkDocs の有効化はできないという仕様は今(2020年9月23日時点)も変わらずですが、CLIからであれば有効化する方法がありましたので、今回はその手順をまとめておきたいと思います。

やってみた

手順

ざっくり手順は下記のとおりです。

  1. Managed Microsoft AD を作成する。
  2. Amazon WorkDocsのダッシュボードから、作成した Managed Microsoft AD を指定して有効化する。
  3. register-workspace-directoryコマンド(公式リファレンスはこちら)で作成したディレクトリを WorkSpaces に登録する。

1. Managed Microsoft AD を作成する。

こちらは特殊な手順はありません。ウィザードに従ってMicrosoft ADを作成します。

2. Amazon WorkDocsのダッシュボードから、作成した Managed Microsoft AD を指定して有効化する。

WorkDocs のダッシュボードに移動し、左のメニューから「My Sites」を選択します。

「新しいWorkDocsサイトの作成」を選択します。

「利用可能なディレクトリ」に作成したMicrosoft ADを指定し、ここでは「サイトURLの設定」にNetBIOS 名を入力し、「ディレクトリの有効化」を選択します。

管理者のユーザーに「admin」を入力し、「管理者の選択」を選択します。

WorkDocs のサイトが出来上がりました。

3. register-workspace-directoryコマンドで作成したディレクトリを WorkSpaces に登録する。

次に、AWS CLIから作成したディレクトリを WorkSpaces に登録していきます。とりあえずコマンドを実行してみましたがエラーとなりました。

$ aws workspaces register-workspace-directory --directory-id d-956718ed21 --enable-work-docs

An error occurred (WorkspacesDefaultRoleNotFoundException) when calling the RegisterWorkspaceDirectory operation: The role workspaces_DefaultRole is missing. For more information, see https://docs.aws.amazon.com/cli/latest/reference/workspaces/register-workspace-directory.html.

事前にIAMロールを作成しておく必要があるようです。 こちらに従って、workspaces_DefaultRoleという名前でロールを作成します。アタッチするポリシーは、AmazonWorkSpacesServiceAccessAmazonWorkSpacesSelfServiceAccessでいいようです。

続いて「信頼関係」タブから「信頼関係の編集」を選択し、下記のポリシードキュメントに書き換えます。

{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "workspaces.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

「信頼されたエンティティ」にworkspaces.amazonaws.comが指定されていることを確認します。

再びコマンドを実行してみます。戻り値は無いようですが、エラーは解消したように見えます。

$ aws workspaces register-workspace-directory --directory-id d-956718ed21 --enable-work-docs
$

WorkSpacesのダッシュボードからディレクトリの詳細を確認すると、WorkDocsの項目が有効になっていることが確認できます。

WorkDocsの管理画面からも確認してみる

まずはWorkSpacesを1台作っておきます。testuser2というユーザーを紐づけてWorkSpacesを作成しました。

WorkDocsの管理画面からユーザーを確認すると、「権限」で「WSユーザー」としてWorkSpacesに紐づけたユーザーが認識されています。

ここからはオプション的な操作ですが、WorkSpacesのユーザーは2USDの追加料金でストレージを1TBまで拡張することが出来ます。その拡張の操作をやっていきたいと思います。ユーザーの編集画面(鉛筆マーク)を選択し、「通常のユーザーへのアップグレード」を選択します。

ストレージの「制限」に「1024」と入力し、「変更の保存」を選択します。

ユーザーのストレージ使用量が「1TB」となっていることを確認します。

まとめ

過去、サポートに問い合わせ、個別に Amazon WorkDocs を有効化していたようですが、今はコマンド一発で有効化できるようになっていました!AWS マネジメントコンソールからも有効化の操作ができるようになるのは今後のアップデートに期待しておきたいと思います!

以上、大阪オフィスの林がお送りしました!