本記事では、OneLogin から AWS へのSAML シングルサインオン(SSO)の設定手順をご案内します。
目次
前提条件
- 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側の設定
AWSプロバイダの作成
- AWSにルートユーザーでログインします
- IAM > IDプロバイダー を開きます
- [プロバイダを追加]をクリックします
- 任意の プロバイダ名 を入力します
- メタデータドキュメント >[ファイルを選択]をクリックし、1. OneLogin側の操作 で取得した
onelogin_metadata_xxxxxxx.xmlを選択後、[プロバイダを追加]をクリックします
- 追加したプロバイダを選択します
- 概要 > ARN をクリップボードへコピーします
SAML連携用のAWSロール作成
- アクセス管理 > ロール >[ロールの作成]をクリックします
-
信頼されたエンティティの種類を選択、SAML 2.0 プロバイダを選択 を以下の通りに設定します
項目 入力値 信頼されたエンティティの種類を選択 SAML 2. 0 フェデレーション SAML 2. 0 プロバイダを選択 OneLogin(先ほど作成したプロバイダ)
と
[プログラムによるアクセスと AWS マネジメントコンソールによるアクセスを許可する]にチェックを入れる
- 任意の ポリシー を適宜作成し、[次のステップ: タグ]をクリックします
- 任意の タグ を適宜追加し、[次のステップ: 確認]をクリックします
- 任意の ロール名 を入力し、[ロールの作成]をクリックします
例)OneLogin_MultiAccount_SSO
外部アクセス用のAWSロール作成
- [ポリシー]>[ポリシーの作成]をクリックします
-
以下の記述をJSONで貼り付けて、次のステップ をクリックします
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:ListAccountAliases", "iam:ListRoles" ], "Effect": "Allow", "Resource": "*" } ] }
- 必要であればタグを追加し、次のステップ をクリックします
- ポリシーの 名前、説明(任意) を入力して[ポリシーの作成]をクリックします
- 次に、OneLoginからのアクセスを許可する外部ロールを作成します
[ロール]>[ロールの作成]をクリックします
-
アカウント ID、外部 ID を以下の通りに設定し、次のステップ をクリックします
項目 入力値 アカウント ID 842984801698 外部 ID 1. OneLoginのSAML連携の設定(前半)の 手順6. で発行したトークンを貼り付ける
- アクセス権限ポリシーに先ほど作成したポリシーをアタッチして、 次のステップ をクリックします
- 必要であればタグを追加し、次のステップ をクリックします
-
ロール名、ロールの説明 を記入して ロールの作成 をクリックします
3. OneLogin側の設定
-
Configuration へ移動し、External Role Name, List of SAML Identity Providers を以下の通りに設定します
項目 入力値 External Role Name 2-3. 外部アクセス用のAWSロール作成 で作成したロールの名前を入力する
List of SAML Identity Providers 2-1. AWSプロバイダの作成の 手順7. でコピーしたARNの値を貼り付ける
-
Parameters に移動し、Role をクリックします
-
Include in User Provisioning にチェックを入れて保存します
-
Access タブに移動し、割り当てたいユーザーが属するロールを選択後、[Save]をクリックします
- Provisioning > Workflowの Enable provisioning にチェックを入れて、一度[Save]をクリックして設定を保存します
補足
-
List of SAML Identity Providersに複数ロールを追加することにより、サインインできるアカウントを増やすことができます
(ロールごとに改行を加えるようにしてください)
-
API Connection > Enable をクリックしてAPI接続を有効化します
緑色で Enabled と表示されれば設定は完了です
- Provisioning > Refresh をクリックし、AWS側で変更した情報を取得します
-
Rules > [Add Rule]をクリックします
- AWSのユーザーロールをOneLoginのパラメータをベースに設定することができます
(例)MemberOf(ADの属性)に CN=AWS-Admin を含むユーザーに
OneLogin_MultiAccount_SSO(AWSで作成したロール)を割り当てる
-
Users タブに移動し、対象ユーザーの Pending をクリックします
- [Approve]をクリックし、プロビジョニングを承認します
-
Provisioning State が Provisioned に変化することを確認します
SAML連携の設定は以上です。
SAML SSOの動作確認
- OneLoginに対象ユーザーでログインし、設定した Amazon Web Services (AWS) Multi Account を選択します
- SAML認証が完了し、AWSにSSOされることを確認します
SAML SSOの動作確認は以上です。
SAML SSOの無効化
- AWSにルートユーザーでSSOします
- IAM > IDプロバイダー を開きます
-
2. AWS側の設定 で追加したプロバイダを選択します
- [削除]をクリックします
SAML SSOの無効化は以上です。