新規作成したIAMユーザーでEKS環境を操作できるようにする
5679 ワード
やりたいこと
- 新規ユーザーでEKSを操作したい
- とりあえず
system:masters
というKubernetesの世界でのroot権限を割り当てる
- 今後はもうちょい絞りたい
- 権限周り難しい・・・
手順
ユーザーの作成
- APIアクセス可能な権限で作る
ポリシーの作成
-
system:masters
を使う
kubectl describe clusterrolebinding cluster-admin
Name: cluster-admin
Labels: kubernetes.io/bootstrapping=rbac-defaults
Annotations: rbac.authorization.kubernetes.io/autoupdate: true
Role:
Kind: ClusterRole
Name: cluster-admin
Subjects:
Kind Name Namespace
---- ---- ---------
Group system:masters
-
aws eks update-kubeconfig
が実行できればいい(eks:DescribeCluster
が最低限あればいいみたい)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:DescribeNodegroup",
"eks:ListNodegroups",
"eks:DescribeCluster",
"eks:ListClusters",
"eks:AccessKubernetesApi",
"ssm:GetParameter",
"eks:ListUpdates",
"eks:ListFargateProfiles"
],
"Resource": "*"
}
]
}
system:masters
というKubernetesの世界でのroot権限を割り当てる- 権限周り難しい・・・
ユーザーの作成
- APIアクセス可能な権限で作る
ポリシーの作成
-
system:masters
を使う
kubectl describe clusterrolebinding cluster-admin
Name: cluster-admin
Labels: kubernetes.io/bootstrapping=rbac-defaults
Annotations: rbac.authorization.kubernetes.io/autoupdate: true
Role:
Kind: ClusterRole
Name: cluster-admin
Subjects:
Kind Name Namespace
---- ---- ---------
Group system:masters
-
aws eks update-kubeconfig
が実行できればいい(eks:DescribeCluster
が最低限あればいいみたい)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:DescribeNodegroup",
"eks:ListNodegroups",
"eks:DescribeCluster",
"eks:ListClusters",
"eks:AccessKubernetesApi",
"ssm:GetParameter",
"eks:ListUpdates",
"eks:ListFargateProfiles"
],
"Resource": "*"
}
]
}
Configmapをeditで修正
kubectl edit configmap/aws-auth -n kube-system
追加する値
- userを指定する場合は
userarn
などとする
mapUsers: |
- userarn: arn:aws:iam::123456789012:user/autodeploy-executer-production
username: eks-operator
groups:
- system:masters
configmap全体
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
data:
mapRoles: |
- groups:
- system:bootstrappers
- system:nodes
rolearn: arn:aws:iam::123456789012:role/eksctl-vamdemic-production-eks-clus-NodeInstanceRole-1NW6OO5XFQCMZ
username: system:node:{{EC2PrivateDNSName}}
mapUsers: |
- userarn: arn:aws:iam::123456789012:user/autodeploy-executer-production
username: eks-operator
groups:
- system:masters
kind: ConfigMap
metadata:
creationTimestamp: "2021-04-27T07:10:47Z"
name: aws-auth
namespace: kube-system
resourceVersion: "30541"
selfLink: /api/v1/namespaces/kube-system/configmaps/aws-auth
uid: 42befb87-d552-42fa-b8d7-672482a5e2f9
動作確認
- クレデンシャルを発行
-
aws configure
で指定する -
aws eks update-kubeconfig <クラスタ名>
を実行 - kubectlでなにがしかのリソースが参照できればOK
参考
https://qiita.com/taishin/items/dfb9a5620f37ffb74fe9
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/add-user-role.html
Author And Source
この問題について(新規作成したIAMユーザーでEKS環境を操作できるようにする), 我々は、より多くの情報をここで見つけました https://qiita.com/yuta_vamdemic/items/43f76641df11da0e4dd1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .