GoogleアカウントでAWSにSSOする

記事タイトルとURLをコピーする

この記事は約5分で読めます。

こんばんは、SWX3人目の熊谷(悠)です。

Cloud Identity や IAM Identity Center(以下IdC)のどちらか、或いは両方に詳しくなくともIdP連携してSSOできるよう設定手順を本稿に記します。 なお、本稿では SCIM の設定は行いません。

Cloud Identity とは

Cloud Identity は、Google Workspace から Gmail やカレンダーなどのグループウェア機能を取り除いたサービスであり、アカウント管理に特化した IDaaS(Identity as a Service)ソリューションです。
Cloud Identity とは - Cloud Identity ヘルプ

AWS IAM Identity Center とは

AWS IAM Identity Centerは、AWS Single Sign-On の後継サービスで、複数の AWS アカウントへのアクセス一元管理が出来るサービスです。
IAM Identity Center とは何ですか? - AWS IAM Identity Center

前提

  • Cloud Identity の登録と組織作成が完了している
  • 組織の特権管理者権限が付与されたアカウントでログインしている

  • IdC を有効化している

  • IdC を操作できるポリシーが付与されたロールやユーザーでサインインしている

注意事項

IdC を単体或いはAD連携して利用しているなどの場合、アイデンティティソースの切り替え後は元の認証情報でサインイン出来なくなります。

設定手順

サービスプロバイダーのメタデータを取得

AWS マネジメントコンソールへサインインし、IAM Identity Center コンソールを開く

画面左のサイドナビゲーションより「設定」をクリック

アイデンティティソース タブの「アクション」を展開し、「アイデンティティソースを変更」をクリック

2024-03-21_19h28_53.png

「外部 ID プロバイダー」を選択し、「次へ」をクリック

2024-03-21_19h46_18.png

次項で使用するため、サービスプロバイダーのメタデータをそれぞれ控える ※後ほど本画面の設定を進めるため、タブは開いたままにして、次の手順を実施した後に設定を続けられるようにするとスムーズです。

2024-03-21_15h46_15.png

SAML アプリを追加

Google 管理コンソールを開く

左側のナビゲーションパネルから、「アプリ」を展開し、「ウェブアプリとモバイルアプリ」をクリック

「アプリを追加」をクリックし、「カスタム SAML アプリの追加」を選択

2024-03-18_18h51_23.png

任意のアプリ名と説明を入力し、「続行」をクリック

2024-03-27_17h40_49.png

「メタデータをダウンロード」し、「続行」をクリック ※後からでもダウンロード可能です。

2024-03-21_14h19_44.png

(以下のようなメタデータファイルがダウンロードされます。)

<?xml version="1.0" encoding="UTF-8"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://accounts.google.com/o/saml2?idpid=01234abcd" validUntil="2028-01-25T08:20:34.000Z">
  <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>MLkrSJaa2pxVaKhnJqiSWywM4cqFvUwpTcCrYrHkZa9y2THfWn2xsySRVGZLRpEC6mYAtr8vjZmP
pGjdeDjMq9xdHCxbSb5UZMFbTju3GM3PiTrsCbZTpdJEmC4wzdHd2xpGnynUC9SYnUURfNww6yZb
VQ9ugsC5AzQqmcaWMNjiv4Lxt59nE3EA52CTDQsVxCfPPjdd9Qgy5zpG2BvP9wtkTFT7DaZwBvhG
pq9sfb5uZuzhsVnPMYaExxGUzkKFfJjUpKD3MVuPvAf4iL5kcS27mC4wzdHd2xpGnynUC9SYnUUR
fNww6yZbVQ9ugsC5Za9y2THfWn2xsySRVGZLRpEC6mYAtr8vjZmPpGjdeDjMq9xdHCxbSb5UZMFb
Tju3GM3PiTrsCbZTpdJEUecdgWqpydm4bAYnkfV8TvNg4RNT5k5DB73cF2rAAzQqmcaWMNjiv4Lx
t59nE3EA52CTDQsVxCfPPjddhNVeUw2LMas494tMcXX37NydGBTstnf6yRhp8jU79Qgy5zpG2BvP
9wtkTFT7DaZwBvhGpq9sfb5uZuzhsVnPMYaExxGUzkKFfJjUpKD3MVuPvAf4iL5kcS27CQjXBzKC
Ns6S5nWBnT6LVHrt3cQSHUREH47meGg5MLkrSJaa2pxVaKhnJqiSWywM4cqFvUwpTcCrYrHkCT6J
VwZ7cZyrCpiT6re6h5T9Z98aZQT5t4BmVCkqYGU9W2FG6rqQmZ4dHM8mxPEZrEzgJ5fCwEyk42Ef
bwTdmBUFKPZa7SmXAk9QvyCQ3ZiyCvzsygMxiQYPrdfiKfydfJLhhuLLsgjESkWc8HDDBawWaNdG
KtYpUMD7TrqYDhsPdhUAyd4F9rHB8BuVLUCFxiU7jvciYajc9jNyGyYEwu8hvu6umdXvfzLKVYZk
nWUuEBu3jz4w74QayPNqyL3yMyUe64H3NwqeqKXJjq4vXh8HZcKg43VhJ4UxYeSnFRaVbgeKgXLt
F4JaQtXUKPEuNCRwApZ7JA5kXePDfEKp3Zmz3VVHFVPcpEMSXjGxjGzYHmHS79wvk7e6XLgAvqnW
D5eYccLSJdWWJz7YZHzBzbNDXFyY3VmNZ7pqP6BRP7ZJq9N2ffZhnCB8P9wqpuFJKnNBGvHUpa8G
gSLLugWDBKGqZcnwWahKhs8r8WtPbaaJMeHxzEDrsV</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </md:KeyDescriptor>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://accounts.google.com/o/saml2/idp?idpid=01234abcd"/>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://accounts.google.com/o/saml2/idp?idpid=01234abcd"/>
  </md:IDPSSODescriptor>
