本記事では、OneLogin から AWS へのSAML シングルサインオン(SSO)の設定手順をご案内します。
*特別な事情がない限り、本記事ではなく AWS IAM Identity Center - SAML認証 × ユーザープロビジョニング をご参照ください。
目次
前提条件
- OneLoginのライセンスプラン が Professional または旧ライセンスプラン Unlimited のいずれかであること
- OneLoginの Super User または Account Owner 権限を持つアカウントを所有していること
- AWSの ルートユーザー 権限をお持ちであること
SAML連携の設定
1. OneLogin側の操作
- OneLoginに管理者でログインし、[管理]をクリックします
-
Applications メニューから[Applications]を選択します
- [Add App]をクリックします
-
Amazon Web Services (AWS) Multi Account と検索し、該当コネクタを選択します
- [Save]をクリックします
- More Actions > SAML Metadata を選択します
-
Configuration タブに移動し、トークンを作成 をクリックします
- 作成された External ID をクリップボードへコピーします
2. AWS側の設定
IDプロバイダの作成
- AWSにルートユーザーでログインし、サービス > IAM を選択します
- アクセス管理 > IDプロバイダ を開きます
- [プロバイダを追加]をクリックします
- 任意の プロバイダ名 を入力します
- メタデータドキュメント >[⤒ ファイルを選択]をクリックし、1. OneLogin側の操作 で取得した
onelogin_metadata_xxxxxxx.xmlをアップロードします
- [プロバイダを追加]をクリックします
- 追加したプロバイダを選択します
- 概要 > ARN をクリップボードへコピーします
SAML連携用のAWSロール作成
- アクセス管理 > ロール を開きます
- [ロールを作成]をクリックします
- 信頼されたエンティティタイプ > SAML 2.0 フェデレーション を選択します
-
SAML 2.0 ベースのプロバイダー から IDプロバイダの作成 で設定したプロバイダを選択し、[次へ]をクリックします
- 既存の ポリシー を指定または新規作成します
例)既存のAdministratorAccessを指定
- [次へ]をクリックします
- 任意の ロール名 を入力します
- [ロールを作成]をクリックします
外部アクセス用のAWSロール作成
- [ロールを作成]をクリックします
- 信頼されたエンティティタイプ > AWSアカウント を選択します
- AWS アカウント > 別の AWS アカウント を選択し、アカウントID に 842984801698 を入力します
-
外部 ID を要求する にチェックを入れ、1. OneLogin側の設定 手順8 で取得した値を貼り付けます
- [次へ]をクリックします
- 許可を追加 > インラインポリシーを作成 を選択します
-
ポリシーに以下のJSONを入力します
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListAccountAliases", "iam:ListRoles" ], "Effect": "Allow", "Resource": "*" } ] }
- [次へ]をクリックします
- 任意の ロール名 を入力します
- [ロールを作成]をクリックします
3. OneLogin側の設定
-
Configuration タブに移動し、External Role Name に 外部アクセス用のAWSロール作成 で作成したロール名を入力します
-
List of SAML Identity Providers に IDプロバイダの作成 手順9 で取得したARNを貼り付けます
*List of SAML Identity Providersに複数ロールを追加することにより、サインインできるアカウントを増やすことができます
-
Access タブに移動し、割り当てたいユーザーが属する Roles を選択します
-
Provisioning タブに移動し、Enable provisioning にチェックを入れ、[Save]をクリックします
-
Parameters タブに移動し、Role をクリックします
-
Include in User Provisioning にチェックを入れ、[Save]をクリックします
- API Connection >[Enable]をクリックします
-
API Status が緑色で Enabled と表示されることを確認します
-
Provisioning タブに移動し、Entitlements > Refresh をクリックします
-
Rules タブに移動し、 [Add Rule]をクリックします
- 任意のマッピング名を入力し、条件の追加[+]をクリックします
- 任意の Conditions を設定します
例)RolesincludeAWSに設定した場合、AWSロールに属するユーザーのみに適用されます。
-
Actions で Set Role in Amazon Web Services (AWS) Multi Account と From Existing を選択し、AWS側の設定 で作成したロールを選択し、[Save]をクリックします
-
Users タブに移動し、対象ユーザーの Pending をクリックします
- [Approve]をクリックし、プロビジョニングを承認します
-
Provisioning State が Provisioned に変化することを確認します
SAML連携の設定は以上です。
SAML SSOの動作確認
- OneLoginに対象ユーザーでログインし、設定した Amazon Web Services (AWS) Multi Account を選択します
- SAML認証が完了し、AWSにSSOされることを確認します
SAML SSOの動作確認は以上です。
SAML SSOの無効化
- AWSにルートユーザーでログインし、サービス > IAM を選択します
- アクセス管理 > IDプロバイダ を開きます
-
2. AWS側の設定 で追加したプロバイダを選択します
- [削除]をクリックします
-
確認 と入力し、[削除]をクリックします
SAML SSOの無効化は以上です。