blog/content/posts/2025/2025-03-16-use-entraid-as-idp-for-aws.md
Kazuhiro Musashi 9089e498af
All checks were successful
continuous-integration/drone/push Build is passing
「続きを読む」を追加
2025-03-16 23:23:49 +09:00

17 KiB

+++ 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として利用して、シングルサインオンするための手順をまとめたよ

大まかな見取り図は以下の通りです: Untitled

必要なもの

  • EntraID (個人のアカウントでAzure契約すると、自動的にEntraIDが作成されるから、それを利用するのがお手軽)
  • AWS

SSO の設定手順

SSOに必要となる手順をまとめていきます。

  1. AWS: SSOIdPを指定し、設定ファイルを取得する
  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 ProvisioningEnableボタンをクリックします:

2025_03_16_14_30

EntraID側で指定してあげる必要があるSCIM endpointAccess 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 ModeAutomaticに指定します。 2025_03_16_14_34

EntraID: Provisioningの実施

AWS IAM Identity CenterProvisioningをクリックします: 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