【SAML】Amazon ConnectにOneLoginからSSOしてみた

1 はじめに

CX事業本部の平内(SIN)です。

AWSは、SAML 2.0による ID フェデレーションに対応しており、Amazon Connect(以下、Connect)へのログインも、シングルサインオンが可能になっています。
ID プロバイダーと AWS の間で SAML フェデレーションを有効にする

ここDevelopers.IOでも、既に、サテライトオフィスからSSOする記事が掲載されております。
【SAML】Amazon ConnectにサテライトオフィスからSSOしてみた

今回は、上記の記事を全面的に参考にさせて頂きながら、OneLoginからSSOしてみた作業の纏めです。

作業した手順は、以下のとおりです。それぞれの作業で、必要な諸元がありますので、この通り上から順に進めるとスムーズに構築できると思います。

  • Amazon Connectのインスタンス及び、ユーザー作成
  • OneLogin でApplicationを作成して、SAMLメタデータをダウンロード
  • AWS IAMでIDプロパイダ、ポリシー、ロールを作成
  • OneLoginでConfiguration、Parametersの設定
  • OneLoginでユーザーの作成

2 Amazon Connectのインスタンス及び、ユーザー作成

(1) インスタンス作成

SAML 2.0ベースの認証を選択して、Connectのインスタンスを作成します。

(2) ユーザー作成

ログインするためのユーザーの作成が必要です。

注:ユーザー名は、SSOのログイン名と一致している必要があります。

3 OneLogin でApplicationを作成して、SAMLメタデータをダウンロード

(1) Applicationの作成

メニューから Applications を選択します。

右上のAdd Appをクリックする

Amazon Connectを検索して、選択します。

Saveをクリックすることでアプリ作成が完了します。

(2) SAMLメタデータのダウンロード

More ActionsからSAML Metadataを選択することで、XAMLファイルをダウンロードします。

4 AWS IAMでIDプロパイダ、ポリシー、ロールを作成

(1) IDプロパイダの作成

IAMコンソールで、IDプロパイダ - プロパイダの作成を選択します。

プロパイダのタイプでSAMLを選択し、メータデータドキュメントでは、OneLoginでダウンロードしたSAMLメタデータを選択します。

IDプロパイダが作成されている様子です。

(2) ポリシーの作成

以下の内容でポリシーを作成します。リソースには、対象のConnectインスタンスのARNが指定されています。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": "connect:GetFederationToken",
            "Resource": [
                "arn:aws:connect:ap-northeast-1:xxxxxxxxxxxx:instance/8e2387c7-283c-43d6-b027-b4aa4579b422/user/${aws:userid}"
            ]
        }
    ]
}

(3) ロールの作成

SAML 2.0 フェデレーションを選択してロールを作成します。

また、ロールには、先に作成したポリシーを追加します。

5 OneLoginでConfiguration、Parametersの設定

(1) Configurationの設定

AppricationsConfigurationを開いて、リージョン名及び、ConnectインスタンスのIDを設定します。

(2) Parametersの設定

AppricationsConfigurationを開いて、以下のように設定します。

  • NameID: Username
  • Role: - Macro -
  • Role Session Name: Username

なお、Macroの内容は、ロールのARNとIDプロパイダのARNをカンマで繋いだものになります。

例)

arn:aws:iam::xxxxxxxx:role/OneLoginRole,arn:aws:iam::xxxxxxxx:saml-provider/OneLogin

6 OneLoginでユーザーの作成

(1) ユーザーの作成

OneLoginのメニューUsersから New Userを選択してユーザーを追加します。

Username に指定するものが、ConnectユーザーのLogin nameに一致している必要があります。

(2) アプリの追加

作成したユーザーを選択し、Applicationsから、作成したアプリを追加します。

追加された状況は、 Appricationsの側のUsersに列挙されるようになります。

7 ログイン

Connectに直接ログインする場合は、SSOを開いて、SAML 2.0 Endpoint(HTTP) に記載されたURLを使用します。

OneLoginで設定したパスワードで、Connectにログインすることができます。

8 最後に

今回は、OneLoginを使用して、ConnectにSSOする要領を確認してみました。 OneLoginでは、Connect専用のアプリが用意されているため、作業は、比較的に簡単だと思います。

9 参考にさせて頂いたリンク


SAML 2.0 フェデレーティッドユーザーが AWS マネジメントコンソールにアクセス可能にする
サードパーティーの SAML ソリューションプロバイダーと AWS の統合
【SAML】Amazon ConnectにサテライトオフィスからSSOしてみた

コメントは受け付けていません。