AWS eks 用户授权

这篇具有很好参考价值的文章主要介绍了AWS eks 用户授权。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景: 国内使用阿里云惯了,点点就可以完成大部分的工作,国外的AWS 大都是命令行操作,且权限设置的特别细,在创建集群后,给用户授权的工作中走了很多弯路,特记录一下。

前置条件:

1. 安装aws cli 、eksctl 命令行工具

案例: 授予用户对EKS集群的管理员权限

1. 把用户与k8s 中的Group组做映射

eksctl create iamidentitymapping \
    --cluster my-cluster \
    --region=region-code \
    --arn arn:aws:iam::111122223333:user/my-user \
    --group system:masters \
    --no-duplicate-arns

2.生成kubeconfig 文件

aws eks update-kubeconfig --name eks-cluster-name --region aws-region

3.验证

# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   45h

案例:授予role 对EKS集群的只读权限

1.创建iam role 角色

a.创建信任策略

创建一个名为 eks-connector-agent-trust-policy.json 的文件,其中包含要用于 IAM 角色的以下 JSON。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SsmControlChannel",
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel"
            ],
            "Resource": "arn:aws:eks:*:*:cluster/*"
        },
        {
            "Sid": "ssmDataplaneOperations",
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenDataChannel",
                "ssmmessages:OpenControlChannel"
            ],
            "Resource": "*"
        }
    ]
}

b.创建策略

创建一个名为 eks-connector-agent-policy.json 的文件,其中包含要用于 IAM 角色的以下 JSON。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SsmControlChannel",
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateControlChannel"
            ],
            "Resource": "arn:aws:eks:*:*:cluster/*"
        },
        {
            "Sid": "ssmDataplaneOperations",
            "Effect": "Allow",
            "Action": [
                "ssmmessages:CreateDataChannel",
                "ssmmessages:OpenDataChannel",
                "ssmmessages:OpenControlChannel"
            ],
            "Resource": "*"
        }
    ]
}

c.创建AmazonEKSConnectorAgentRole 角色

使用您在之前列表项中创建的信任策略和策略创建 Amazon EKS Connector 代理角色。

aws iam create-role \
     --role-name AmazonEKSConnectorAgentRole \
     --assume-role-policy-document file://eks-connector-agent-trust-policy.json

将该策略附加到 Amazon EKS Connector 代理角色。

aws iam put-role-policy \
     --role-name AmazonEKSConnectorAgentRole \
     --policy-name AmazonEKSConnectorAgentPolicy \
     --policy-document file://eks-connector-agent-policy.json

2. 创建k8s rbac 权限

  eks-console-full-access.yaml  文件内容如下:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: eks-console-dashboard-full-access-clusterrole
rules:
- apiGroups:
  - ""
  resources:
  - nodes
  - namespaces
  - pods
  - configmaps
  - endpoints
  - events
  - limitranges
  - persistentvolumeclaims
  - podtemplates
  - replicationcontrollers
  - resourcequotas
  - secrets
  - serviceaccounts
  - services
  verbs:
  - get
  - list
- apiGroups:
  - apps
  resources:
  - deployments
  - daemonsets
  - statefulsets
  - replicasets
  verbs:
  - get
  - list
- apiGroups:
  - batch
  resources:
  - jobs
  - cronjobs
  verbs:
  - get
  - list
- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - get
  - list
- apiGroups:
  - discovery.k8s.io
  resources:
  - endpointslices
  verbs:
  - get
  - list
- apiGroups:
  - events.k8s.io
  resources:
  - events
  verbs:
  - get
  - list
- apiGroups:
  - extensions
  resources:
  - daemonsets
  - deployments
  - ingresses
  - networkpolicies
  - replicasets
  verbs:
  - get
  - list
- apiGroups:
  - networking.k8s.io
  resources:
  - ingresses
  - networkpolicies
  verbs:
  - get
  - list
- apiGroups:
  - policy
  resources:
  - poddisruptionbudgets
  verbs:
  - get
  - list
- apiGroups:
  - rbac.authorization.k8s.io
  resources:
  - rolebindings
  - roles
  verbs:
  - get
  - list
- apiGroups:
  - storage.k8s.io
  resources:
  - csistoragecapacities
  verbs:
  - get
  - list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: eks-console-dashboard-full-access-binding
subjects:
- kind: Group
  name: eks-console-dashboard-full-access-group
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: eks-console-dashboard-full-access-clusterrole
  apiGroup: rbac.authorization.k8s.io

创建命令

kubectl apply -f eks-console-full-access.yaml

3. 把role角色与k8s集群做映射

eksctl create iamidentitymapping \
    --cluster my-cluster \
    --region=region-code \
    --arn arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole \
    --group eks-console-dashboard-full-access-group \
    --no-duplicate-arns

案例:授予普通用户对k8s的权限

1.把用户与k8s集群做映射   示例中的--group  对应k8s中的ClusterRoleBinding的Group名称

eksctl create iamidentitymapping \
    --cluster my-cluster \
    --region=region-code \
    --arn arn:aws:iam::111122223333:user/my-user \
    --group eks-console-dashboard-full-access-group \
    --no-duplicate-arns

2.更新本地k8s的config 文件

