SlideShare a Scribd company logo
AWS SSO x オンプレADで
簡単IAMユーザ管理

オイシックス・ラ・大地(株)@morihaya55
Photo by Alexandr Podvalny on Unsplash: https://unsplash.com/photos/WOxddhzhC1w
July Tech Festa 2021 Track C3
2021-07-18
Oisix ra daichi inc.
Take Home Messages
● AWS SSOは安い
● IdPさえあればすぐ始められる
○ (私たちはオンプレADを選択)
● AWSネイティブな便利機能もあるよ
話さないこと
● SAML認証の詳しい仕様
● Microsoft Active Directory以外
のIdPについて
● AWS SSO自体の細かな設定
Agenda
● AWS SSO導入前の話
● ORDでのAWS SSO構成
● AWS SSOのここが良い
● 今後のAWS SSOへの期待
Agenda
● AWS SSO導入前の話
● ORDでのAWS SSO構成
● AWS SSOのここが良い
● 今後のAWS SSOへの期待
AWSのIAMのユーザ管理
大変じゃないですか?
私たちの場合は...
● Terraform管理 or 手作り
● 複数のアカウントはスイッチロール
TerraformでIAM管理
以下のようなディレクトリ構成
common/

├── 000_common

├── 010_iam

├── 011_iam_policy

├── 012_iam_role

├── 013_iam_group

├── 014_iam_user

...

TerraformでIAM管理
1ユーザにつき、1tfファイルで運用
014_iam_user

├── README.md

├── backend.tf

├── user_oisix_taro.tf

├── user_radish_ziro.tf

├── user_daichi_sabro.tf

...





