---
title: AWS SSO のしくみを AWS IAM Identity Center へ移行したはなし
tags: 
author: [Naoki Kobayashi](https://www.docswell.com/user/naotama)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/YE9WXQVWE3.jpg?width=480
description: 2024.04.09 Engineering Productivity Meetup #2 in 大阪 での発表資料 https://cybozu.connpass.com/event/311067/
published: April 09, 24
canonical: https://www.docswell.com/s/naotama/524DJ1-2024-04-09-aws-sso-migration
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/YE9WXQVWE3.jpg)

AWS SSO のしくみを
AWS IAM Identity Center へ
移⾏したはなし
サイボウズ株式会社 開発本部 ⽣産性向上チーム
⼩林 直樹 (@naotama)


# Page. 2

![Page Image](https://bcdn.docswell.com/page/GE8N2GPR7D.jpg)

⾃⼰紹介
▌ ⼩林 直樹 /
:: @naotama
▌ 職歴
n 〜2022年2⽉ メーカー系 / NTTD系 の受託会社
組込 → Windowsアプリ → Android → Webバックエンド/インフラ
n 2022年3⽉〜 サイボウズ株式会社
⽣産性向上チーム
▌ 普段
n 好き: 🏃 / 🚵 / ⚽コーチ / 庭いじり / 🏂 / ⛳
n 時間あれば Podcast 聴いている
▌ ⽣息地
n 京都府⽊津川市
▌ 最近のトピック
n 6ヶ⽉前にはじめた⾆下免疫治療が効いて快適な⽇々
n 2024年からはじめた 100km/⽉ 継続中
n フロントエンド⼊⾨中


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LELP2G127R.jpg)

はなすこと
▌背景
▌前 AWS SSO 環境
▌AWS SSO 環境 ( IAM Identity Center )
▌さいごに


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4JM48QW97W.jpg)

背景


# Page. 5

![Page Image](https://bcdn.docswell.com/page/PJRW58Y979.jpg)

背景
▌サイボウズでは kintone アプリで申請すれば AWS アカウントを利⽤開始できます
▌AWS アカウント利⽤は 社内 ID ( Azure Entra ID ) で シングルサインオン(以下
SSOと記載) して利⽤できます
▌AWS SSO のしくみを 「独⾃実装を含むものから AWS 公式の IAM Identity
Center に移⾏」 しました


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PEXPK8G37X.jpg)

前 AWS SSO 環境


# Page. 7

