3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IAM Identity Centerを使って複数アカウント管理する。(その3:外部AWSアカウントへのSAML)

Last updated at Posted at 2023-04-22

はじめに

前回までで自組織に対するIAM Identity Centerでのアクセスについて試してみたため、今回は自組織とは異なる外部AWSアカウントに対してIAM Identity CenterからSAML接続を行う方法について試してみようと思います。

IAM Identity CenterからのSAML接続について

IAM Identity CenterはSAML2.0を使用したIDフェデレーションがサポートされているため、SAMLがサポートされている様々なサービスプロバイダとの接続連携が行なえます。

IAM Identity Centerと連携を行うことで、IAM Identity Centerのポータル画面からIAM Identity Centerの認証情報を使用して外部のサービスプロバイダに接続することができます。

IAM Identity Centerも様々なサービスプロバイダがサポートされておりますが、今回は組織外となるAWSアカウントに対してIAM Identity CenterからSAML接続を行ってみようと思います。

接続構成

組織外のAWSアカウントへの接続を試してみようにも、組織外となるAWSアカウントを持っていないため、今回はメンバーアカウントを組織外AWSアカウントとみなし、ルートアカウントからSAML接続してみようと思います。

尚、前回までの記事の設定でルートアカウント、メンバーアカウント共にIAM Identity Centerから接続できるようになっているため、メンバーアカウントはIAM Identity Centerから接続できないよう許可セットを外し、併せて委任設定もルートアカウント側に戻してあります。

また、今回の設定は自組織側となるIAM Identity Centerの設定と外部AWSアカウント側の設定とを交互に設定していくため、自組織側作業は(自組織)、外部AWSアカウント側作業は(外部組織)と表記します。

アプリケーションの追加(自組織)

IAM Identity Centerに外部組織用のアプリケーションを追加するため、「IAM Identity Center」→「アプリケーション割り当て」→「アプリケーション」から「アプリケーションを追加」を選択して設定していきます。

Monosnap_20230315_190110.png

カスタムアプリケーション」と「事前統合アプリケーション」があるので、「事前統合アプリケーション」から「External AWS Account」を選択して「」に進みます。

Monosnap_20230315_190249.png

任意のアプリケーションの表示名を指定します。

また、「ステップバイステップの手順を表示」を選択すると、設定手順が表示されるため、設定時に開いておくと良いかと思います。

Monosnap_20230315_190647.png

IAM Identity Centerメタデータ」の項目より、後ほど外部組織側設定で使用する「IAM Identity Center SAMLメタデータファイル」をダウンロードしておきます。

Monosnap_20230315_190722.png

アプリケーションのプロパティ」と「アプリケーションメタデータ」は今回の場合、デフォルトで問題ないので、そのまま「送信」を選択します。

Monosnap_20230315_190859.png

ユーザーを割り当て」を選択して、外部組織にアクセスさせたいユーザ・グループを選択します。

Monosnap_20230315_191428.png

Monosnap_20230315_191459.png

IDプロバイダの追加(外部組織)

外部組織側のアカウントに移り、IAM Identity Centerからの認証を受け付けるIDプロバイダの設定を行っていきます。

IAM」→「アクセス管理」→「IDプロバイダ」の「プロバイダを追加」より設定を行っていきます。

Monosnap_20230315_191854.png

以下表、図のように設定を行い、「プロバイダを追加」を選択。

項目 設定
プロバイダのタイプ SAML
プロバイダ名 任意(今回はIdentityCenterSAML)
メタデータドキュメント 先程ダウンロードしたメタデータドキュメントを選択

Monosnap_20230315_192040.png

以下のように概要画面が表示されるため、後ほどIAM Identity Center側作業で必要となるARNを控えて「ロールの割り当て」でIDプロバイダと結びつけるIAMロールを作成します。

Monosnap_20230315_192243.png

IAMロールの作成(外部組織)

前手順に引き続き、設定を行っていきます。

新しいロールを作成」を選択し、「次へ」進みます。

Monosnap_20230315_192423.png

以下表、図のように設定を行い、「次のステップ:アクセス権限」を選択。

項目 設定
信頼されたエンティティの種類を選択 SAML 2.0 フェデレーション
SAMLプロバイダー IdentityCenterSAML(先程作成したIDプロバイダ)
プログラムによるアクセスとAWSマネジメントコンソールによるアクセスを許可する
属性 SAML:aud
https://signin.aws.amazon.com/saml
条件 なし

Monosnap_20230315_192514.png

IAM Identity Centerからのアクセス時に適用したいポリシーを選択して「次のステップ:タグ」を選択。

Monosnap_20230315_192613.png

タグ設定は今回は特に設定せず次へ進み、ロール名の指定を行い、「ロールの作成」で作成します。

Monosnap_20230315_192711.png

作成後、IAM Identity Center側の設定で必要となるIAMロールのARNを控えておきます。

Monosnap_20230315_204531.png

属性マッピングの設定(自組織)

再度、IAM Identity Centerの設定画面に戻り、「IAM Identity Center」→「アプリケーション割り当て」→「アプリケーション」の「設定済み」タブから先程作成したアプリケーション名を選択します。

Monosnap_20230315_205135.png

アクション」から「属性マッピングを編集」を選択します。

Monosnap_20230315_205445.png

下記の図の1行目と2行目はデフォルトで記載されているため、新たに3行目を追加し、以下のように設定します。

また、以下表2列目のValue値の書式についてはarn:aws:iam::[ACCOUNTID]:saml-provider/[SAMLPROVIDERNAME],arn:aws:iam:: [ACCOUNTID]:role/[ROLENAME]となり、先程控えたIDプロバイダのARNとIAMロールのARNを結合したものを記載します。

アプリケーションのユーザー属性 この文字列値またはIAM Identity Centerのユーザー属性にマッピング 形式 備考
Subject ${user:email} persistent デフォルトで入力済み
https://aws.amazon.com/SAML/Attributes/RoleSessionName ${user:email} unspecified デフォルトで入力済み
https://aws.amazon.com/SAML/Attributes/Role arn:aws:iam::xxxxxxxxxxxx:saml-provider/IdentityCenterSAML,
arn:aws:iam::xxxxxxxxxxxx:role/IdentityCenterSAML-Role
unspecified ステップバイステップ手順に書式記載あり

Monosnap_20230315_194116.png

IAM Identity Centerからのログイン(自組織)

上記までの手順を実施することで、IAM Identity Centerのポータル画面に外部組織へログインするためのアプリケーションが表示されるようになっているため、表示されているアプリケーションを選択することで外部組織のAWSアカウントにログインできるようになります。

Monosnap_20230315_194419.png

おわりに

今回はIAM Identity Centerに外部組織のAWSアカウントに接続するためのアプリケーションを追加し、シングルサインオンで接続できるようにしました。

今回は外部のAWSアカウントの設定を行いましたが、同じように設定を行うことで、他のサービスプロバイダへの接続も行えるようになります。

アプリケーション作成時に表示される「ステップバイステップの手順を表示」と、各サービスプロバイダのマニュアルを見れば、今回と同様にSAMLによるシングルサインオンができるはずなので、認証をIAM Identity Centerにまとめてしまうのも良いかもしれません。

次回はGitHub Enterprise Cloudに対してIAM Identity CenterからSAMLアクセスを行う方法について試してみようと思います。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?