OneLoginにAmazon ConnectのSAMLコネクタが追加されました

記事タイトルとURLをコピーする

宮澤です。
今回はOneLoginに、Amazon ConnectのSAMLコネクタが追加されたのでその設定手順を紹介します。

1.Amazon Connectの作成

Amazon Connectの画面に移動し"今すぐ始める"を押します。

"SAML2.0 ベースの認証"を選択して、アクセスURLを入力して"次のステップ"を押します。

このタイミングで、管理者を作成する場合は"新しい管理者の追加"を選択して、項目を入力します。
作成しない場合は”これをスキップ”を押して”次のステップ”を押します。

次にテレフォニーオプションを設定します。
今回は発着信両方ともConnectを使う想定なので、両方ともチェックして"次のステップ"を押します。

ログの保存先の設定が表示されますが、デフォルト設定を利用するため"次のステップ"を押します。

Connectの構成確認画面が表示されるので、問題がなければ"インスタンスの作成"を押します。

ユーザー作成

Connectの管理画面から、作成したインスタンスを選択します。

”概要 > 管理者としてログイン”を押します。

"ユーザー > ユーザー管理 > 新しいユーザーの追加"を押します。

ユーザー情報を確認し、問題なければ"ユーザーの作成"を押します。

ユーザーを作成する際、OneLogin上に存在するユーザーと姓、名、メールアドレスが一致するように作成してください。

作成するユーザー情報が表示されるので、問題がなければ”ユーザーの作成”を押します。

2.AWSアカウントとOneLoginをSAML設定

OneLogin側でコネクタ作成

OneLoginに管理者アカウントでログインし、"APPS > Add Apps"へ移動し、"Amazon Connect"と検索し、表示されたアプリケーションを選択します。

Display NameにOneLogin上の表示名を設定し"SAVE"を押します。

 

SAVEを押すと以下の画面に遷移するので、"MORE ACTIONS>SAML Metadata"を押してXMLファイルをダウンロードします。
※後ほどAWSマネジメントコンソールの設定で利用します。

AWS側のIDプロバイダ設定

IDプロバイダの作成

マネジメントコンソールにログイン後IAMの画面に移動し、"IDプロバイダー>プロバイダの作成"を押します。

プロバイダタイプは"SAML"を選択し、プロバイダ名を任意で設定します。
メタデータドキュメントは、先程OneLoginからダウンロードしたファイルを指定して"次のステップ"を押します。

最後に確認画面が表示されるので、問題なければ"作成"を押します。

IAM ポリシーの作成

ConnectをSAML経由で利用する場合、以下のIAMポリシーをロールに付与する必要があるので、任意の名前で以下の2つを作成します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": "connect:GetFederationToken",
            "Resource": [
                "arn:aws:connect:RegionID:AccountNumber:instance/ConnectInstanceID/user/${aws:userid}"
            ]
        }
    ]
}
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement2",
            "Effect": "Allow",
            "Action": "connect:GetFederationToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "connect:InstanceId": "ConnectInstanceID"
                }
            }
        }
    ]
}

IAM Roleの作成

IAMの画面で"ロール > 新しいロールの作成"を押します。

”SAML2.0 フェデレーション”を選択し、"SAMLプロバイダー"の値を先ほど作成した、IDプロバイダーを指定します。
そして、”プログラムによるアクセスとAWSマネジメントコンソールによるアクセスを許可する”を選択して"次のステップ:アクセス権限"を押します。

該当IAMロールで利用する権限を設定します。
先程作成した2つのIAMポリシーを選択して"次のステップ : 確認"を押します。

最後に、ロール名を入力して"ロールの作成"を押します。

OneLoginのParameter設定

OneLoginのコネクタ設定画面に戻り"Parameters"タブを開きます。
ParametersタブではSAML認証を行うときに利用する以下の3つの用に設定します。

  • Amazon Username UsernameAWS上でのユーザーの表示名) : Email
  • Role : arn:aws:iam::アカウントナンバー:role/作成したIAMロール名,arn:aws:iam::アカウントナンバー:saml-provider/作成したIDプロバイダ名
  • RoleSessionName(AWS上でのユーザーの表示名) : Email

次に"Configuration"タブを開き、Connectのリージョンと、ConnectのインスタンスIDを入力して"SAVE"を押します。

最後に"Access"タブを押して、Connectを利用するユーザーが指定されているRoleを指定し"SAVE"を押します。

3.ログイン確認

OneLoginからConnectのAWSアカウントにログインします。

SAMLログインが実行され、以下のダッシュボードに移動することができます。

注意事項

SAMLベースでConnectを作成すると、以下のような通常のログインURLは利用できない状態になります。

https://ConnectAlias.awsapps.com/connect/login

また、Amazon Connectセッションは、ユーザーがログインしてから10時間後に失効します。
10時間後、ユーザーは現在通話中であっても自動的にログアウトされてしまいます。
エージェントに10時間以上ログインさせる予定の場合は、セッションが終了する前に、Amazon ConnectおよびOneLoginからログアウトした後、再度ログインする必要があります。
※これにより、トークンに設定されたセッションタイマーがリセットされます。