![Page Image](https://bcdn.docswell.com/page/3EKD5K4NJD.jpg)

前 AWS SSO 環境
▌AWS + Azure ADによるSingle Sign-Onと複数AWSアカウント切り替
えのしくみ作り
n サイボウズ五⼗嵐さんが書いたブログがあるのでみてください︕
n https://blog.cybozu.io/entry/2019/10/18/080000
▌AWS マルチアカウント管理
n サイボウズ五⼗嵐さんが発表資料があるのでみてください︕
n https://speakerdeck.com/hideki/odc2021-online
マルチアカウント管理の考え⽅や
AWS SSO を実現するための
しくみは、上記ブログ・発表資料
が詳しいので割愛


# Page. 8

![Page Image](https://bcdn.docswell.com/page/L73RKZLZJ5.jpg)

前 AWS SSO 環境 – 構成
ブラウザ利⽤
CLI 利⽤
assam (OSS) : https://github.com/cybozu/assam


# Page. 9

![Page Image](https://bcdn.docswell.com/page/87DY3RN47G.jpg)

AWS SSO 環境 ( IAM Identity Center )


# Page. 10

![Page Image](https://bcdn.docswell.com/page/VJP64W5VE8.jpg)

AWS IAM Identity Center へ変更するモチベーション
AWS SSO するなら
AWS 公式のしくみ(IAM
Identity Center)にしたい


# Page. 11

![Page Image](https://bcdn.docswell.com/page/2EV3X8PR7Q.jpg)

AWS SSO - IAM Identity Center
IAM Identity Center は AWS Organizations によって管理されている
AWS アカウントに SSO できるサービスです。IAM Identity Center のアク
セスポータルサイトが⽤意されており、ログインしたユーザーが利⽤可能な
AWS アカウント + 許可セット(権限)で SSO できます。 AWS CLI コマンド
による SSO ログインも可能です。


# Page. 12

![Page Image](https://bcdn.docswell.com/page/57G3V5P6JL.jpg)

AWS SSO – Organizations と IAM Identity Center
▌1つの AWS Organizations に 1つの IAM Identity Center です
▌デフォルトでは AWS Organizations のルートアカウントからのみ IAM
Identity Center が管理できます。追加で IAM Identity Center の管
理を AWS Organizations 配下のメンバーアカウントに委任することが可
能です
▌委任されたアカウントからはルートアカウントへの権限追加といった⼀部の操
作を除いて IAM Identity Center の管理を⾏えます


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4EQ56Z22JP.jpg)

AWS SSO – 許可セット
▌許可セットで権限を定義して
「誰が、どの AWS アカウント
に、どの許可セット(権限)で
アクセスするか」 を設定して利
⽤します
n 誰が = プリンシパル(ユーザ
or グループ) です


# Page. 14

![Page Image](https://bcdn.docswell.com/page/KJ4943LP71.jpg)

AWS SSO – 構成


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LE1K41LXJG.jpg)

AWS SSO – 構成 – 許可セット x アカウント x ユーザ割当 (1)
▌ GitHub Actions workflow でスケジュール実⾏し、許可セット x アカウント x ユーザ割当を 10分ごとに実⾏しています
▌ 割当プログラムから AWS を操作するために OIDC を利⽤して AWS 認証しています
▌ 割当プログラムは Go⾔語で実装しています(チームでは TypeScript or Go でツール実装することが多い)
n
許可セットの割当
n
許可セット x アカウント x ユーザの割当
の2つプログラムが実⾏されています
▌ ルートアカウント(IAM Identity Center マスターアカウント)の許可セット x アカウント x ユーザ割当は別のしくみで実施してい
ます


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GEWDX8VKJ2.jpg)

AWS SSO – 構成 – 許可セット x アカウント x ユーザ割当 (2-1)
▌ルートアカウントの許可セット x アカウント x
ユーザ割当管理は Terraform を利⽤してい
ます
n メンバーアカウント(委任アカウント含む)へは
AWSServiceRoleForSSO を通して割当操作が
⾏われるが、マスターアカウントの場合は、操作する
ユーザ(今回だと OIDC のロール)権限が利⽤され
るため、追加ポリシーが必要でした。このポリシーが強
い権限だったため、GitHub Actions 側に権限を
渡さない⽅針とし、Terraform での管理としました


# Page. 17

![Page Image](https://bcdn.docswell.com/page/47ZG684NE3.jpg)

AWS SSO – 構成 – Azure Entra ID 同期
▌Azure Entra ID から IAM Identity Center へユーザ・グループを同期して
います
n 同期範囲は 「全てのユーザ・グループ」 としています
n 新しい社員が増えて社内 ID が作成されれば AWS SSO 利⽤可能にな
ります
▌同期は40分間隔で⾃動的に実施されています


# Page. 18

![Page Image](https://bcdn.docswell.com/page/YJ6Y2P397V.jpg)

AWS SSO – ブラウザを利⽤して SSO
▌アクセスポータルへログインすると
利⽤可能な アカウント と 許可
セットが表⽰されます
n 利⽤したいアカウント、許可
セットを選択して SSO 可能
です
n セッション有効期限は12時間
で運⽤(1〜12時間設定可
能)しています


# Page. 19

![Page Image](https://bcdn.docswell.com/page/GJ5G2KLDJ4.jpg)

AWS SSO – CLI を利⽤して SSO
▌AWS CLI で SSO 利⽤可能です
n aws configure sso で必要項⽬を設定後 aws sso login で AWS
操作可能なクレデンシャルを取得できます
n リモートシェルのような GUI が使えずブラウザが利⽤不可な環境でも利⽤可能
です


# Page. 20

![Page Image](https://bcdn.docswell.com/page/LE3RKZDQ75.jpg)

AWS SSO – 改善したこと


# Page. 21

![Page Image](https://bcdn.docswell.com/page/8EDY3RPWEG.jpg)

さいごに


# Page. 22

![Page Image](https://bcdn.docswell.com/page/V7P64WNXJ8.jpg)

さいごに
▌AWS 公式 AWS SSO のしくみが構築できました
▌利⽤ユーザの申請から利⽤開始までの体験を前環境からほぼ踏襲できました
▌メンテナンスソフト(assam)を1つ減らすことができました(す)
(前 AWS SSO クローズ後)
▌コードを含めた細かい内容は説明しませんでしたのでブログにまとめたい(希望)


# Page. 23

![Page Image](https://bcdn.docswell.com/page/2JV3X8K3EQ.jpg)

Q&amp;A