AWSアカウントまたぎは
スイッチロール
github.com/tilfinltd/aws-extend-switch-roles
は素晴らしい
スイッチロールの良さ
● アカウント切り替えのためのステップは、AWS
SSOよりもスイッチロールの方が少ない
● ユーザ側で表示するアカウントを制御できる
● Organization を意識せずに利用できる
○ AWS SSOはOrganizationの内外で扱いが明
確に異なる
Terraformで管理できてる分
はまだ良いのですが...
100ユーザ超えてくると大変
さて、手作業分とTerraform管理を見極められるか
な?!
抱えていた課題
● 異動・退職ユーザの処理漏れによるセキュリティ
リスク
● 月初の入社などで都度作業が発生するのでToil
だよこれは
● 人数が増えてくると `terraform apply` も都度
時間がかかるように
何とかしたいなと思っていた
頃に発表されたのが、
2020-09-03の、
AWS SSOのTokyoリージョ
ンへのリリース!!
https://aws.amazon.com/jp/blogs/news/aws-single-sign-on-tokyo/
IdPとしてADが使える!
以下の状態だったので、お膳立てが整っていた!
● 会社のADは人事情報に紐づき、ユーザの入社・
異動・退職が専門部署によって厳しく管理されて
いる
● 部門はADグループとして作成され、ユーザはそ
れぞれのADグループに所属している
主要案件の傍ら、検証を始め
て導入を展開中
AWS Single Sign-On
Agenda
● AWS SSO導入前の話
● ORDでのAWS SSO構成
● AWS SSOのここが良い
● 今後のAWS SSOへの期待
構成図 - AWS SSO導入前後
AWS SSO導入前
AWS Organization の
Root アカウントは、
リソースを基本的に持たな
い管理用のアカウントでし
た。
AWS SSO導入前
AWS SSOの要件として
AWS Organization の
Root アカウントがIdPへア
クセスできる必要がありま
す。
AWS SSO導入-準備中
AWS Organization の
Root アカウントとADC(AD
Controler)のあるアカウン
トをVPC Peeringで接続
(DirectConはコストが..)
AWS SSO導入-準備完了
AWS SSO からAD
Connector 経由で、IdPで
あるADCへのアクセス経
路が整いました。
Agenda
● AWS SSO導入前の話
● ORDでのAWS SSO構成
● AWS SSOのここが良い
● 今後のAWS SSOへの期待
AWS SSOの良いところ
● MFAを簡単に導入できる
● AWS NativeなCLIやWeb Consoleへの連携
● 対応しているサービスはプリセットで簡単連携
MFAを簡単に導入できる
● FIDO2などの物理キー
● Google Authenticator,
Authy などのアプリ
ORDではアプリを採用
AWS NativeなCLIやWeb
Consoleへの連携
アクセス件を持ったアカウントのManagement
Consoleと、CLI用のCredentialへシュッとアクセスで
きる
AWS NativeなCLIやWeb
Consoleへの連携
特にCLI用のCredential
が生成された画面は、 初
見で感動しました。
AWS NativeなCLIやWeb
Consoleへの連携
各AWSへのアカウントとグループに対し、
“Permission sets” と呼ばれる仕組みで、従来の
IAMポリシーを利用した権限を、IdPのグループ単位
に柔軟に適用できる。
AWS NativeなCLIやWeb
Consoleへの連携
“Permission sets” と AD
グループの紐付け例
対応しているサービスはプリセット
で簡単連携
余談: Azure ADも検討した
● グループ単位の認証だと P2 (有料)以上が必要
● O365向けに、全社員(1,000人以上)のIDが連携
済みで、有料プランにするとコストが跳ね上がる
● ちょっとわかりづらいライセンス体系
などを理由に見送りました...
Agenda
● AWS SSO導入前の話
● ORDでのAWS SSO構成
● AWS SSOのここが良い
● 今後のAWS SSOへの期待
今後のAWS SSOへの期待
● ADのネステッドなグループへの対応
● ADのカスタム情報の連携
● Amazon Cognito との連携
● アプリアイコンの自由な変更
ADのネステッドなグループへの対
応
“Permission sets” と AD
グループを紐づけるが、AD
グループにユーザが直接所
属していればOK
ADのネステッドなグループへの対
応
ADグループに、ADグルー
プが所属している場合、現
状はユーザは権限を持たな
い扱いとなる
ADのネステッドなグループへの対
応
XXX本部の様に親グルー
プへ丸ごと権限を与えたく
ても、現状ではユーザが直
接所属するADグループを
登録しないといけない...
ADのカスタム情報の連携
今はサポートされた主要な属性(Attributes)しか認
証情報として利用できないため、
グループ情報を持たせた属性をSaaS側へ送って
RBACを行うなどの細かな制御ができない...
https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html#supporteddir
ectoryattributes
Amazon Cognito との連携
Amazon Cognito で認証を実装済みのアプリケーショ
ンへ、AWS SSO からログインできればかなり嬉し
い。
ポータルに表示できると一覧性も高まる。
Amazon Cognito との連携
ただしFAQsで明確にできないとされています...
Q: Can I use my Amazon Cognito User Pools as
the identity source in AWS SSO?
A: it is not a supported identity source in AWS
SSO.
https://aws.amazon.com/single-sign-on/faqs/
アプリアイコンの自由な変更
Custom Application として登録すると現在は以下に
なる。サポートからも多くの要望がすでにあるとの回答
が来たので、期待しています...!
● AWS SSOは安い
● IdPさえあればすぐ始められる
○ (私たちはオンプレADを選択)
● AWSネイティブな便利機能もあるよ
まとめ
ご静聴感謝!! m( _ _ )m

More Related Content

PPTX
Jaws ug aws-#30@anakagawa.pptx
PDF
おひとりさまAWS Organizationsのススメ
PDF
Organizations周りの機能
PDF
20130622 JAWS-UG大阪 AWSの共有責任モデル〜クラウドってセキュリティ大丈夫なの?と聞かれたら〜
PDF
いまさら聞けないAWSクラウド - Java Festa 2013
PDF
JAWS DAYS 2017 [AWSワークショップ] AWS初心者いらっしゃい
PDF
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
PDF
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと
Jaws ug aws-#30@anakagawa.pptx
おひとりさまAWS Organizationsのススメ
Organizations周りの機能
20130622 JAWS-UG大阪 AWSの共有責任モデル〜クラウドってセキュリティ大丈夫なの?と聞かれたら〜
いまさら聞けないAWSクラウド - Java Festa 2013
JAWS DAYS 2017 [AWSワークショップ] AWS初心者いらっしゃい
AWS概要からサインアップまで! 〜アカウント開設 & 仮想サーバを立ててみる〜
AWS導入から3年 AWSマルチアカウント管理で変わらなかったこと変えていったこと

What's hot (20)

