はじめに
IBM CloudのApp IDは、IBM CloudポータルのIdPになることが可能であり、かつSAMLのSPになることができます。本記事ではAWS IAM Identity CenterのIdPを用いてIBM Cloudのポータルの認証を行います。
※Azureの連携についてはこちら
Qiita:Azure ADで IBM Cloudポータルにシングルサインオンする
事前準備
以下を用意しておきます。
- [AWS] AWSアカウント
- [IBM Cloud] App ID インスタンス
手順
AWS上での手順
IAM Identity Center を管理アカウントで有効化
IAM Identity Centerで検索し、「Enable」をクリックします。
IAM Identity Centerは一度に1つのリージョンでのみ有効化することができます。
別のリージョンで有効にするには、まず現在の IAM Identity Center 設定を削除する必要があります。別の地域に切り替えると、AWSアクセスポータルの URL も変わるため、すべての権限セットと割り当てを再設定する必要があります。
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/regions.html#region-data
アプリケーションの追加
ページ左の「Application」タブ→「Customer managed」を選択し、「Add Application」をクリックします。
「I have an application I want to set up」、「SAML2.0」を選択します。
(後述)「App IDのメタデータの取得」で取得したAppIDのメタデータをアップロードします。
IdPの情報を取得
「Action」→「Edit Configuration」にて、以下の3点を保管します。
属性マッピング
「Action」→「Edit Attribute mappings」をクリックし、以下の項目を追加します。
User attribute in the application | Maps to this string value or user attribute in IAM Identity Center | Format | 意味 |
---|---|---|---|
Subject | ${user:email} | emailAddress | App IDのユーザープロファイルの識別に使用(必須) |
familyName | ${user:familyName} | basic | IBM Cloudのユーザープロファイルで名前の表示に使用(姓部分) |
givenName | ${user:givenName} | basic | IBM Cloudのユーザープロファイルで名前の表示に使用(名部分) |
name | ${user:preferredUsername} | basic | App IDのユーザープロファイルで名前の表示に使用 |
IAM Identity Center にユーザーを作成
「User」タブよりユーザーを追加し、「Next」をクリックするとグループ設定画面に移ります。
IAM Identity Center にグループを作成
今回はグループを作成せず進みます。「Next」をクリックします。
許可セットを作成
「Permission sets」→「Create Permission sets」をクリックします。
今回は事前定義された許可セットから AdministratorAccess
を選び作成します。
AWS アカウントへの許可セットの割り当て
「Multi-account permissions」内の「AWS accounts」をクリックし、組織のツリービューリストを表示します。次に、AdministratorAccess
を割り当てる AWS アカウント の横にあるチェックボックスをオンにし、「Assign users or groups」をクリックします。組織内に複数のアカウントがある場合は、管理アカウントの横にあるチェックボックスをオンにします。
許可セットを選択し「Next」をクリックします。
「Submit」をクリックします。
作成したユーザーをアプリケーションに割り当て
「Assign users and groups」をクリックし、対象ユーザーをアサインします。
IBM Cloudでの手順
SAML2.0の有効化
作成したApp ID詳細画面の「Manage Authentication」をクリックし、「SAML2.0 Federation」のスイッチを有効化します。
App IDのメタデータの取得
作成したApp ID詳細画面の「Identity Providers」→「SAML2.0 Federation」をクリック、「Download SAMLmetadata file」をクリックしてxmlファイルを取得します。
App IDにIAM Identity Center SAML IdPを設定
(前述)「IdPの情報を取得」で取得したIdPの情報を以下のように入力し、「Save」をクリックします。
- Entity ID:IAM Identity Center SAML metadata fileをコピー
- Sign in URL:IAM Identity Center sign-in URL をコピー
- Primary certificate:IAM Identity Center Certificateのpemファイルの中身をコピー
以上の手順が完了していると、App IDの「テスト」から、以下のように成功します。
IdPを設定
「Default IdP URL」はログイン時に使用するURLです。必要に応じて編集します。
「Manage」→「Access(IAM)」→「Identity Providers」をクリックします。
未作成の場合は「Create」、作成済の場合は右の「︙」より以下のように編集し「Update」をクリックします。
以上で設定が完了です。
テスト
Identity Providersの画面に記載されている「Default IdP URL」をコピーします。
App IDのログイン画面カスタムについては以下を参照ください。
Qiita: IBM Cloud: App IDのログイン画面にロゴをアップロードする方法