aws eks update-kubeconfig --name eks-cluster-name --region aws-region

3.执行kubectl 命令验证文章来源地址https://www.toymoban.com/news/detail-467398.html

# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   45h

到了这里,关于AWS eks 用户授权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AWS CLI创建Amazon EKS服务

    Amazon EKS文档 前言: 创建ClusterRole需要选择一下的角色 AmazonEKSClusterPolicy 创建NodeRole需要选择一下的角色 AmazonEC2ContainerRegistryReadOnly AmazonEKSWorkerNodePolicy AmazonEKS_CNI_Policy 1、创建 Amazon EKS 集群 IAM 角色 1)创建json 2)创建 Amazon EKS 集群 IAM 角色 3)将名为 GamefiAmazonEKSClusterRole的 Am

    2024年02月11日
    浏览(39)
  • AWS EKS 集群自动扩容 Cluster Autoscaler

    Amazon EKS 是托管的 Kubernetes 服务,可以使用 HPA 和 Cluster Autoscaler 来在集群中实现弹性伸缩,以满足应用程序的需求并节省资源成本。 Kubernetes(K8s)提供了自动伸缩机制,旨在根据应用程序负载和资源需求的变化自动调整应用的副本数量或节点数量,以满足性能需求和优化资

    2024年02月12日
    浏览(35)
  • 阿里云大数据实战记录9:MaxCompute RAM 用户与授权

    先抛一个问题: 作为 maxcompute 的管理员,拥有较高的权限,为什么访问不了设置了敏感列的数据? 这个问题是我最近遇到的一个难题之一。 一开始我以为作为 maxcompute 管理员,应该可以“畅通无阻”,却没想到,敏感列迟迟无法访问,中间做了很多功夫,读了很多官方文档

    2024年02月10日
    浏览(59)
  • 【云原生】AWS创建EKS1.25(Kubernetes)集群

    我这里使用的是 eksctl 命令创建的,更多信息:https://eksctl.io/usage/schema/ 1、编写 yaml 文件 vim eks-cluster.yaml 2、创建集群 3、本地管理 获取 config 文件自动添加到 ~/.kube/config 使用 kubectl 工具管理集群,现在可以使用 kubectl 工具管理集群了

    2024年02月13日
    浏览(39)
  • aws的eks平滑删除work节点实现降配

    背景 我们的EKS的Master是托管的,Work节点是EC2,目前EC2的配置为c5.4large,现在需要降配成m5.2xlarge。 官网 基础背景知识 k8s命令对node调度 有三个命令,分别是: cordon,drain,delete 。 (1)cordon 停止调度 影响最小,只会将node调为SchedulingDisabled 之后再发创建pod,不会被调度到该

    2024年02月03日
    浏览(38)
  • AWS alb eks traefik realip后端真实IP

    亚马逊 eks 集群代理用了traefik alb绑定 traefik 在node 上面暴露的端口,对外提供服务。一直也没有在意是否能正常获取客户端IP(腾讯云 阿里云的traefik 后端应用都能正常获取客户端IP),后端php服务基础镜像基于https://github.com/richarvey/nginx-php-fpm构建,对日志进行了json格式化,

    2024年02月11日
    浏览(34)
  • 玩转aws之(二)eks 设置efs(nfs)存储卷pvc

    目录 1. 前言 2. 配置步骤 3. 安装csi驱动 3.1 创建iam policy 3.2 安装CFS csi驱动 4. 创建EFS 4.1 创建EFS访问安全组及放通EKS访问 4.2 根据EKS集群创建对应的EFS文件系统 4.3 创建挂载目标 5. 创建存储类 5.1 获取efs id 5.2 创建存储类 6. 创建pvc 7. pod挂载pvc使用 8. 总结   EKS支持两种持久性存

    2024年02月01日
    浏览(74)
  • AWS 专题学习 P8 (ECS、EKS、Lambda、CloudFront、DynamoDB)

    专题内容总览和系列博客目录 https://blog.csdn.net/weixin_40815218/article/details/135590291 辅助资料( PDF ) https://download.csdn.net/download/weixin_40815218/88741566 Docker 是一个用于部署应用程序的软件开发平台 Docker 容器可以在任何操作系统上运行,应用程序运行在容器中 应用程序运行过程相同,

    2024年01月21日
    浏览(40)
  • 【云原生】AWS EKS1.25配置StorageClass-EFS存储类

    简介 StorageClass在kubernetes中定义为一种存储“类”,我们使用此类型的资源能帮助我们减少人工手动创建PV、PVC,了解更多信息可参考:存储类 | Kubernetes 卷插件支持AWS EBS、NFS等,我们需要改用EFS产品,在Github有人创建了EFS的插件 工作目录 cd /dwz/yaml/storageclass/ 工具及版本 区域

    2024年02月13日
    浏览(35)
  • AWS EKS集群安装EBS CSI驱动程序,创建PVC动态存储卷

    开发测试环境需要创建redis,mysql等中间件,使用动态pvc存储并挂载卷。 什么是EBS CSI DRIVER Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) 驱动程序允许 Amazon Elastic Kubernetes Service (Amazon EKS) 集群管理持久性卷的 Amazon EBS 卷的生命周期。 为什么要安装EBS CSI DRIVER EKS 1.24及

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包