【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の設定
AppricationsのConfigurationを開いて、リージョン名及び、ConnectインスタンスのIDを設定します。
(2) Parametersの設定
AppricationsのConfigurationを開いて、以下のように設定します。
- 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 マネジメントコンソールにアクセス可能にする