Amazon Connect 使用SAML2 IDP登陆

Amazon Connect 使用SAML2 IDP登陆

Amazon Connect可以为企业提供呼叫中心服务,是企业接入用户的一个非常好的选择。本文将讨论如何在Amazon Connect中启用基于SAML2.0的IDP登陆。

创建Amazon Connect实例

前提: 你需要有一个已经绑定了信用卡的AWS账户

本文的账户选择的数据中心是法兰克福,所以示例的region都是eu-central-1

我们需要有一个Amazon Connect的实例,具体创建步骤如下:

  1. 登陆AWS后,在AWS Management Console选择Amazon Connect服务

  2. 点击页面中间的Get started以开始创建实例

  3. 选择SAML 2.0-based authentication的方式进行用户身份认证,自己起一个自己喜欢的实例明,然后Next Step

image-20191004160601315.png
  1. 后续的步骤比较简单,跟着走就好了,不需要特殊设置,直到完成。完成后页面会跳转到Amazon Connect的欢迎页。

  2. 后续就是申请电话号码,创建接线员账户,配制电话路由规则等,大家可以自行查阅AWS官方文档,这里不再赘述。

配制IDP

不同的IDP配制起来可能不太一样,但是基本都是交换应用程序的metadata.xml与IDP的metadata.xml里面的信息。本文以AWS自己的SSO服务为例。

  1. 进入AWS的SSO服务,

  2. 创建一个Application用来服务我们创建的Amazon Connect实例,创建的参数都可以使用默认配置,除了RelayState需要使用:https://region-id.console.aws.amazon.com/connect/federate/instance-id

  3. 完成之后可以把通过点击AWS SSO metadata模块下的Download metadata file下载下来

启用IAM管理

启用AWS的IAM服务,在Identify Providers面板选择Create Provider创建一个新的IDP,类型选择SAML,metadata文件是上一部中我们下载下来的xml文件。

然后,创建一个Policy,创建步骤:

  1. 在IAM面板,选择Policies,然后点击Create Policy

  2. 在Create Policy页面选择JSON面板,输入以下内容:

    {
     "Version": "2012-10-17",
     "Statement": [
     {
     "Sid": "Statement2",
     "Effect": "Allow",
     "Action": "connect:GetFederationToken",
     "Resource": "*",
     "Condition": {
     "StringEquals": {
     "connect:InstanceId": "<这里是你的amzon connect实例的id>"
     }
     }
     }
     ]
    }
`connect:InstanceId`是你的amazon connect实例的id,你可以在amazon connect服务页面,选中你的实例,在instace的overview页面中ARN的最后一部分就是你的instance id
  1. 点击Review Policy然后给你的策略起个名字,选择Create Policy就创建好了

然后我们需要创建一个role,并与刚刚创建的策略关联起来,具体步骤如下:

  1. 在IAM面板,选择Roles,然后点击Create Role

  2. 在Create Role页面选择SAML2 Federation,在SAML Provider中选择我们创建的IDP,允许变成和控制台访问

image-20191004164528773.png
  1. 在Attach Permissions Policies面板中勾选我们刚刚创建的Policy,然后下一步,然后Review,没问题的话起个名字,一个Role就创建好了。

更新IDP中我们创建的Application的配置

现在,回到我们在SSO中为amazon connect创建的application,在Attributes Mapping面板中,添加下面两个字端:

  • Key: https://aws.amazon.com/SAML/Attributes/RoleSessionName Value: ${user:email}

  • Key: https://aws.amazon.com/SAML/Attributes/Role Value: ,

image-20191004170329321.png

保存。

添加用户

至此,我们就完成了所有基本配制,下面就是用户的管理。

amazon connect

进入amazon connect的用户管理面板添加用户,由于启用了IDP,这时候是不需要为用户创建密码的

SSO

在SSO服务的Directory面板中添加用户,你可以使用AWS的directory服务,也可以使用自己的directory服务。

NOTE:

amazon connect中创建的用户的用户名和SSO中创建的用户的邮箱必须要相同,才可以从SSO映射过去。

测试

这时候,我们再次打开amzon connect的登陆页面,发现它并没有帮我们跳转到登陆页面,而是出现了以下情况:

image-20191004165819843.png

这是因为Amazon Connect不会自己初始化SSO请求的流程,必须从IDP端发起,在这个例子中,我们可以通过SSO服务中,directory面板中的User portal URL来登陆(这一点真的很菜!)。

你可能感兴趣的:(Amazon Connect 使用SAML2 IDP登陆)