4.3K Views
February 25, 21
スライド概要
SPIFFE Meetup Tokyo #1
https://spiffe-jp.connpass.com/event/126507/
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Athenz + SPIFFE によるアクセス制御 ヤフー株式会社 矢野 達也 2019/05/14
自己紹介 矢野 達也 Web ServiceやSmartphone Appの開発/運用に従事した後、現在はAthenzの DevOpsを行うチームでProduct Ownerを担当しています。 Athenz OSSのContributorとしても活動しており、社外での活動も行なっていま す。 今やっていること Athenz の Yahoo!JAPAN 社内での導入、機能拡充など 好きなもの 自動化、システム連携など Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
アジェンダ 1. SPIFFE standards 2. Athenz による X.509証明書の自動配布 3. Athenz による Fine-grained Authorization 4. Athenz with SPIFFE ID Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3
SPIFFE standards Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4
SVID and SPIFFE ID • SVID • X.509-SVID • JWT-SVID • SPIFFE ID • サービスを直接識別 (Identifying services directly) • サービスとそのオーナーを識別 (Identifying service owners) • 不透明(外部依存)な識別子 (Opaque SPIFFE identity) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 5
SPIFFE ID • サービスを直接識別 (Identifying services directly) spiffe://staging.example.com/payments/web-fe spiffe://staging.example.com/payments/mysql • サービスとそのオーナーを識別 (Identifying service owners) spiffe://k8s-west.example.com/ns/staging/sa/default • 不透明(外部依存)な識別子 (Opaque SPIFFE identity) spiffe://example.com/9eebccd2-12bf-40a6-b262-65fe0487d453 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
Workload API • SVID を各 Workload に配布するための仕組み • Zero Trust Network では、 SVID を配布するために Workload をどのよう に認証するかが課題 • Athenz では Copper Argos という検証の仕組みを提供 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
AthenzによるX.509証明書の自動配布 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
とは • クラウド環境でのシステム間アクセス制御 • ロールベースのアクセス制御(RBAC) • Yahoo Inc.(現 Verizon Media)が開発しオープンソース化 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
Athenzの機能 • Service Authentication • 各 Workload に X.509証明書 を自動配布 (Copper Argos) • Authorization • Roleベースのアクセス制御 (RBAC) • Policy による Fine-grained Authorization Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
AthenzによるX.509証明書の自動配布 (Copper Argos) • 各 Workload に X.509証明書 を自動配布する仕組みを提供 • Workload をどのように認証するかはクラウド環境毎に異なる Cloud computing environments OpenStack Kubernetes Screwdriver Amazon EC2 AWS ECS AWS Lambda Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11
Copper Argos Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12
Athenz による Fine-grained Authorization Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 13
Athenz Data Model Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14
Domain アクセス制御設定を 管理する名前空間 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15
Principal 認証済み User or Service Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 16
Role Principalの集合 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17
Policy (Fine-grained Authorization) Athenzにおける アクセス制御 (Fine-grained Authorization) Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18
Athenz による Single Source of Truth Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19
アクセス制御フロー その1:中央アクセス制御 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 20
アクセス制御フロー その2:分散アクセス制御 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21
Athenz with SPIFFE ID Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 22
SPIFFE ID • サービスを直接識別 (Identifying services directly) spiffe://<athenz-domain>/sa/<athenz-service> spiffe://<athenz-domain>/ra/<athenz-role> e.g.) spiffe://sports/sa/config-mgr • サービスとそのオーナーを識別 (Identifying service owners) spiffe://<provider-cluster>/ns/<athenz-domain>/sa/<athenz-service> spiffe://<provider-cluster>/ns/<athenz-domain>/ra/<athenz-role> e.g.) spiffe://k8s-west.cluster/ns/sports/sa/config-mgr Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 23
今後の展望 • Athenz 自体の Docker/Kubernetes deployment 対応 • Kubernets 向け Copper Argos 用 Sidecar Image Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24
参考情報 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 25
Athenz • Website : http://www.athenz.io • Github: https://github.com/yahoo/athenz • Slack Channel: https://athenz.slack.com/ • Discussion Group: • Google Group: Athenz-Users • Questions or Comments: • Tatsuya Yano: https://github.com/tatyano Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26
Q&A Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27
Appendix • Athenz with Istio https://www.youtube.com/watch?v=jhutgE6NwsM • Slides https://github.com/tatyano/SPIFFE-Meetup-Tokyo-1 Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28