</md:EntityDescriptor>

前項の手順で控えた AWS のサービスプロバイダーのメタデータを、下記サービス プロバイダの詳細にそれぞれ入力し、「続行」をクリック

  • ACS の URL:IAM Identity Center Assertion Consumer Service (ACS) の URLを入力
  • エンティティ ID:IAM Identity Center の発行者 URLを入力
  • 名前 ID の形式:EMAILを選択
    • ※何れの形式を選択しても認証自体は可能ですが、アクセスに後述の Google アプリを用いる場合は、EMAILを選択していない場合認証に失敗します
  • 名前 ID:Basic Information > Primary emailを選択
    • ※IdCのユーザー名を姓や名にしたい場合はLast nameFirst nameを選択します

2024-03-21_14h50_16.png

属性のマッピングは設定せず、「完了」をクリック

2024-03-21_15h09_19.png

アプリを有効化

アプリは追加時点でデフォルト無効なため、有効化します。

(前項でアプリを追加後、アプリの詳細画面に遷移していない、などの場合)
アプリ > ウェブアプリとモバイルアプリ 画面にてアプリの一覧から追加したアプリをクリック

2024-03-28_02h27_39.png

追加したアプリの詳細画面にて、「ユーザー アクセス」項目をクリック

2024-03-28_02h29_52.png

サービスのステータス「オン(すべてのユーザー)」を選択し、「保存」をクリック
※特定の組織部門やグループに対してアプリを有効化する場合は、左側を展開し、必要な組織やグループを選択した上で、「継承」や「オーバーライド」してください。

2024-03-28_02h32_42.png

アイデンティティソースを変更

AWS IdC コンソールの、「外部アイデンティティプロバイダーを設定」画面を表示する

IdP SAML メタデータ項目の「ファイルを選択」をクリックし、前項でダウンロードしたメタデータファイルをアップロード

「次へ」をクリック

2024-03-21_15h43_30.png

表示されたフィールドに「承諾」と入力し、「アイデンティティソースを変更」をクリック

2024-03-21_15h48_38.png

動作確認

ユーザーを追加

今回は、確認用の Google ユーザーを新しく作成します。 (既存のユーザーも使用可能です。)

2024-03-26_11h32_37.png

2024-03-26_20h31_22.png

IdCにユーザーを追加する

「ユーザー名」は Google アカウントのカスタム SAML アプリで指定した名前 ID 項目の値と必ず一致する必要があります。
本稿通り設定している場合は、Google アカウントと同じメールアドレスを指定してください。

ユーザー名以外の項目は任意の値で問題ありません(Google アカウントと異なる指定も可)

2024-03-26_15h50_36.png

2024-03-26_16h15_41.png

SSOを実施

Googleアカウントへログイン

2024-03-26_11h41_22.png

AWS アクセスポータルのサインイン URL にアクセス
もしくは
Google アプリ(ワッフルアイコン)からランチャーを開き、追加したカスタム SAML アプリを選択
※カスタム SAML アプリ追加時に名前 ID をPrimary emailかつ名前 ID の形式をEMAILに指定している場合のみ Google アプリ経由でアクセス可能です。

2024-03-26_11h51_12.png

2024-03-28_02h48_40.png

自動でリダイレクトされます。

2024-03-26_11h55_46.png

AWS アクセスポータルへサインインが確認できました。
(IdC で AWS アカウントへのアクセス許可を追加していないため、対象アカウントが表示されていません) 2024-03-26_22h26_55.png

(IdC で SSO しているユーザーにアクセス許可を追加した後)
AWS アカウントへのサインインも確認できました。

2024-03-26_22h32_06.png

参考

Google Workspace および IAM アイデンティティセンターによる SAML と SCIM の設定 - AWS IAM Identity Center

カスタム SAML アプリを設定する - Google Workspace 管理者 ヘルプ

アマゾン ウェブ サービス(AWS)クラウド アプリケーション - Google Workspace 管理者 ヘルプ