10.3K Views
May 14, 21
スライド概要
SPIFFE Meetup Tokyo #3 の登壇資料です。
https://spiffe-jp.connpass.com/event/205213/
Yahoo! JAPANではサービス間通信のアクセス制御にAthenzが使われており、アクセス制御のためのIdentityとしてX.509証明書が利用できます。マイクロサービスを始めとする大量のワークロードが存在する環境では、X.509証明書やその秘密鍵の手動管理はセキュリティ面や運用コスト面で問題があります。Yahoo! JAPANでは証明書の自動配付を進めており、一部の本番環境向けにSPIREを採用しました。本セッションでは、SPIRE導入の背景から始まり、独自の実装についての話や、導入にあたってのSPIRE Serverの構成や課題など、それぞれの担当者から共有したいと思います。
Bio: 矢野 達也 ヤフー株式会社, Web ServiceやSmartphone Appの開発/運用に従事した後、現在はYahoo! JAPANにおけるアプリケーション間アクセス制御のDevOpsを行うチームでProduct Ownerを担当しています。AthenzのContributorとしても活動しており、KubeCon等のカンファレンスでの発表も行なっています
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Athenz & Spire によるアクセス制御 ヤフー株式会社 矢野 達也 2021/04/20
自己紹介 矢野 達也 Web ServiceやSmartphone Appの開発/運用に従事した後、現在はYahoo! JAPAN におけるアプリケーション間アクセス制御のDevOpsを行うチームでProduct Ownerを担当しています。AthenzのContributorとしても活動しており、KubeCon 等のカンファレンスでの発表も行なっています。 今やっていること Athenz の Yahoo!JAPAN 社内での導入、機能拡充など 好きなもの 自動化、システム連携など Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
Yahoo! JAPANにおけるクラウド環境 Yahoo! JAPAN Cloud computing environments AuthN / AuthZ OpenStack Kubernetes AuthN / AuthZ AuthN / AuthZ Pivotal Application Service Instance Instance Screwdriver AuthN / AuthZ Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3
クラウド環境におけるアクセス制御の課題 • 認証情報の確実さや設定の作業コスト • IPアドレスでは同一Nodeのアプリ AuthN credential ケーションを識別できない AuthZ Policy AuthN / AuthZ Instance • 認証情報を手動で設定するコスト AuthN / AuthZ AuthN / AuthZ • アクセス制御設定の複雑さ • スケールアウトに応じた反映コスト Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Instance AuthN / AuthZ 4
とは • クラウド環境でのアプリケーション間アクセス制御(SSoT) • ロールベースのアクセス制御(RBAC) • Yahoo Inc.(現 Verizon Media)が開発しオープンソース化 • Yahoo! JAPANにてコントリビュート • CNCF Sandbox project Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 5
の機能 • 認可 - Authorization (AuthZ) X.509 certificate or Token Fine-grained RBAC Policy • Role ベースのアクセス制御 (RBAC) Application • Policy による細かなアクセス制御 AuthN / AuthZ • 認証 - Service Authentication (AuthN) • 接続元IPアドレスに依存しない公開鍵認証 Application Cloud • 各 Application に Token 又は X.509証明書 を自動配布 Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
Athenz による Policy を用いた RBAC Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
なぜ を導入するのか • AthenzによるTokenやX.509証明書の自動配布 (Copper Argos) • Copper Argos では OpenStack 向けのオープンソース実装がない • Spire で各 Workload に X.509証明書 を自動配布する仕組みを実現 Copper Argos open-source specification OpenStack Kubernetes Screwdriver Amazon EC2 AWS ECS AWS Lambda Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
X.509証明書の自動配布 (Identity Provisioning) Node attestation Workload attestation Copper Argos mTLS mTLS Instance mTLS mTLS Instance Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
Athenz と Spire で共有される SPIFFE ID • Athenz Copper Argos で発行される X.509証明書 spiffe://<athenz-domain>/sa/<athenz-service> spiffe://<athenz-domain>/ra/<athenz-service> • Spire で発行される X.509証明書 (SVID) spiffe://<spire-trust-domain>/ns/<athenz-domain>/sa/<athenz-service> spiffe://<spire-trust-domain>/ns/<athenz-domain>/ra/<athenz-service> Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
Athenz • Website: http://www.athenz.io • CNCF Sandbox: https://www.cncf.io/sandbox-projects/ • Github: https://github.com/yahoo/athenz • Slack Channel: https://athenz.slack.com/ • Athenz Case Studies: • Kubernetes: https://www.athenz.io/casestudies.html#kubernetes • Google Group: Athenz-Users • Questions or Comments: https://github.com/tatyano Copyright (C) 2021 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11