3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWS】AWS SSOで複数の私用AWSアカウントへのサインインが超簡単になった話

Posted at

#はじめに
Organizationsの組織で、「管理アカウントで〇〇して、メンバーアカウントで△△して~」ということを毎回ログインしなおしたり、別ブラウザでログインしたりしてました。
「AWS SSOを使って悩みを解決できそう」ということを知りました。
実際に試してみたので、やったことや私見等、雑に書き残しておきます。

何か気になる部分や不明な点があればコメントください!

#AWS SSOって?
AWSアカウントやその他クラウドアプリケーション(SAML2.0対応)へのサインインを一元的に行えるサービス。
追加費用はかからない。(!?)
既存のIdPと連携してSSOすることも可能。
AWS SSO自身がIdPとしての機能を果たすことも可能。
外部IdPとの連携をせず、AWS SSOだけで完結させれば、SSOするにあたっての費用は1円もかからない。

#やったこと
「スクリーンショットとかは一旦いいわ」という人のために「どんなことをやったのか」「できたのか」だけ先にまとめておきます。
##前提事項
・筆者の私用AWSアカウントで、Organizationsを利用して複数アカウントを作成していた。
・持っているのは管理アカウント、メンバーアカウントA、メンバーアカウントB の3つ。
 →いちいちそれぞれにログインするのめんどくさい!と思っていた。

##やったこと
・AWS SSOを設定して、全てのAWSアカウントにひとつの認証ユーザーでログインできるようにした。
・せっかく認証ユーザーを絞れたので、認証にMFAを設定しセキュリティを固めた。

#実施手順
やった流れを確認していきます。

まず管理アカウントのOrganizationsから設定画面を確認
最初はSSOアクセスが最初無効化されている。
image.png
image.png

SSOのコンソールから有効化を行います。もちろんOrganizationsのコンソールから有効化しても大丈夫です。
image.png

「正常に有効化されました」の表示を確認。
順番に設定をしていきます。
とりあえず1→2→3の手順で対応していけば何とかなると思います。
今回はAWSアカウントへのSSOが目的なので、3は触れません。
image.png

設定画面。ほぼデフォルト問題ないと思います。
ユーザーポータルURL→これがSSOの入り口になります。後続の手順のためエディタ等にメモしておきます。(コンソールからいつでも確認はできますが)
SSO 統合アプリケーション→「メンバーアカウントで有効化」になってますね。
MFAの設定だけはしたいので、「多要素認証」の設定を選択します。
image.png

「サインイン時にMFAデバイスを登録するよう要求する」を選択します。
image.png

次にユーザー作成します。
このユーザーが、複数AWSアカウントやその他アプリケーションへサインインするための認証ユーザーになります。
image.png

諸々設定します。設定者自身がこの後ログインする予定ですし、「ユーザーと共有することができる一時的なパスワードを生成します。」でいきます。
個人利用ですし、オプション部分は今回記入しません。
ユーザー作成時に表示されるパスワードは忘れずにメモしておきます。
image.png

必須ではないですがグループ作成します。
IAMユーザーとIAMグループの関係と同じで、グループにポリシーを与えて権限管理するのが望ましいでしょうね。
image.png

先ほど控えておいたユーザーポータルURLにアクセスします。
今回作成したユーザー名と、先ほどメモしたパスワードを入力します。
その後、任意のパスワードに変更します。
せっかく認証情報がひとつになるのですから、使いまわしでない強固なパスワードを設定しましょう。
image.png

MFAデバイスの登録が求められます。
以下参考記事の「3.」以降の手順を見れば雰囲気でわかるはず。
MFAアプリはなんでもよいですが自分は「Google Authenticator」を使いました。
https://hacknote.jp/archives/44956/
image.png

ログインはできますが、SSO先の設定をしていないので「SSOを許可されたアプリないですよ」的な表示がされます。
image.png

実際にAWSアカウントやアプリにSSOするためには、[2][3]の設定をする必要があります。
繰り返しになりますが、今回はAWSアカウントへのSSOがしたいので[2]を選択します。
image.png

とりあえず全部の組織を選択します。
image.png

アクセス権限セットを作成します。
SSO許可先のAWSアカウントで、どんな権限で操作を許可するか設定します。
認証認可でいう「認可」にあたりますかね。
image.png

ここからはガイドにそっていけば大丈夫だと思います。
「職務機能ポリシー」というものをAWSの方で用意してくれているようです。
カスタムは今必要ないので、こちらにします。
image.png

組織内での役割毎にポリシーがたくさん。とても便利ですね。
私は私のアカウントにおける管理者なので、「AdministratorAccess」にします。
image.png

設定内容を確認して、作成します。
image.png

ユーザーポータルのURLに再度接続します。
image.png

MFAに対応してログインすると、以下の画面が表示されます。
任意のアカウントを選択し「Management Console」を選択すると、そのアカウントのマネジメントコンソールにアクセスできました!
image.png

image.png

手順は以上です!

#料金
SSO使うにあたり、追加の料金かからないみたいです。
引用:AWS SSO は追加料金なしで利用できます。 参考:https://aws.amazon.com/jp/single-sign-on/faqs/

JAWS初心者支部のLT大会?で情シスの方が「SSO便利すぎて使わない意味が分からない」的なことを言っていたけど、今は本当にそんな気持ち。
参考:https://speakerdeck.com/sumi/zu-zhi-gaawswoshi-ishi-merutokinikao-etai-akauntotoyuzafalseguan-li
AWSとしては「EC2とかその他コンピューティング系サービスで稼ぐので大丈夫です。」という感じなのでしょうか?

#感想
率直にめちゃくちゃ便利だなと感じました。
正直、あまりマニュアルとか参照せずに「あれかなこれかな」と進めていってうまくいったので、「簡単に設定できます」と言い切ってよいと思います。
最低限IdPとSSOの関係性みたいな部分を理解できているとよいのかなという感じ。
ソリューションアーキテクトプロフェッショナルの勉強をする過程で、そのあたりの知識が多少なりともついていたのもよかったのかも。

#今後確認したいこと
・アプリケーション認証の統合
・複数アカウント接続するにしても、アカウントごとに権限を変更することは可能か?

#余談:ユーザーログインのセキュリティ強化(MFA)について
「今までMFAつけてなかったの?」という指摘もあるかもしれませんが、おっしゃる通り未設定でした。
ただ実際のところ、私用AWSアカウントの管理者ユーザーにMFA設定してる人は多くないのではないでしょうか。。
自分の身を守るためにも、強力な権限を持つIAMユーザーにはMFAをつけるべきだと思います。
ただ、ログイン先が増えて認証情報の量が増えていくほどに、以下の状態になっていくと思います。
①色んなことの試行スピードが遅くなる
②別の部分のセキュリティがゆるくなる(パスワードを全部共通かつ簡単なものにする 等)
だからこそ、SSOを使って「サインインの入り口は一つにし、その入り口のセキュリティを強化する」ことが重要ではないでしょうか。

#参考
AWS Single Sign-On Documentation
https://docs.aws.amazon.com/singlesignon/index.html

Single sign-on access
https://docs.aws.amazon.com/singlesignon/latest/userguide/useraccess.html

AWS Single Sign-On のよくある質問
https://aws.amazon.com/jp/single-sign-on/faqs/

組織がAWSを使い始めるときに考えたい、アカウントとユーザーの管理
https://speakerdeck.com/sumi/zu-zhi-gaawswoshi-ishi-merutokinikao-etai-akauntotoyuzafalseguan-li

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?