Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

再回顾一下架构,我们都要做什么,别乱:

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

看来在AWS上做的工作要多一些。


登录AWS控制台:

进入到IAM这个服务:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

在配置提供程序中,选择SAML,提供商名称自定义,比如WAAD,将刚才下载的元数据文档XML,导入到进去。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

创建成功后如下图所示:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

然后我们创建策略,目的是通过AAD中的用户(我们以John为例),他可以在AWS上执行什么操作,给他什么权限:

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

为了测试,我们只赋予它ListRoles的权限,如下图:也就是这个用户通过SSO登录到AWS上,只能查看AWS role的权限,其他的什么都做不了。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

把下面JSON字符串COPY进去就可以。

 {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
            "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}

创建策略需要填写的信息,自定义即可:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

当我们创建好权限之后,最重要的一步就是将IAM role与Azure AD进行集成,这一步就是创建IAM role角色:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

选择SAML 2.0 联合身份认证,并选择我们刚刚创立成功的SAML提供商。
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

然后 选择刚刚创建的策略AzureAD_SSOUserRole_Policy:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

创建这个角色如下:
AzureAD_SSOUserRole
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

然后我们添加一个IAM用户,这个用户是与角色和Azure AD关联的,如何关联呢?是通过这个IAM用户的AK/SK。我们下一步会在Azure的配置中做。
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

赋予这个用户刚刚创建的策略:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

添加用户成功后,注意,一定要保存好这个用户的AK/SK信息,也就是访问密钥ID和私有访问密钥。当然你也可以下载CSV文件。
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

记住AK/SK,在 Azure AD 用户预配部分输入这些凭据,以便从 AWS 控制台提取角色。

我们回到Azure AD在 Amazon Web Services (AWS) 应用中配置角色预配,
在clientsecret和密钥标记中分别填入:AK/SK信息。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

测试通过后保存:

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

在“设置”部分,为“预配状态”选择“打开”。 再选择“保存” 。如果报错或保存失败,可以返回到Amazon Web Services(AWS)预配中,启动开始预配。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

回到添加分配用户,可以将我们在AWS上创建的role分配给在AAD创建的user了。我们也可以添加更多已有的客户关联到这个角色上。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

当Azure和AWS都配置和同步完活动目录信息后,剩下就是要测试单点登录,测试的方法就是登录一个SSO平台,然后通过登录AzureAD中的用户,可以直接跳转到AWS平台上并拥有我们赋予他AWS上的资源操作权限。我们通过浏览器的方式(多平台兼容)如下:

浏览器扩展插件,我以Chrome举例,如果你使用其他的浏览器或移动设备(iOS或Android)请参考:https://docs.microsoft.com/zh-cn/azure/active-directory/user-help/my-apps-portal-end-user-access 添加扩展程序My Apps Secure Sign-in Extension

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

登录我们创建的User John,选择Amazon Web Service(AWS)应用:

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

然后直接跳转到AWS管理控制台:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

验证权限:我只给John 查看IAM role的权限,其他的都不能做。

Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

访问AWS EC2看一下效果:
Azure AD 与 AWS IAM 集成实现SSO—下(AWS部分)

参考文档:

https://amazonaws-china.com/cn/blogs/security/how-to-automate-saml-federation-to-multiple-aws-accounts-from-microsoft-azure-active-directory/
https://docs.microsoft.com/zh-cn/azure/active-directory/saas-apps/amazon-web-service-tutorial#test-sso

视频课程:https://edu.51cto.com/sd/59552

猜你喜欢

转载自blog.51cto.com/13746986/2519314