見出し画像

S3でアカウント駆動型ユーザー登録を行う

Jamf Proのアカウント駆動型ユーザー登録、便利ですがホスティングするためのサーバーを設置するのがちょっと大変ですね。
通常は会社ドメインのサーバーが既にあるケースが多いと思うんですが、テスト用のサブドメインで検証する際にAWSのサービスでこの辺りをクリアしたのでまとめておこうと思います。

ちなみに私はAWSをほとんど触ったことがありません。

用意するもの

管理対象Apple ID以外はAWSのサービスで完結しています。

  • 管理対象Apple ID(今回テスト用ドメインなので@test.example.comとします)

  • AWS Certificate Manager

  • AWS S3

  • AWS CloudFront

  • AWS Route 53

全体の流れ

静的ホストをAWS CloudFrontを経由することで安全に配信出来るようにしています。

作成の詳細についてはAWSのドキュメントを見てください。

AWS Certificate Manager

まずはACMでCloudFrontで使用するパブリック証明書をリクエストします。

CloudFrontで使用する証明書はバージニア北部に作成を指定されているので注意してください。(日本のリージョンで作成しても使えません)

サブドメインは汎用性を確保するため"*"でリクエストします

AWS S3

S3バケットを生成し、ファイルを所定のフォルダに格納(アップロード)します。

ファイルは130バイト前後になると思いますが、大きく乖離している場合は文字コードが間違っていたりプレーンテキストじゃない場合があるので注意が必要です。

AWS CloudFront

CloudFrontでディストリビューションを生成し、GET HTTPSのみ受け取ってS3バケットに流すように設定します。

これはS3バケットに直接アクセスできる状況はS3の設定にミスがあったときに、即座にS3の内容が上書きをされたり削除をされたりというリスクがあるため、それを回避するために行っています。
(弊社セキュリティチーム感謝!)

ビヘイビアにS3をHTTPSのみ、キャッシュなしで設定します

アクセスポリシーとかは会社ごとに用意していると思うので準拠してください。

AWS Route 53

最後にRoute 53でサブドメインとディストリビューションを紐づけて作業は完了です。

Curlで疎通を確認し、200が返ってきていたらアカウント駆動型ユーザー登録の環境は完成です。
管理対象Apple IDをABMで手動なりフェデレーションなりで作成しましょうー。

その他

既にサーバーはあるものの、迂闊に触れなかったりそもそもプライベート設定だったりで公開できない場合は、CloudFrontで特定のフォルダだけ曲げてやるのも可能だと思います。(未検証)

費用については他の構築物もあるのでなんとも言えませんが、まぁ許容範囲に収まっているのではないでしょうか。

いいなと思ったら応援しよう!