Slide 1

Slide 1 text

AWS SSOとGoogle Idpの おいしい関係 ~ QuickSightに楽してログインしたい ~ 生活協同組合コープさっぽろ デジタル推進本部 システム部 若松 剛志

Slide 2

Slide 2 text

Who am I ? 生活協同組合コープさっぽろ 
 デジタル推進本部 
 インフラチームリーダー 
 若松 剛志
 インフラエンジニア/マネージャー AWS Certified 12冠 SES会社→アイレット(cloudpack)→コープさっぽろ 秋田→新潟→東京→北海道 好きなサービス:Transit Gateway 好きな日本酒:喜久酔 @t_wkm2

Slide 3

Slide 3 text

@t_wkm2

Slide 4

Slide 4 text

あんまり QuickSight の話しません! (というかほぼAWS SSOの話)

Slide 5

Slide 5 text

ところで

Slide 6

Slide 6 text

さっきのセッションすごくないですか? (手前みそ感)

Slide 7

Slide 7 text

ユーザがユーザの体験を作る ● ユーザ企業の中のユーザが作る側に回るのは価値がある ● デジタルの民主化、DXの種がここにある ● そんなコープのDXが紹介されている コープさっぽろDX(note)はこちら↓

Slide 8

Slide 8 text

さて本題

Slide 9

Slide 9 text

SSO

Slide 10

Slide 10 text

Single Sign-On

Slide 11

Slide 11 text

Single Sign-On Wikipedia より シングルサインオン(英語:Single Sign-On、略称:SSO)は、一度 のユーザ認証処理によって独立した複数のソフトウェアシステム 上のリソースが利用可能になる特性である。 この特性によって、ユーザはシステムごとにユーザIDとパスワード の組を入力する必要がなくなる。

Slide 12

Slide 12 text

Single Sign-On Wikipedia より シングルサインオン(英語:Single Sign-On、略称:SSO)は、一度 のユーザ認証処理によって独立した複数のソフトウェアシステム 上のリソースが利用可能になる特性である。 この特性によって、ユーザはシステムごとにユーザIDとパスワード の組を入力する必要がなくなる。 つまり、1つのアカウント認証で いろんなサービス使えますよと

Slide 13

Slide 13 text

なぜBIツールにSSOが必要なのか

Slide 14

Slide 14 text

BI Wikipedia より ビジネスインテリジェンス(英: Business Intelligence、BI)は、経 営・会計・情報処理などの用語で、企業などの組織のデータを、収 集・蓄積・分析・報告することにより、経営上などの意思決定に役 立てる手法や技術のこと[1]。 経営判断上の過去・現在・未来予測などの視点を提供する。

Slide 15

Slide 15 text

BI Wikipedia より ビジネスインテリジェンス(英: Business Intelligence、BI)は、経 営・会計・情報処理などの用語で、企業などの組織のデータを、収 集・蓄積・分析・報告することにより、経営上などの意思決定に役 立てる手法や技術のこと[1]。 経営判断上の過去・現在・未来予測などの視点を提供する。 つまり、組織内のデータを分析して 経営判断に役立てる技術のこと

Slide 16

Slide 16 text

使ってもらってなんぼのBI

Slide 17

Slide 17 text

使ってもらってなんぼのBI ● 使いやすい見た目 ● ドリルダウンしやすいデータセット ユーザビリティ向上

Slide 18

Slide 18 text

使ってもらってなんぼのBI ● 簡単にアクセスできなければ、、 ● 使ってもらえないかもしれない ● ユーザの時間を奪ってしまうかもしれない アクセシビリティの 向上も同時に!

Slide 19

Slide 19 text

AWS Single Sign-On (SSO)

Slide 20

Slide 20 text

AWS Single Sign-On (SSO) AWSサービスの1つで、ユーザを一元管理し、AWSアカウントや各種SaaSへのアクセ スが可能 Client AWS SSO

Slide 21

Slide 21 text

AWS Single Sign-On (SSO) 連携対象の各種SaaSの中にはQuickSightも含まれている Client AWS SSO Amazon QuickSight

