0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IAM Identity Center の組織インスタンスがワンクリックでマルチリージョン化できるようになりました

0
Posted at

はじめに

IAM Identity Center は組織全体の SSO 基盤なので、そのインスタンスがある 1 リージョンに障害が起きると、権限が正しく設定されていても AWS アカウントへサインインできなくなる、という単一障害点を抱えています。

これまでもマルチリージョン化自体は可能でしたが、カスタマー管理 KMS キーの作成やリージョンの追加を個別に手動でやる必要があり、意外と腰の重い作業でした。

今回のアップデートで、新規に組織インスタンスを作成するときに、マルチリージョン構成をワンクリックで選べるようになりました。

この記事では、3 つの設定オプションの違いと、既存の組織インスタンスが今どういう構成になっているかを CLI で確認する手順をまとめます。

忙しい人のための要約

  • 組織インスタンス作成時に Single-Region / Multi-Region / Custom の 3 択が選べるようになった
  • Multi-Region を選ぶと、レプリケーション対応のカスタマー管理 KMS キーが自動作成され、追加リージョンへのレプリケーションまで一気に完了する(従来は個別の手動ステップだった)
  • 対象は 組織インスタンスのみ(アカウントインスタンスは非対応)で、リージョンは デフォルトで有効な商用リージョン(オプトインリージョンは非対応)
  • Active Directory を ID ソースにしている場合はマルチリージョン非対応。外部 IdP を使う場合は複数 ACS URL 対応が必要
  • 既存の組織インスタンスも add-region で後からマルチリージョン化できる

アップデート概要

コンソールでデフォルト有効リージョンにて組織インスタンスを新規作成すると、Instance configuration として次の3つから選べます。

オプション 暗号化キー 追加リージョン
Single-Region instance AWS 所有キー(後で CMK に変更可) なし
Multi-Region instance マルチリージョン CMK を自動作成 1 つ自動設定
Custom instance AWS 所有キー / 新規 CMK / 既存 CMK から選択 個別に指定

Multi-Region と Custom(新規 CMK 作成時)を選ぶと、CreatedBy: IAM Identity Center タグの付いたマルチリージョン KMS キーが自動生成され、指定した追加リージョンへレプリケートされます。

これを手動でやろうとすると、
KMS キー作成 → タグ付け → レプリカキー作成 → IAM Identity Center へのリージョン追加、
という順番を自分で踏む必要があったので、地味に楽になったポイントかと思います。

何がうれしいのか

一番の恩恵は、プライマリリージョンで障害が起きても、事前に払い出し済みの権限であれば AWS アカウントへのアクセスを継続できる点です。
ワークフォースのアイデンティティ・権限セット・ユーザー/グループの割り当て・セッションなどがプライマリから追加リージョンへ自動でレプリケートされるため、フェイルオーバー的な使い方ができます。

もうひとつが、AWS マネージドアプリケーションのデプロイリージョンを選べる点です。
データレジデンシー要件やユーザーとの地理的な近さを踏まえて、アプリごとに都合の良いリージョンへデプロイし、そのリージョンにレプリケートされたアイデンティティをローカルに参照させられます。

既存インスタンスの構成を確認する

自分の組織インスタンスが今どういう構成なのか、CLI(aws sso-admin)で確認してみます。

今回は既存の本番インスタンスなので、実際にリージョンを追加する変更は行わず、読み取り専用の API だけを使います。

現状のインスタンス構成を確認する

aws sso-admin list-instances --output json
{
    "Instances": [
        {
            "InstanceArn": "arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx",
            "IdentityStoreId": "d-xxxxxxxxxx",
            "Status": "ACTIVE",
            "PrimaryRegion": "ap-northeast-1",
            "Regions": [
                {
                    "RegionName": "ap-northeast-1",
                    "Status": "ACTIVE",
                    "IsPrimaryRegion": true
                }
            ]
        }
    ]
}

Regions が東京リージョン 1 件だけなので、Single-Region 構成のままだとわかります。describe-instance も見ておきます。

aws sso-admin describe-instance --instance-arn arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx
{
    "InstanceArn": "arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx",
    "IdentityStoreId": "d-xxxxxxxxxx",
    "Status": "ACTIVE",
    "PermissionSetsEnabled": true
}

describe-instance のレスポンスには本来 EncryptionConfigurationDetails.KeyType(AWS_OWNED_KMS_KEY / CUSTOMER_MANAGED_KEY)という暗号化キー種別を直接返すフィールドがありますが、今回の出力には乗ってこなかったため、ここでは断定を避けておきます。

マルチリージョン化する場合のコマンド

このインスタンスを後からマルチリージョン化したい場合は add-region を使います。

実行すると非同期でレプリケーションが始まり、list-regions のステータスが ADDING → ACTIVE と変化します。

aws sso-admin add-region \
  --instance-arn arn:aws:sso:::instance/ssoins-xxxxxxxxxxxxxxxx \
  --region-name us-west-2

このコマンドを実行する IAM プリンシパルには、IAM Identity Center 有効化に必要な権限に加えて kms:CreateKey / kms:TagResource / kms:ReplicateKey が要ります。
マルチリージョン CMK の作成とレプリカキーの作成がこのコマンドの中で走るためです。

なお、新規作成時のワンクリック体験そのもの(Instance configuration の 3 択)はコンソール限定の機能で、かつ 1 つの AWS Organizations には組織インスタンスを 1 つしか持てないため、既存インスタンスがある今回のアカウントでは新規作成フローを再現できません。
新規に組織を立ち上げる場合は、IAM Identity Center コンソールを開いたときに表示される Instance configuration の中から Multi-Region instance を選ぶだけで、上記の add-region 相当の作業が完了します。

気をつけるポイント

  • プライマリリージョンは作成後に変更できません。list-instances の PrimaryRegion を見て分かる通り、今のインスタンスは東京が固定です。変更したい場合はインスタンスを削除して作り直すしかないので、最初にどのリージョンを選ぶかは慎重に決めたほうがよさそうです
  • ID ソースによって使える/使えないが分かれます。Identity Center ディレクトリまたは外部 IdP(Okta、Microsoft Entra ID など)なら利用できますが、Active Directory を ID ソースにしている場合はマルチリージョン非対応です。外部 IdP を使う場合も、複数の ACS URL に対応した IdP でないと恩恵をフルに受けられません(Google Workspace は非対応で、代替手段が別途用意されています)

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?