Microsoft Entra ID から自動プロビジョニングしている AWS IAM Identity Center の SCIM アクセストークンをローテーションする
Microsoft Entra ID から AWS IAM Identity Center へユーザー情報を自動プロビジョニングしている環境において、SCIM のアクセストークンをローテーションしてみました。自動プロビジョニングで利用されている SCIM のアクセストークンの有効期限は 1 年のため、定期的にローテーションする必要があります。
アクセストークンのローテーションイメージ図です。IAM Identity Center では 2 個のアクセストークンを作成できるため、新しいアクセストークンを Entra ID に反映後に、古いアクセストークンを削除する手順を採用できます。
なお、アクセストークンの有効期限が近づいてくると AWS IAM Identity Center の設定画面に次の情報が表示されるようになります。
SCIM ベアラートークン「xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx」は xx 日後の 20xx/xx/xx に有効期限が切れます。アクセストークンをローテーションしてください。詳細はこちら
アクセストークンをローテーション
AWS IAM Identity Center において自動プロビジョニングに利用している SCIM アクセストークンのローテーション方法は次のユーザーガイドに記載があります。
自動プロビジョニング - AWS IAM Identity Center
本ブログでは、Microsoft Entra ID と自動プロビジョニングしている環境において、ローテーションを試してみます。
次の手順で進めます。
- AWS IAM Identity Center で新しいアクセストークンを作成
- Microsoft Etnra ID で新しいアクセストークンに切り替え
- AWS IAM Identity Center で古いアクセストークンを削除
AWS IAM Identity Center で新しいアクセストークンを作成
AWS IAM Identity Center の「設定」メニューから「アクション」→「プロビジョニングの管理」を選択することで、アクセストークンの管理画面に移動できます。
「トークンを生成」から新しいアクセストークンを作成します。
アクセストークン作成後は作成日を確認できるため、この情報からどちらのアクセストークンが古いか判別できます。今回はテスト目的の環境なので、新しいアクセストークンと古いアクセストークンの作成日時の差は 1 日です。
Microsoft Etnra ID で新しいアクセストークンに切り替え
Microsoft Entra ID において AWS IAM Identity Center に対応するエンタープライズアプリケーションの設定から更新します。
エンタープライズアプリケーションの「プロビジョニング」設定に移動します。
さらに「プロビジョニング」設定を選択し、「管理者資格情報」の「シークレットトークン」に AWS 側で発行した新しいアクセストークンを入力します。その後「テスト接続」で確認します。
テスト接続に問題がなければ「保存」を実行します。私は「保存」を忘れそうになることがあります。要注意です。
以上でアクセストークンの更新は完了です。
アクセストークン更新後に、ユーザーの更新などを実行し、プロビジョニングログの状態が「Success」となることや AWS 側に同期できていることを確認しておくとより確実かと思いました。
AWS IAM Identity Center で古いアクセストークンを削除
この手順は任意となると思いますが、今回は AWS IAM Identity Center 側で古いアクセストークンを削除します。
手順は単純です。新規作成時と同じく、「設定」メニューから「アクション」→「プロビジョニングの管理」から管理画面に移動して、古いアクセストークンを選択して「削除」を実行します。この際に、作成日時を確認することでどちらが古いアクセストークンか判別することができます。アクセストークンは作成日時ではなくアクセストークン ID でソートされていると思われます。そのため、古いアクセストークンが上に表示されているとは限らない点に注意が必要です。
削除後は表示されているアクセストークンが 1 個になります。
以上で、古いアクセストークンの削除も完了です。
さいごに
Microsoft Entra ID から AWS IAM Identity Center へユーザー情報を自動プロビジョニングしている環境において、SCIM のアクセストークンをローテーションしてみました。定期的に実行するように計画する必要があります。Microsoft Entra ID にはプロビジョニングに失敗した際にメール通知する設定もあるので、その利用も検討したほうがよさそうです。
また、Microsoft Entra ID 側でも証明書の更新作業が定期的に必要となるため、こちらも忘れないように実施するようにしたいところです。下記ブログは、Azure AD と AWS Single Sign-On 時代のブログですが、やることは大きく変わっていないと思います。
以上、このブログがどなたかのご参考になれば幸いです。