首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从AWS EKS中的服务帐户中承担AWS角色

从AWS EKS中的服务帐户中承担AWS角色
EN

Stack Overflow用户
提问于 2020-07-08 05:13:52
回答 1查看 3.4K关注 0票数 3

当前设置: python应用程序正在AWS集群中作为Docker容器运行。AWS密钥在kubernetes集群中作为机密提供,这样python代码就可以读取、初始化boto3会话并使用S3桶工作。

如何更改它:承担一个在AWS集群中运行Docker容器的服务帐户的角色,然后使用此凭据初始化boto3会话,并使用S3桶进行工作。我不想向每个服务提供AWS密钥,因为我有很多AWS密钥。

是否有任何方法实现所需的配置?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-07-16 03:37:49

简化的Kubernetes版本1.12 OIDC JSON web令牌,Amazon现在在每个集群中托管一个公共OIDC发现端点,其中包含JSON web令牌的签名密钥,因此外部系统(如IAM )可以验证和接受Kubernetes发出的OIDC令牌。

这方面的AWS指南位于:https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/

github的AWS指南:https://github.com/aws/amazon-eks-pod-identity-webhook/

步骤如下所述

aws eks describe-cluster --name cluster_name --query "cluster.identity.oidc.issuer" --output text

  1. Get OIDC提供程序URL:

  1. 使用联邦身份创建角色,并为角色

获取ARN

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::AWS_ACCOUNT_ID:oidc-provider/OIDC_PROVIDER"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "OIDC_PROVIDER:sub": "system:serviceaccount:SERVICE_ACCOUNT_NAMESPACE:SERVICE_ACCOUNT_NAME"
        }
      }
    }
  ]
}

请记住,您需要在这里提到名称空间,确保您有名称为SERVICE_ACCOUNT_NAMESPACE的名称空间。

  1. 在kubernetes

中创建服务帐户

代码语言:javascript
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: SERVICE_ACCOUNT_NAME
  annotations:
    eks.amazonaws.com/role-arn: ARN_OF_ABOVE_IAM_ROLE

使用serviceaccount运行

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  serviceAccountName: SERVICE_ACCOUNT_NAME
  ...

如果一切都做好了,您将能够在您的k8s吊舱中承担这个角色。尝试在docker容器中运行任何python脚本,

代码语言:javascript
复制
import boto3
client = boto3.client('iam') 
response = client.list_users()
for x in response['Users']:
print (x['UserName']) 

如果允许IAM,这将列出AWS帐户中的用户。

参考资料:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62787974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档