Slide 22

Slide 22 text

連携完了!

Slide 23

Slide 23 text

ん?

Slide 24

Slide 24 text

AWS SSOにアクセスするのに AWS SSOのユーザ使ったら 意味ないじゃん!

Slide 25

Slide 25 text

本当にやりたいことは、、 ● コープの職員はAWS SSOのユーザアカウントをいつも使って いるわけじゃないので嬉しくもなんともない ● むしろAWS SSOの画面に一回遷移する分手間が多くかかっ ている

Slide 26

Slide 26 text

本当にやりたいことは、、 ● コープの職員はAWS SSOのユーザアカウントをいつも使って いるわけじゃないので嬉しくもなんともない ● むしろAWS SSOの画面に一回遷移する分手間が多くかかっ ている コープ職員がいつも使っている ユーザアカウントは?

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Google Idp GoogleWorkspaceのアカウントを職員に割り振っているため、このアカウントを使いた い Client AWS SSO Amazon QuickSight Google Idp

Slide 29

Slide 29 text

Google Idp GoogleWorkspaceのアカウントを職員に割り振っているため、このアカウントを使いた い Client AWS SSO Amazon QuickSight Google Idp Google と AWS SSOのユーザを 同期する必要あり

Slide 30

Slide 30 text

SCIM

Slide 31

Slide 31 text

SCIM ● System for Cross-domain Identity Management ● サービスやシステム間でID情報を交換(コピー)する 標準規格 ● GoogleもAWS SSOもSCIMに対応している

Slide 32

Slide 32 text

なんかイケそう!

Slide 33

Slide 33 text

と思ったらダメだった

Slide 34

Slide 34 text

SCIM Google IdpはAWS SSOのSCIMに非対応 IDを持ってる側(Idp側)がIDを配られる側(サービス側)に対応している必要がある サービス側のSCIM APIを叩く必要があるため

Slide 35

Slide 35 text

awslabs/ssosync

Slide 36

Slide 36 text

awslabs/ssosync ● AWS謹製GoogleSCIMツール ● GitHubで公開されている (https://github.com/awslabs/ssosync) ● Lambdaを定期実行してGoogle↔AWS SSOのユーザ同期を 行う ● SAMテンプレートを含んでおり、簡単に展開可能

Slide 37

Slide 37 text

最終的な構成 ● 定期実行 ● ログイン Client AWS SSO Amazon QuickSight Google Idp AWS SSO Google Idp AWS Lambda IDをコピー IDを取得

Slide 38

Slide 38 text

awslabs/ssosync ● 連携するアカウントはGoogleグループで管理 ● 管理者(Admin)、作成者(Auther)、閲覧者(Reader)のグルー プを作成して、それぞれのユーザを配置 ● グループを指定して連携することでAWS SSOでもグループご とに QuickSightへのログイン権限(正確にはアカウント作成権 限)を付与

Slide 39

Slide 39 text

実際の画面

Slide 40

Slide 40 text

実際の画面

Slide 41

Slide 41 text

結果 ● 職員 ○ GoogleにログインしていればID/パスワードを打たずに QuickSightへログインできる ● 管理者 ○ ユーザ追加がGoogleのグループに追加するだけでよく なった(QuickSightの画面で整理しなくてもいい)

Slide 42

Slide 42 text

最高!

Slide 43

Slide 43 text

しかし課題も、、

Slide 44

Slide 44 text

今後の課題 ● 毎回の同期でLambdaが14分くらい動いている、、 ● 同期人数に起動時間が依存するらしく、これ以上人数が増え るといよいよヤバい ○ Lambdaの最大起動時間は15分 コンテナ or EC2への 移行を検討中

Slide 45

Slide 45 text

AWSさんへの要望 ● 正式にGoogle連携して! ● 初回ログイン時にメールアドレスを 入れたくない! ● なんならAWS SSOの画面無しで QuickSightに直接ログインしたい!

Slide 46

Slide 46 text

We are hiring !! コープさっぽろではエンジニアを募集しています!! 転職ついでに北海道移住最高ですよ!!