FIXER cloud.config Tech Blog
IAM Identity CenterとAzure ADを統合し、AWSアカウントへSSOする方法
2023年06月01日 10時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「【AWS】IAM Identity Center × Azure AD を統合してAWSアカウントへのシングルサインオンを試してみた」を再編集したものです。
前提条件
◆ AWS側の条件
・[IAM Identity Center]サービスを利用できること
・[AWS Organizations]サービスを利用していること(オプション)
・IAM権限:Administrator Access
※ 本記事では「東京リージョン」にて「IAM Identity Center」を利用しています。
◆ Azure側の条件
・Azure AD のライセンス:Azure AD Premium P1 または P2
・Azure AD 権限:アプリケーション管理者 or グローバル管理者
※ 本記事では「Azure AD 無料プラン」はAzure AD グループが作成できない(=グループ管理ができない)理由により、非推奨とします。
導入方法
1. IAM Identity Center と Azure AD を構成する
1-1. Azure ADで外部IDプロバイダーを作成する
【Azure ポータルにサインイン】
1. [Azure Active Directory]>[エンタープライズ アプリケーション]>[すべてのアプリケーション]に移動します。
2.[+新しいアプリケーション]を選択します。
3. 検索ボックスに「AWS IAM Identity Center」と入力します。
4. 検索結果から [AWS IAM Identity Center] を選択します。
5. 適当な名前を入力します。 ※本記事では「AWS IAM Identity Center」と名付けます。
6. 「作成」を押下します。
これで外部IDプロバイダーの作成は完了です。
1-2. SAML認証 を設定する
【AWS Management Consoleにサインイン】
1. [IAM Identity Center]>[設定]に移動します。
2. [アイデンティティソース]の右上にある[アクション]>[アイデンティティソースを変更]を選択します。
3. 【ステップ1】 アイデンティティソースを選択
・[外部IDプロバイダー] を選択します。
・「次へ」を押下します。
4. 【ステップ2】 外部アイデンティティプロバイダーを設定
・[サービスプロバイダーのメタデータ]から[メタデータファイルをダウンロード]を押下して、IAM Identity Centerのメタデータ情報をダウンロードします。
このまま、画面を保持してください。後で【ステップ2】の続きを行います。
【Azure ポータルにサインイン】
1. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
2. [すべてのアプリケーション]>「作成したアプリケーション(AWS IAM Identity Center)」>[シングル サインオン]に移動して、[SAML]を選択します。
3. [メタデータファイルをアップロードする]を選択して、先ほどダウンロードした「IAM Identity Centerのメタデータファイル」をアップロードします。
4. 「追加」を押下します。
5. [基本的な SAML 構成]の確認画面が表示されるため、そのまま[保存]を押下します。
6. 保存後、[AWS IAM Identity Center でシングルサインオンをTest]とポップアップが表示されますが、[いいえ、後でtestします]を選択してください。
7. [SAML 証明書]の[フェデレーション メタデータ XML]をダウンロードします。
【AWS Management Consoleにサインイン(〜【ステップ2】の続き 〜)】
1. 【ステップ2】 外部アイデンティティプロバイダーを設定
・[アイデンティティプロバイダーのメタデータ]に先ほどダウンロードした「フェデレーションメタデータ XMLファイル」をアップロードします。
・「次へ」を押下します。
2. 【ステップ3】 変更を確定
・[確認および確定]にて「承諾」と入力します。
・[アイデンティティソースを変更]を選択します。
3. [IAM Identity Center]>[設定]に移動します。
4. [アイデンティティソース]の[認証方法]が「SAML 2.0」に変更されていることを確認します。
これでSAML認証の設定は完了です。
2. AWSアカウントに資格情報を設定する
2-1. IAM Identity Centerにユーザーを自動登録する
【AWS Management Consoleにサインイン】
1. [IAM Identity Center]>[設定]に移動します。
2. [自動プロビジョニング]の[有効にする]を押下します。
3. 押下後、[インバウンド自動プロビジョニング]のポップ画面が表示されます。
4. [SCIMエンドポイント]と[アクセストークン]をコピーします。
【Azure ポータルにサインイン】
1. [Azure Active Directory]>[グループ]に移動します。
2. [新しいグループ]を選択します。
3. [新しいグループ]には以下の設定を行いました。
・ [グループの種類]:「セキュリティ」
・ [グループ名]:<任意>(本記事では 「AWS SSO Members」と名付けます)
・ [グループの説明(オプション)]:<任意>
・ [メンバーシップの種類]:「割り当て済み」
4. [メンバー]にSSOさせたいユーザーを追加します。
5. 「作成」を押下します。
6. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
7. [すべてのアプリケーション]>「作成したアプリケーション(AWS IAM Identity Center)」>[ユーザーとグループ]に移動します。
8. [+ユーザーまたはグループの追加]を選択します。
9. [割り当ての追加]で先ほど作成したグループ(AWS SSO Members)を追加します。
10. [割り当て]を押下します。
11. 割り当て後、プロビジョニング画面に遷移します。
12. [作業の開始]を押下します。
13. [プロビジョニングモード]を自動に切り替えます。
14. [管理者資格情報]の[テナントの URL]には[SCIMエンドポイント]、[シークレット トークン]には[アクセストークン]を先ほど「自動プロビジョニングの有効化」でコピーした資格情報をペーストします。
15. [テスト接続]を押下します。成功のイベントが表示されたことを確認します。
16. [保存]を押下します。
17. 保存後、[概要]に移動します。
18. [プロビジョニングの開始]を選択します。
2~3分ほどでプロビジョニングの状態が有効になります。
【AWS Management Consoleにサインイン】
1. [IAM Identity Center]>[グループ]に移動します。
2. 自動プロビジョニングされた[ユーザー/グループ(AWS SSO Members)]が表示されていることを確認します。
これで登録手続きは完了です。
2-2. AWSアカウントに資格情報と権限を割り当てる
【AWS Management Consoleにサインイン】
1. [IAM Identity Center]>[マルチアカウント許可]>[許可セット]に移動します。
2. [許可セットの作成]を選択します。
3. 【ステップ1】 許可セットタイプを選択
・[許可セットのタイプ]で[事前定義された許可セットのポリシー]を選択します。
・[事前定義された許可セットのポリシー]で「AdministratorAccess」を選択します。
・「次へ」を押下します。
4. 【ステップ2】許可セットの詳細を指定
[許可セットの詳細を指定]には下記の設定を行いました。
・[許可セット名]:<任意> (本記事では 「AdministratorAccess」と名付けます)
・[説明(オプション)]:<任意>
・[セッション期間]:8時間(デフォルトは1時間)
・[リレー状態(オプション)]:※シングルサインオン後にリダイレクトされるページURL
(本記事では https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1をリレーに設定します)
5. 【ステップ3】確認して作成
・「作成」を押下します。
6. [IAM Identity Center]>[マルチアカウント許可]>[AWSアカウント]に移動します。
7. 対象のAWSアカウントを選択して、[ユーザーまたはグループを割り当て]を選択します。
※今回は4つのAWSアカウントに割り当ててみます。
8. 【ステップ1】 ユーザーとグループの選択
・[グループ]で自動プロビジョニングされたグループ(AWS SSO Members)を選択します。
・[選択されたユーザーとグループ]で選択した「ユーザー名/グループ名(AWS SSO Members)」を選択します。
・「次へ」を押下します。
9. 【ステップ2】 許可セットを選択
・[許可セット]で先ほど作成した「アクセス権限セット(AdministratorAccess)」を選択します。
・「次へ」を押下します。
10. 【ステップ3】 確認して送信
・「送信」を押下します。
11. [Permission sets]に作成した「アクセス権限セット(AdministratorAccess)」が割り当てられていることを確認します。
これで資格情報と権限の割り当ては完了です。
動作確認
【Azure ポータル にサインイン】
1. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
2. [すべてのアプリケーション]>「作成したアプリケーション(AWS IAM Identity Center)」>[プロパティ]に移動します。
3. [ユーザーのアクセス URL]のリンクをブラウザで実行します。
4. サインオンしたいAWSアカウントを選択して、[Management console]を押下します。
5. 東京リージョンの管理コンソール画面(https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-)にアクセスできたことを確認します。
これで動作確認は完了です。
村上 滉樹/FIXER
2020年4月 入社
サーバーレスやCI/CDが好き。
インフラエンジニア4年目の関西人です。
この連載の記事
-
TECH
Amazon CloudFrontで特定の国からのアクセスを制限する方法 -
TECH
Azure Kubernetes Service(AKS)のちょっとした運用ノウハウ -
TECH
AWS CDKでECSの環境変数を管理する際に気をつけるべきこと -
TECH
初心者向け:RDSスナップショットを別のAWSアカウントで復元する手順 -
TECH
AWS CDKとGitHubを使ったIaC=インフラ構成管理の基本 -
TECH
同世代エンジニアに刺激を受けた!JAWS-UG「若手エンジニア応援LT会」参加レポート -
TECH
AWS CDKでGuardDutyのRDS保護を有効化しよう(として詰みかけた話) -
TECH
ノーコードで生成AI連携! SlackからAmazon Bedrockのエージェントに質問 -
TECH
Terraform:変数の値が未代入でもインタラクティブな入力を回避する方法 -
TECH
Amazon SESでEメールの送信機能/受信機能を作る手順 -
TECH
Amazon BedrockからWeb上のコンテンツを参照する新機能「Web Crawler」 - この連載の一覧へ