From 64a84d34a5640753ffa43d4af42a5db789d5a3a3 Mon Sep 17 00:00:00 2001 From: Kazuhiro Musashi Date: Sun, 16 Mar 2025 22:33:11 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=E8=A8=98=E4=BA=8B=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 初稿を投稿。見栄えなどを確認する --- .../2025-03-16-use-entraid-as-idp-for-aws.md | 178 ++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md diff --git a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md new file mode 100644 index 0000000..d077539 --- /dev/null +++ b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md @@ -0,0 +1,178 @@ ++++ +title = "EntraIDをAWSのIdPとして利用して、シングルサインオンする" +date = 2025-03-16T22:23:00+09:00 +lastmod = 2025-03-16T22:23:00+09:00 +description = "お仕事で部門のサーバー管理者・クラウド管理者になって気になったものを検証してみたシリーズだよ。EntraIDをAWSのIdPとして利用して、シングルサインオンするための手順をまとめたよ" +tags = ["aws", "クラウド"] +categories = ["インフラ"] +author = "kazu634" +images = ["ogp/2025-03-16-use-entraid-as-idp-for-aws.webp"] ++++ + +お仕事で部門のサーバー管理者・クラウド管理者になって気になったものを検証してみたシリーズだよ。EntraIDをAWSのIdPとして利用して、シングルサインオンするための手順をまとめたよ + +## 必要なもの +- `EntraID` (個人のアカウントで`Azure`契約すると、自動的に`EntraID`が作成されるから、それを利用するのがお手軽) +- `AWS` + +## SSO の設定手順 +`SSO`に必要となる手順をまとめていきます。 + +1. `AWS`: `SSO`の`IdP`を指定し、設定ファイルを取得する +2. `EntraID`: Enterprise Applicationの登録 +3. `EntraID`: `SSO` (SAML連携) の設定 +4. `EntraID`: 連携する`Claim`の設定 +5. `EntraID`: AWSにログインを許可するユーザー・グループの指定 +6. `EntraID`: Federation設定用のファイルを取得する +7. `AWS`: Federation設定y設定用のファイルの読み込み +8. `AWS`: Automatic Provisioningの有効化 +9. `EntraID`: Provisioningの設定 +10. `EntraID`: Provisioningの実施 +11. `AWS`: Permission sets作成 +12. `AWS`: プロビジョニングされたユーザー・グループへの権限割り当て +13. 動作確認 + +### AWS: SSOのIdPを指定し、設定ファイルを取得する +AWS側にログインし、`IAM Identity Center`を開きます。`[Settings]`をクリックします。下部の`[Identity source]`をクリックし、右側の`[Actions]`から、`[Change identity source]`をクリックします。 + +2025_03_16_13_41 + +`IdP`の種類として、`External identity provider`を選択し、`[Next]`ボタンをクリックします。 +2025_03_16_13_45 + +`AWS`側の`IdP`の設定をまとめたファイルをダウンロードします。図の`[Download metadata file]`をクリックし、ダウンロードします: +2025_03_16_13_48 + +### EntraID: Enterprise Applicationの登録 +`EntraID`にログインして、左側のペインから`[Enterprise applications]`をクリックします: +2025_03_16_13_49 + +表示される画面で`[New application]`をクリックします。 + +2025_03_16_13_51 + +検索用のテキストボックスに「aws iam」と入力し、表示された「AWS IAM Identity Center (successor to AWS Single Sign-On」をクリックします: +2025_03_16_13_52 + +次の画面が表示されます。`[Create]`ボタンをクリックします: +2025_03_16_13_52-02 + +### EntraID: SSO (SAML連携) の設定 +SAML連携の設定を行います。作成した`AWS IAM Identity Center`をクリックし、左側のペインから`[Single sign-on]`をクリック、右側に表示される`SAML`をクリックします: + +2025_03_16_13_54 + +表示される画面で`Upload metadata file`をクリックします: +2025_03_16_13_55 + +`AWS`からダウンロードした設定ファイルをアップロードします: +2025_03_16_13_56 + +`Save`ボタンをクリックします: +2025_03_16_13_57 + +### EntraID: 連携するClaimの設定 +以下の`Claim`を追加します: + +| # | Type | Claim | Value | +| --- | ----- | -------------- | ------------------ | +| 1 | - | Role | user.assignedroles | +| 2 | Group | Security Group | Group ID | + +`Attributes & Claims`から、`Add new claim`をクリックします: +2025_03_16_14_04 + +以下のように入力し、`Save`ボタンをクリックします: +2025_03_16_14_04-02 + +次に`Add a group claim`をクリックします: +2025_03_16_14_07 + +`Security groups`を選択し、`Group ID`を選択します。その後、`Save`ボタンをクリックします: +2025_03_16_14_07-02 + +### EntraID: AWSにログインを許可するユーザー・グループの指定 +左側のペインの`Users and groups`から、AWSにログインを許可させたいユーザー・グループを指定します: + +2025_03_16_14_17 + +### EntraID: Federation設定用のファイルを取得する +連携用のファイルをダウンロードします: +2025_03_16_14_10 + +### AWS: Federation設定用のファイルの読み込み +`EntraID`からダウンロードしたファイルを読み込ませます。先ほどメタデータをダウンロードしたページ下部の`IdP SAML metadata`のセクションにある`Choose file`をクリックし、`EntraID`から取得したファイルをアップロードします: + +2025_03_16_14_11 + +ファイルを選択すると、次のようになります。`Next`ボタンをクリックします: +2025_03_16_14_12 + +次の画面が表示されます。`Change Identity source`をクリックします: +2025_03_16_14_12-02 + +### AWS: Automatic Provisioningの有効化 +この段階では、`AWS`側にアカウントが存在しないため、ログインできません。`EntraID`側で指定されたユーザー・グループを自動的に`AWS`側のアカウントとして追加するための設定を実施します。 + +以下の画面が表示されていると思いますので、`Automatic Provisioning`で`Enable`ボタンをクリックします: + +2025_03_16_14_30 + +`EntraID`側で指定してあげる必要がある`SCIM endpoint`と`Access token`が表示されます。メモしておきましょう: +2025_03_16_14_31 + +### EntraID: Provisioningの設定 +EntraID側で必要となるアカウントプロビジョニングの設定を説明します。`AWS IAM Identity Center`で表示される、`Provision User Accounts`をクリックします: + +2025_03_16_14_32 + +対象を指定します: +2025_03_16_14_18 + +`Provisioning Mode`を`Automatic`に指定します。 +2025_03_16_14_34 + +### EntraID: Provisioningの実施 +`AWS IAM Identity Center`の`Provisioning`をクリックします: +2025_03_16_14_33 + +`Start Provisioning`をクリックします: +2025_03_16_14_36 + +しばらく経つと、以下のように表示され、プロビジョニングが完了したことがわかります: +2025_03_16_14_36-02 + +`AWS`側のユーザーを見ると、プロビジョニングされていることがわかります: +2025_03_16_14_43 + +### AWS: Permission sets作成 +`AWS`にプロビジョニングされたユーザーに対して、権限 (= `Permission sets`)を付与します。まずは`Permission sets`を作成していきます。今回は`Administrator Access`用の`Permission sets`を作成していきます: + +2025_03_16_14_44 + +### AWS: プロビジョニングされたユーザー・グループへの権限割り当て +`IAM Identity Center` - `AWSOrganizations: AWS accounts`をクリックします。紐付けたい`AWS`アカウントを選択し、`Assign users or groups`ボタンをクリックします: + +2025_03_16_14_50-03 + +紐付けるユーザーやグループを指定し、`Next`ボタンをクリックします: +2025_03_16_14_48 + +紐づける`Permission set`を指定し、`Next`ボタンをクリックします: +2025_03_16_14_50 + +確認の画面が表示されます。`Create`ボタンをクリックします: +2025_03_16_14_50-02 + +### 動作確認 +`EntraID`に表示される`User access URL`をコピーし、ブラウザで接続してみます: + +2025_03_16_15_28 + +アカウント選択の画面が表示され、`SSO`が機能しているように見えます: +2025_03_16_15_29 + +ログイン後、以下のように表示されれば成功です: +2025_03_16_15_29-02 +## References +- [AWS Single Sign\-On with Microsoft Entra ID](https://never-stop-learning.de/aws-single-sign-on-with-microsoft-entra-id/) \ No newline at end of file From 37ca2ae8694463486def58e0bdc2ad654fca1dcd Mon Sep 17 00:00:00 2001 From: Kazuhiro Musashi Date: Sun, 16 Mar 2025 23:15:49 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=E6=A6=82=E8=A6=81=E5=9B=B3=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md index d077539..114ab1b 100644 --- a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md +++ b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md @@ -11,6 +11,9 @@ images = ["ogp/2025-03-16-use-entraid-as-idp-for-aws.webp"] お仕事で部門のサーバー管理者・クラウド管理者になって気になったものを検証してみたシリーズだよ。EntraIDをAWSのIdPとして利用して、シングルサインオンするための手順をまとめたよ +大まかな見取り図は以下の通りです: +Untitled + ## 必要なもの - `EntraID` (個人のアカウントで`Azure`契約すると、自動的に`EntraID`が作成されるから、それを利用するのがお手軽) - `AWS` From 9089e498af54c08965196ec35826b1deab03309a Mon Sep 17 00:00:00 2001 From: Kazuhiro Musashi Date: Sun, 16 Mar 2025 23:23:49 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=E3=80=8C=E7=B6=9A=E3=81=8D=E3=82=92?= =?UTF-8?q?=E8=AA=AD=E3=82=80=E3=80=8D=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md index 114ab1b..82423f9 100644 --- a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md +++ b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md @@ -18,6 +18,7 @@ images = ["ogp/2025-03-16-use-entraid-as-idp-for-aws.webp"] - `EntraID` (個人のアカウントで`Azure`契約すると、自動的に`EntraID`が作成されるから、それを利用するのがお手軽) - `AWS` + ## SSO の設定手順 `SSO`に必要となる手順をまとめていきます。 From fe0f947be74b3aaf7ce6e5126ad2335bd77fd648 Mon Sep 17 00:00:00 2001 From: Kazuhiro Musashi Date: Sun, 16 Mar 2025 23:28:15 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=E3=80=8C=E7=B6=9A=E3=81=8D=E3=82=92?= =?UTF-8?q?=E3=82=88=E3=82=80=E3=80=8D=E3=81=8C=E3=81=86=E3=81=BE=E3=81=8F?= =?UTF-8?q?=E3=81=84=E3=81=8B=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7=E5=85=83?= =?UTF-8?q?=E3=81=AB=E6=88=BB=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md index 82423f9..114ab1b 100644 --- a/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md +++ b/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md @@ -18,7 +18,6 @@ images = ["ogp/2025-03-16-use-entraid-as-idp-for-aws.webp"] - `EntraID` (個人のアカウントで`Azure`契約すると、自動的に`EntraID`が作成されるから、それを利用するのがお手軽) - `AWS` - ## SSO の設定手順 `SSO`に必要となる手順をまとめていきます。