Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
EKSの認証認可の仕組みとEKS APIを用いた認可制御について
Search
高棹大樹
March 07, 2024
Technology
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
EKSの認証認可の仕組みとEKS APIを用いた認可制御について
高棹大樹
March 07, 2024
More Decks by 高棹大樹
See All by 高棹大樹
最新技術に積極チャレンジ!EKS共通基盤のこれまでとこれから
daitak
0
320
徹底討論!ECS vs EKS!
daitak
4
2.1k
金融システムで挑む!EKS Auto Mode導入ポイント大全
daitak
0
150
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
820
EKS CapabilitiesでKube Resource Orchestrator(KRO)を試してみた!
daitak
0
160
Kubernetesと共にふりかえる! エンタープライズシステムのインフラ設計・テストの進め方大全
daitak
0
970
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
1
270
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
330
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
290
Other Decks in Technology
See All in Technology
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
160
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
960
あるけみー式LTスライド作成術
alchemy1115
1
170
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
160
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
480
AIで仕事のやり方を変える
matsu7874
3
1k
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
260
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
180
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
300
Where Is JetBrains AI Heading- — Central CLI, Air Alpha, and the Agentic Development Stack
x5gtrn
PRO
0
150
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
150
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
230
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
23k
A Modern Web Designer's Workflow
chriscoyier
699
190k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
680
The World Runs on Bad Software
bkeepers
PRO
72
12k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
270
Agile that works and the tools we love
rasmusluckow
331
22k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
210
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Transcript
EKSの認証認可の仕組みと EKS APIを用いた認可制御について JAWS-UG コンテナ支部 #26 新春大LT祭り 2024年3月7日 株式会社野村総合研究所 マルチクラウドインテグレーション事業本部
金融基盤サービス部 高棹 大樹
1 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
高棹 大樹 – Daiki Takasao NRI 金融基盤サービス部 • 金融機関様向けEKSを用いたマイクロサービス共通基盤 のインフラ担当 主な仕事 趣味 最近の困り事 • キャンプ • 筋トレ • 子供と遊ぶ(相手をしてくれる内に。。) • 飼っている猫が懐いてくれない
2 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
はじめに ◼すこしややこしい、これまでのEKSクラスタ接続時の認証認可の仕組みをおさらいしつつ、 昨年末にリリースされたEKS APIを用いた認可制御についてお伝えいたします ◼JAWSの登壇初めてですのでおてやわらかに。。
3 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesの認証認可について 01 EKSの認証認可について 02 EKS APIを用いた認可制御について 03
4 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
そもそも認証/認可って何? 1.kubernetesの認証認可について ◼認証(Authentication):利用者が本物であるかどうかを確認するプロセス ⚫ パスワード認証、公開鍵認証、他要素認証など色々あるがどれも本人確認のためのプロセス ◼認可(Authorization):認証済みの利用者にリソースへの適切なアクセス権限を付与するプロセス ⚫ Aさんは◦◦システムの管理者だから、◦◦システム内の全てのリソースへの読み書き権限を付与しよう etc..
5 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesクラスタ接続時の認証方法 1.kubernetesの認証認可について ◼kubernetesのcli(kubectl)の設定ファイル(kubeconfig)に記載された証明書、秘密鍵で認証 ◼パスワード認証の機能はkubernetesには無い controlplane ~ ? cat .kube/config apiVersion: v1 clusters: - cluster: ~~(中略)~~ users: - name: user-a user: client-certificate-data: #{証明書をBase64エンコードしたもの} client-key-data: #{秘密鍵をBase64エンコードしたもの}
6 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesクラスタ接続時の認証方法 1.kubernetesの認証認可について ◼kubernetesクラスタが認証局となって証明書を発行 ① opensslコマンドで秘密鍵とCSRを作成 ② CertificateSigningRequest オブジェクトを作成 ③ ②のCSRオブジェクトをapproveして証明書発行 ④ 発行した証明書をkubeconfigに張り付け(前スライドのもの) apiVersion: certificates.k8s.io/v1 kind: CertificateSigningRequest metadata: name: user-a spec: request: #{CSRをBase64エンコードしたもの} signerName: kubernetes.io/kube-apiserver-client expirationSeconds: 86400 # one day usages: - client auth kubectl certificate approve user-a ③証明書発行コマンド ②CertificateSigningRequestオブジェクトのマニフェスト
7 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesの認可の仕組み 1.kubernetesの認証認可について ◼kubernetesの認可はRole-Based Access Control(RBAC) で実現される ◼認証されたUser/GroupとRoleを紐付け(Rolebinding)する事で認可制御を行う Namespace A 管理用Role Namespace A 参照用Role Namespace B 管理用Role Namespace A Namespace B 参照 のみ 全アクション 許可 全アクション 許可 Namespace A 管理用RoleBding Namespace A 参照用RoleBding Namespace B 管理用RoleBding user-a user-b Namespace A,Bの 管理者になりたい Namespace A内の リソースを参照したい kubeconfigで指定したUser
8 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesの認証認可について 01 EKSの認証認可について 02 EKS APIを用いた認可制御について 03
9 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS(Elastic Kubernetes Service)とは? 2.EKSの認証認可について ◼ AWSのマネージドKubernetesサービス ◼ コントロールプレーンの管理が不要、 IAMユーザ/ロールによる認証(k8sでの証明書管理が不要)、などがメリット コントロールプレーンの管理が不要 コンテナ コンテナ コンテナ IAMユーザ/ロールによる認証 コントロールプレーン: ワーカーノードやコンテナの稼働を管理 ワーカーノード: コンテナの稼働環境
10 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
aws-auth Configmapを用いたIAM連携 2.EKSの認証認可について ◼IAMユーザ/ロールとk8s User/Groupの紐付けをaws-authというConfigmapで設定する controlplane ~ ? kubectl describe cm aws-auth -n kube-system Name: aws-auth Namespace: kube-system ~~(中略)~~ Data ==== mapRoles: ---- ~~(中略)~~ - rolearn: #{IAMユーザ/ロールのARN} username: #{User名} groups: - #{Group名} controlplane ~ ? cat .kube/config apiVersion: v1 clusters: - cluster: ~~(中略)~~ users: - name: user-a user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - eks - get-token - --cluster-name - my-eks - --region - ap-northeast-1 command: aws ~~(中略)~~ IAMユーザ/ロールの権限で aws cliを実行しトークン取得 IAMとk8s User/Group の紐付けを設定する
11 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
aws-auth Configmapを用いたIAM連携 2.EKSの認証認可について ◼絵にすると以下のイメージ ◼k8sのRBAC設定(Rolebinding,Role)は個別に用意する必要あり ◼aws-auth Configmapのメンテも必要でちょっと複雑 aws-auth Configmap user-a用 IAMユーザ/ロール user-b用 IAMユーザ/ロール
12 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
kubernetesの認証認可について 01 EKSの認証認可について 02 EKS APIを用いた認可制御について 03
13 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIを用いた認可制御について 3.EKS APIを用いた認可制御について ◼aws-auth Configmapの代替として最近出た連携方式 ◼aws-auth Configmapはもちろん、k8s のRBACを作成せずに認可制御ができる様になった! ◼新しい2つの概念 EKS access entry: AWS IAMユーザ/ロールに直接紐付くID EKS access policy: EKSプリセットの認可ポリシー
14 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIを用いた認可制御について 3.EKS APIを用いた認可制御について ◼以下のEKS access policyが用意されている ◼k8sプリセットのClusterRoleにそれぞれ対応している AmazonEKSClusterAdminPolicy - cluster-admin AmazonEKSAdminPolicy - admin AmazonEKSEditPolicy - edit AmazonEKSViewPolicy - view 権限レベル 強 弱
15 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
aws-auth Configmapとの比較 3.EKS APIを用いた認可制御について ◼aws-auth Configmap ◼EKS API aws-auth Configmap user-a用 IAMユーザ/ロール user-b用 IAMユーザ/ロール Namespace A Namespace B access policy EKSAdminPolicy access policy EKSViewPolicy 全アクション 許可 参照のみ access entry user-a用 IAMユーザ/ロール RBACやaws-authを作成しなくてよい!シンプル! access entry user-b用 IAMユーザ/ロール
16 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証① 3.EKS APIを用いた認可制御について ◼APIを用いたIAM連携を試してみた ① まずEKS access entry作成する 対象EKSクラスタ名を指定 対象IAMユーザ/ロールを指定 access entryが作成された
17 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証① 3.EKS APIを用いた認可制御について ② 作成したaccess entryをaccess policyに関連付ける 対象EKSクラスタ名を指定 対象IAMユーザ/ロールを指定 関連付けするaccess policyを指定 権限の範囲を指定 今回は”apl-a” Namespaceへのアクセスを指定している access entryに関連付けられた access policyが表示される
18 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証① 3.EKS APIを用いた認可制御について ③ 稼働確認 access policyが効いているので apl-aのリソースにはアクセスできる 他のNamespace(ここでは default)にはアクセスできない
19 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
access entryとkubernete RBACとの連携 3.EKS APIを用いた認可制御について ◼access policyは便利な反面、k8sのリソース種別単位の権限付与等細かい制御はできない ⚫ 例: Namespace内のPodのみアクセスさせたいが他リソース(Configmap,Secret等)にはアクセスさせたくない ◼access entryに設定したGroupをk8s RBACに関連付ける事で実現可能 Namespace A access entry user-a用 IAMユーザ/ロール pod configmap secret pvc Namespace A Pod管理用Role Namespace A Pod管理用 RoleBding Group ・・・
20 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証② 3.EKS APIを用いた認可制御について ◼access entryとk8s RBAC連携も試してみた ① Groupを指定してEKS access entry作成する Group名を指定してaccess entry作成
21 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証② 3.EKS APIを用いた認可制御について ② 必要な権限を付与したRole作成 ※スクショ割愛 ③ ①のGroupを指定してRolebinding作成 Roleを指定 Groupを指定
22 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
EKS APIの実機検証② 3.EKS APIを用いた認可制御について ④ 一応稼働確認 Podは作成できる Configmap,Secretは作成できない
23 Copyright (C) Nomura Research Institute, Ltd. All rights reserved.
まとめ ◼EKS APIを用いる事でIAMを用いたEKSクラスタ接続設定が簡単になった! ◼大体の用途であれば、 access policyで事足りるはず ◼access entryはk8s RBACと連携可能なので、きめ細かい権限制御もやろうと思えばできる ◼kubernetesマニフェストの様にaccess entryやaccess policyとの関連付けの内容を宣言的に 管理できるとなお良いかも
None