KubernetesのRBAC(ロールベースアクセス制御)を理解する
要件
podからS3にアクセスする
タスク
以下の参考記事をもとに、podからS3を操作する
参考記事
▼podから、S3を操作する方法
▼ kubernetesのRBACに関しての説明ではないが、RBAC概念を理解するにはとてもわかりやすい!
▼OIDCに関して
学べること
RBAC(kubernetes)について
ServiceAccountについて
AWS IAMポリシーについて
AWS IAMロールについて
ヒント
▼OIDCプロバイダーの作成
eksctl utils associate-iam-oidc-provider --region=ap-northeast-1 --cluster=sample-cluster --approve
▼ IAMロールとKubernetesサービスアカウントを作成する
eksctl create iamserviceaccount \
--name loki-sa \
--cluster sample-cluster \
--attach-policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--role-name loki_s3_role \
--approve
▼ podの作成 (aws ls s3のコマンドが使えるpod)
apiVersion: v1
kind: Pod
metadata:
name: test-iam-sa-pod
labels:
app: test-iam-sa-app
spec:
containers:
- name: test-iam-sa
image: amazon/aws-cli
command: [ "/bin/bash", "-c", "--" ]
args: [ "while true; do sleep 30; done;" ]
serviceAccountName: loki-sa
ハマりポイント
ServiceAccountは、同じnamesapce内に作らないと動かない
ex )
ServiceAccountのnamesapceがdefault なら、podのnamespaceはdefault。
ServiceAccountのnamesapceがkube-system なら、podのnamespaceはkube-systemでないと適応されないよ
関連タグ
この記事が気に入ったらサポートをしてみませんか?