セットアップ済みの Temporary elevated access management (TEAM) for AWS IAM Identity Center をバージョンアップする

セットアップ済みの Temporary elevated access management (TEAM) for AWS IAM Identity Center をバージョンアップする

2026.01.07

いわさです。

最近、Temporary elevated access management for AWS IAM Identity Center(TEAM for IdC) を使っています。
以下のリリースノートを見てみるとマイナーバージョンやパッチバージョンの更新で定期的に不具合の修正がリリースされることがあります。

https://github.com/aws-samples/iam-identity-center-team/releases

パッチバージョンを適用する機会があったので、v1.4.0 から v1.4.1 に環境をバージョンアップしました。
今回はバージョンアップの仕組みを理解し、既存リソースに影響があるのかどうかを検証しながら、手順を確認してみたので紹介します。

バージョンアップ手順を確認してみた

TEAM for IdC のバージョンアップですが、アップデートスクリプトが用意されてそれを実行するだけで簡単に更新することが出来るようになっています。便利。
ドキュメント上のバージョンアップ手順は以下のとおりです。

https://aws-samples.github.io/iam-identity-center-team/docs/deployment/update.html

やることはスクリプトを実行するだけなのですが、どういった仕組みで更新されるのかちゃんと把握しておきたいです。ポリシーや IdC のカスタムアプリケーションの再設定が必要になるとかどういった影響が出るのかわからないからです。
ということでまずスクリプトを眺めてみます。

https://github.com/aws-samples/iam-identity-center-team/blob/main/deployment/update.sh

なるほどね。アンインストールなどの時と同じように、前提としてparameters.shにパラメータを設定済みである必要があります。、
また、インストール時のdeploy.shスクリプトと似ている内容になっていて、CodeCommit に Amplify 用のコードをプッシュし、CloudFormation スタックをTEAM-IDC-APPを更新していますね。
CodeCommit に最新バージョンのアプリケーションコードがプッシュされることで Amplify のデプロイが実行されるので、Cognito の再統合とかユーザーやポリシーの再作成などは不要そうですね。

コードは GitHub リポジトリ上から最新のmainブランチを CodeCommit リポジトリに反映しています。
もしアップグレード先を最新ではなくて特定バージョンにしたい場合はスクリプトの修正が必要ですね。

実際にバージョンアップしてみた(v1.4.0 → v1.4.1)

ということで実際にバージョンアップしてみます。
今回は事前に本日時点の最新バージョンよりひとつ前の v1.4.0 を用意しています。

AC0111C2-A738-4E6B-A9F0-FCA96F5C9AFD.png

もしこれから旧バージョンを用意したい、という方は次の手順で試してみてください。

https://dev.classmethod.jp/articles/team-install-oldversion/

スクリプトを実行します。

% cd deployment/
% git status
On branch main
nothing to commit, working tree clean
% ./update.sh
+ . ./parameters.sh
++ IDC_LOGIN_URL=https://d-906622902c.awsapps.com/start
++ REGION=us-east-1
++ TEAM_ACCOUNT=123456789012
++ ORG_MASTER_PROFILE=hogeadmin
++ TEAM_ACCOUNT_PROFILE=team
++ TEAM_ADMIN_GROUP=teamadmin
++ TEAM_AUDITOR_GROUP=teamauditor
++ TAGS='project=iam-identity-center-team environment=prod'
++ CLOUDTRAIL_AUDIT_LOGS=arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/3e2a8224-76f5-47ce-99c6-ec63d04cca70
+ '[' -z 123456789012 ']'
+ export AWS_PROFILE=team
+ AWS_PROFILE=team
+ '[' -z '' ']'
+ git remote remove origin
+ git remote add origin codecommit::us-east-1://team-idc-app
+ git remote add team https://github.com/aws-samples/iam-identity-center-team.git
+ git pull team main
From https://github.com/aws-samples/iam-identity-center-team
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> team/main
Updating 542bf83..40d6826
Fast-forward
 README.md                                          |   5 +-
 .../stepfunctions-cloudformation-template.json     |  12 +-
 .../team06dbb7fcPreTokenGeneration/Pipfile         |   2 +-
 ...PreTokenGeneration-cloudformation-template.json |   2 +-
 .../function/teamNotifications/Pipfile.lock        |   9 +-
 .../function/teamNotifications/src/index.py        | 106 ++--
 amplify/backend/function/teamRouter/Pipfile.lock   |   9 +-
 .../lib/python/Pipfile.lock                        |   7 +-
 docs/Gemfile.lock                                  |   2 +-
 package-lock.json                                  | 622 ++++++++-------------
 src/components/Navigation/Header.js                |   4 +-
 11 files changed, 324 insertions(+), 456 deletions(-)
+ [[ ! -z project=iam-identity-center-team environment=prod ]]
+ [[ ! -z '' ]]
+ aws cloudformation deploy --region us-east-1 --template-file template.yml --stack-name TEAM-IDC-APP --parameter-overrides Login=https://d-906622902c.awsapps.com/start CloudTrailAuditLogs=arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/3e2a8224-76f5-47ce-99c6-ec63d04cca70 teamAdminGroup=teamadmin teamAuditGroup=teamauditor 'tags=project=iam-identity-center-team environment=prod' teamAccount=123456789012 --tags project=iam-identity-center-team environment=prod --no-fail-on-empty-changeset --capabilities CAPABILITY_NAMED_IAM

Waiting for changeset to be created..

No changes to deploy. Stack TEAM-IDC-APP is up to date
+ git push origin main
Enumerating objects: 190, done.
Counting objects: 100% (172/172), done.
Delta compression using up to 10 threads
Compressing objects: 100% (83/83), done.
Writing objects: 100% (138/138), 60.32 KiB | 6.70 MiB/s, done.
Total 138 (delta 86), reused 105 (delta 54), pack-reused 0
remote: Validating objects: 100%
To codecommit::us-east-1://team-idc-app
   542bf83..40d6826  main -> main
+ git remote remove team

Amplify を眺めてみると、デプロイが開始されました。ちょっと時間がかかりますので待ちましょう。

0D7966FF-F939-45A9-8C52-5EE67A24330C.png

その間に CodeCommit リポジトリを確認し、次のように v1.4.1 のソースコードが使われていることを確認しました。

B613D913-85EE-4747-B816-A56B03A42CC7.png

数分待つと Amplify のデプロイが完了しました。
また、CloudFormation スタックも更新されています。

DynamoDB を確認してみるとテーブルの再作成はされていないのでデータに関しても保持されていそうですね。良かった。

7859F846-E19E-4706-B843-4EE4FAC6D558.png

また、IAM Identity Center で手動で SAML 2.0 のカスタムアプリケーションを作成済みでしたが、こちらはこのまま次のように何も触らずにログイン出来るか試してみましょう。

FE65168C-53A8-4D05-BDE0-73A8D97B4FCE.png

v1.4.0 の時に作成したユーザーでログインすることが出来ました。
Cognito ユーザープールに関しても影響なしで使い続けることが出来ていますね。

B4CF1302-3FF0-417E-87EE-BD91F660498F.png

さいごに

本日は、セットアップ済みの Temporary elevated access management (TEAM) for AWS IAM Identity Center をバージョンアップしてみました。

結論として TEAM for IdC のバージョンスクリプトを使うことで簡単に最新バージョンへのバージョンアップが可能で、かつ既存のデータやユーザーには影響なくバージョンアップ後も使い続けることが出来ることが確認出来ました。
バージョンアップを控えていて、影響点などを気にしていた方の参考になれば幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事