
JAWS DAYS 2025で登壇した内容です。
資料
プロダクトの開発効率を高めながらセキュリティ要件を満たすことは、現代のソフトウェア開発における重要な課題です。
今回は、弊社でAWSのTemporary Elevated Access Management (TEAM) を導入した経験をもとに、どのように一時的な権限昇格の仕組みを活用し、日々の開発プロセスを最適化しつつ、セキュリティリスクを最小化し、最高のエンジニアチームを実現したかをご紹介します。
TEAMによる統制
TEAMはTemporary Elevated Access Managementの略称です。
AWSから公開されたソリューションで、AWSアカウントへのアクセスを管理するための承認ベースのワークフローを実現できます。
IAM Identity Centerのアクセスポータルから利用するアプリケーションとして提供されるため、IAM Identity Centerが必須になります。
以下がTEAMのワークフローです。

① IAM Identity Centerの アクセスポータルにアクセス
② TEAMアプリケーションにアクセス
③ リクエスト申請
④ リクエスト承認
⑤ Step Functionで許可セット追加
⑥ 承認された権限でスイッチロール
⑦ CloudTrailでロギング
⑧ Step Functionで許可セット削除
⑨ ログの閲覧
TEAMの設計と導入
Jumpアカウント戦略を採用している場合、IAM Identity Centerに変更する必要があります。
SSOにするためにIdPが必要ですが、ここではMicrosoft Entra IDを採用しています。

以下のような流れで移行すれば良いでしょう。
① 各アカウントのロールとポリシーを整理して、許可セットを作成します
② Jumpアカウントのグループとポリシーを整理して、グループをEntra IDに登録します
③ 割り当てを作成します(CloudFormationでテンプレートを作成しておくと管理が楽です)
次に、ペルソナの割り当てや承認フローのルールを設計します。
TEAMには申請者、承認者、監査人、管理者の4つのペルソナが存在するので、各役割を適切なユーザに割り当てるようにします。
また、何を申請させ、誰に許可させるのかといった承認ルールも設定します。

完成したら、小規模なチームでテスト運用し、徐々に適応範囲を拡大していくと良いです。

既存の仕組みと並行運用し、業務への影響を最小限にしましょう。
また、フィードバックを元に設定や運用を適宜見直しましょう。
TEAMの導入効果
利用者目線では、各アカウントのスイッチロールが簡単になり、申請の当選が短く、シンプルで分かりやすいUIになりました。
管理者目線では、IAMの管理から解放され、ペルソナの割り当てや申請ルールなどの設定管理が簡単になりました。
TEAMを通して、利用者と管理者のチームワークとセキュリティの意識が向上しました。
まとめ
TEAMを使うことで、手軽に一時的な権限昇格の仕組みを作ることができました。
UXが高く、管理工数も低いのがポイントです。
TEAMの導入でTeamの生産性とセキュリティ・コンプライアンスが向上しました。
非常に有用なツールなので、ぜひ活用してみてください。