1. 创建 EKS Admin Policy
这个策略限制了只能EKS服务使用
2. 创建 EKS admin Role
- Assume: 假装,令这程序 “假装”(Assume) 这个角色, 这样它就有了这个角色的权限
- 一个 IAM Role 可以让很多程序一起 Assume
- 创建角色必须需要指定assume_role_policy
- assume_role_policy:允许什么主体(Principal)能够assume(假扮,扮演,拥有)该角色
- 因为我们计划用 eks-manager 这个账户来assume这个角色
Principal
: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-bucket-user-policy-specifying-principal-intro.html
3.为角色绑定策略
resource "aws_iam_role_policy_attachment" "eks-admin-policy" {
policy_arn = aws_iam_policy.AmazonEKSAdminPolicy.arn
role = aws_iam_role.eks-admin.name
}
4.创建eks-manager
账户(User)
关于keybase
与terraform
如何使用
5.为eks-manager
创建策略
- 官方:获得策略的用户(通过组成员资格或直接附加)被允许切换到指定的角色
- 授予拥有该策略的角色/用户调用AssumeRole获取扮演Role角色的临时身份凭证(限制了只能扮演 aws_iam_role.eks-admin.arn)
- 也就是说 eks-manager -> AssumeRole -> 扮演(假装)eks-admin角色 -> 拥有eks-admin的权限
- 为什么不直接给eks-manager添加eks-admin的权限呢?
- 基于AWS最佳安全实践
- 复用,比如eks-manager2也是这个权限 那么就得重新为manager2创建,为何不直接AssumeRole扮演和复用的,那么大型项目有很多个管理者
发表评论 取消回复