PDF
aws kms poiints
PPTX
IDaaSを用いた複数AWSアカウントの​ログインで良かったこと困ったこと​
PDF
aws-Organizations-aroud
PDF
AWSにおけるセキュリティの考え方
PDF
AWS市場動向と求められる人材、その育成方法について
PDF
Sophos UTM 9のAutoscalingを試してみた
PDF
15分でわかるAWSクラウドで オンプレ以上のセキュリティを実現できる理由
PDF
jaws aws-nuke
PPTX
組織利用におけるMFA管理方法を考える OpsJAWS Meetup#8
PPTX
AWS WAF のマネージドルールって結局どれを選べばいいの?
PDF
Jaws controltower
PDF
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
PDF
AWS+WordPress-Jawsfesta2015
PPTX
セキュリティの基本とAWSでのセキュリティ対策をフルコースで味あう
PPTX
20211111 Security-JAWS Introduction
PDF
2014 jaws days-最強のawsに_rtc宮崎
PDF
IDaaS を正しく活用するための認証基盤設計
PPTX
Amazon Inspectorについて
PDF
AWSの最新動向と事例から知る クラウド利用の進化と真価
PDF
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
aws kms poiints
IDaaSを用いた複数AWSアカウントの​ログインで良かったこと困ったこと​
aws-Organizations-aroud
AWSにおけるセキュリティの考え方
AWS市場動向と求められる人材、その育成方法について
Sophos UTM 9のAutoscalingを試してみた
15分でわかるAWSクラウドで オンプレ以上のセキュリティを実現できる理由
jaws aws-nuke
組織利用におけるMFA管理方法を考える OpsJAWS Meetup#8
AWS WAF のマネージドルールって結局どれを選べばいいの?
Jaws controltower
[AWS初心者向けWebinar] AWSを活用したモバイルアプリの開発と運用
AWS+WordPress-Jawsfesta2015
セキュリティの基本とAWSでのセキュリティ対策をフルコースで味あう
20211111 Security-JAWS Introduction
2014 jaws days-最強のawsに_rtc宮崎
IDaaS を正しく活用するための認証基盤設計
Amazon Inspectorについて
AWSの最新動向と事例から知る クラウド利用の進化と真価
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
Ad

More from Yukiya Hayashi (20)

PDF
I have a problem when operating AWS with multiple accounts
PDF
My misstake on Ansible’s lineinfile module
PDF
AWS Cognito makes old web apps available from anywhere
PDF
アドベントカレンダー から学ぶOCIの空気感
PDF
オンボーディングを楽しむ
PDF
事前アンケート集計 Terraform meetup tokyo#2
PDF
I want the power of onboarding!
PDF
How did you start learning Azure
PDF
My feelings of going to the first conference overseas
PDF
Let's split text by awk command
PDF
What i feel when began use AWS CodePipeline as GitLab Ci user
PDF
How to get rid of terraform plan diffs
PDF
Task and Time monitoring with Backlog and Toggl
PDF
Oiradaichi's Akamai Journey
PDF
What does the monitoring tool use at oisix ra daichi?
PDF
We love backlog ! in reCap event.
PDF
What we expect of neo4j
PDF
Backlog World 2019 LT - We love backlog !
PDF
20190116 neo4jug-lt
PDF
Introduce that Best practices for writing Dockerfiles
I have a problem when operating AWS with multiple accounts
My misstake on Ansible’s lineinfile module
AWS Cognito makes old web apps available from anywhere
アドベントカレンダー から学ぶOCIの空気感
オンボーディングを楽しむ
事前アンケート集計 Terraform meetup tokyo#2
I want the power of onboarding!
How did you start learning Azure
My feelings of going to the first conference overseas
Let's split text by awk command
What i feel when began use AWS CodePipeline as GitLab Ci user
How to get rid of terraform plan diffs
Task and Time monitoring with Backlog and Toggl
Oiradaichi's Akamai Journey
What does the monitoring tool use at oisix ra daichi?
We love backlog ! in reCap event.
What we expect of neo4j
Backlog World 2019 LT - We love backlog !
20190116 neo4jug-lt
Introduce that Best practices for writing Dockerfiles
Ad

AWS SSO x On-Prem AD Easy IAM user management on Jtf2021