Temporary elevated access management (TEAM) for AWS IAM Identity Center をアンインストールする
いわさです。
最近、Temporary elevated access management (TEAM) for AWS IAM Identity Center を使っていまして、前回はこのソリューションでどういったものがデプロイされるのか調べてみました。
全体を構成を把握することが出来たので、本日はアンインストールを行ってみました。
ドキュメントのアンインストール手順は以下となっています。
前述のデプロイされるリソースなどを把握した上で、このアンインストール手順が何を行っているのか把握してみたので紹介します。
deploy.sh の内容を把握する
ドキュメントの手順ではdeploy.shを実行しましょうとなっています。
そもそもこのdeploy.shは何をしてくれるのでしょうか。見てみましょう。
やってることは非常にシンプルで以下を行っています。
parameters.shを参照- Amplify の
TEAM-IDC-APPというアプリのスタック名を取得 - 上記 Amplify スタックを CloudFormation 上から削除
TEAM-IDC-APPというスタックを CloudFormation 上から削除- パラメータ上に
SECRET_NAMEが存在していれば CodeCommit リポジトリも削除
なので、destroy.shを使わずに手動で CloudFormation スタックを削除するでも良いですね。
また、上記ではinit.shで実施した内容(主に委任管理者まわり)は無効化されません。必要に応じて委任管理者の解除は手動で行う必要があります。
ただドキュメントによると、委任管理者設定の削除によって TEAM 以外の環境に影響が出るのを防ぐために削除をしないとされています。なるほど、たしかに。
またこのスクリプトではparameters.shで設定した以下のパラメータが参照されていますので、もしリポジトリ一式をローカルから削除してしまったとしても上記パラメータだけparameters.shに再設定してdestroy.shを実行すればアンインストールは可能そうです。
TEAM_ACCOUNTREGIONSECRET_NAME(任意)
削除する
では実際にスクリプトを実行して削除の様子を観察してみましょう。
スクリプトの実行自体は以下のようにすぐ完了しました。
% cd deployment/
% ./destroy.sh
{
"repositoryId": "83e56fd3-18fd-4a8d-93cf-d83f813670d2"
}
TEAM デプロイ先アカウントの CloudFormation スタック一覧を眺めてみると、次々と削除されていっていることが確認できます。

最終的にはあるスタックが原因で Amplify スタックの削除に失敗しました。

今回は原因となった子スタックを手動で削除しました。

手動削除で問題が起きなかったので、最後に親スタックも削除しましょう。

あとは、Amplify 上でデプロイされている S3 バケットはデフォルトで削除スキップされているので、手動で空にしてからバケット削除をします。

また、IAM Identity Center のカスタムアプリケーションも削除する必要がありますのでこちらも必要に応じて削除します。

カスタムアプリケーションはユーザー割当中は削除できないので、事前に割当解除もしておく必要があります。

これで完了です。
さいごに
本日は Temporary elevated access management (TEAM) for AWS IAM Identity Center をアンインストールする機会があったなので、削除の挙動を把握・確認しながら削除してみました。
destroy.shに任せても良いのですが、一部追加で手動の削除が必要な場合もあるので忘れないようにしましょう。
また、ローカルリポジトリがない場合もparameters.shの一部を手動設定すればdestory.shは動作するので試してみてください。






