美文网首页
IDP(Identity Provider)

IDP(Identity Provider)

作者: 张培_ | 来源:发表于2018-07-19 09:16 被阅读441次

    是什么?

    • 当某一用户已经拥有了一个其他App的用户身份(比如:Google、Okta..)
    • 此时,不需要为这个用户在IAM中创建一个user并且给这个user配置policy
    • 该用户可以直接通过比如Google的用户身份去访问AWS的资源。

    --> 此时Google就是身份提供商

    工作流程

    • 如果某个用户想要访问AWS service
    • 而作为root用户的你,却没有给他在IAM 上给他创建一个user
    • 当时此用户拥有一个Okta账号密码
    • 此时你在IAM中create IDP for okta配置相关选项,在两者间建立互信机制
    • 并为该Okta账户赋予权限(role)

    此时:

    • 该用户访问AWS资源首先输入自己的okta用户名和密码
    • 通过登录后即可访问role中赋权限访问的资源

    内容包含什么?

    • 如何建立AWS与IDP之间的信任关系
    • 如何给来自IDP的外部账号赋予访问不同service的权限
    image.png

    补充:
    AWS Security Token Service (AWS STS) 创建可控制对您的 AWS 资源的访问的临时安全凭证,并将这些凭证提供给可信用户。

    建立AWS与IDP之间的信任关系

    在AWS的IAM中选择Identity Provider实体,然后创建。

    • 选择type是SAML
    • 到你选用的IDP中创建saml-metadata.xml上传至AWS

    给来自IDP的外部账号赋予访问不同service的权限

    首先需要了解AWS的ROLE实体

    AWS ROLE

    • what:是一个AWS实体,这个实体可以被赋予不同的策略(Policy),也就意味着某一个ROLE具有对某个AWS SERVICE的某种操作权限。但是这个ROLE并不是分配给某个USER的,而是分配给AWS资源或者IDP的。
    • why:不同于USER需要输入Access key IDaccess key使用AWS API访问AWS资源。只要当前的资源被赋予了某个可以访问AWS资源的ROLE就可以直接访问。不用担心key被泄露的危险
    • how:创建ROlE之后可以copy出Instance Profile ARNs attach到需要使用这个role的AWS资源即可
      image.png
    • 参考资料:http://blogzhoubo.iteye.com/blog/2381624
    • 原理:ec2内部是通过role name调用sts(AWS Security Token Service)来获取credentials信息的。这种动态获取的credentials是有生存周期的,过期自动失效,ec2 instance会在过期之前自动获取新的credentials,ec2 instance会把有效的credentials保存在meta-data中
    • 给IDP用户的权限通常都是通过给Role实现的
    • 因此可通过到AWS UI上选择SAML 2.0 federation创建角色

    相关文章

      网友评论

          本文标题:IDP(Identity Provider)

          本文链接:https://www.haomeiwen.com/subject/rlogpftx.html