@shinyaz

Identity Center のホームリージョンは sso-admin list-instances を各リージョンで叩いて特定する

約1分

EKS の ArgoCD Capability を作成するとき、idcRegion に EKS クラスターと同じ ap-northeast-1 を指定したら AccessDeniedException が返ってきた。

Failed to perform sso:DescribeInstance on the given idcInstanceArn.
Either the caller does not have permissions to the Identity Center instance,
or the instance is not available in the specified idcRegion

Identity Center はコンソール上グローバルに見えるが、実体は特定のリージョンにデプロイされている。Organizations 環境では管理アカウント側で有効化したリージョンがホームリージョンになる。

特定方法は sso-admin list-instances を各リージョンで実行して、None でなく ARN が返るリージョンを探すだけだ。

for region in us-east-1 us-west-2 ap-northeast-1; do
  result=$(aws sso-admin list-instances --region $region \
    --query 'Instances[0].InstanceArn' --output text 2>&1)
  echo "$region: $result"
done

自分の環境では us-east-1 だった。EKS クラスターのリージョンと Identity Center のリージョンは完全に独立しているので、Identity Center 連携する AWS サービスでは毎回この確認が必要になる。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのブログで発信しています。