OpenStackにおけるインスタンス認証

349 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: 藤代 大介, ヤフー株式会社, ヤフー株式会社でプライベートクラウドの構築、運用に従事。

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

情報区分 ※スライドマスターで編集してください OpenStackにおけるインスタンス認証 ヤフー株式会社 藤代⼤介 Copyright ©2021 (C)Yahoo 2020 Japan Yahoo Corporation Japan Corporation. All rights Allreserved. Rights Reserved.

2.

情報区分 公開 ⾃⼰紹介 藤代 ⼤介 ヤフー株式会社 COOバーティカル統括本部 2014年12⽉ 中途⼊社 2014年12⽉ ~ 2017年9⽉ ウェブ検索のバックエンドエンジニアとして従事 2017年10⽉ ~ 2021年3⽉ プライベートクラウドの開発・運⽤に従事 2021年4⽉ ~ COOバーティカル統括本部へ ©2021 Yahoo Japan Corporation All rights reserved. 2

3.

情報区分 公開 アジェンダ 1. Yahoo! JAPANのプライベートクラウドの紹介 2. OpenStackのインスタンス認証について ©2021 Yahoo Japan Corporation All rights reserved. 3

4.

情報区分 公開 アジェンダ 1. Yahoo! JAPANのプライベートクラウドの紹介 2. OpenStackのインスタンス認証の構成 ©2021 Yahoo Japan Corporation All rights reserved. 4

5.

情報区分 公開 Yahoo! JAPANのプライベートクラウドの紹介 OpenStack OSSのクラウド基盤 マイクロサービス化された複数のコンポーネントで構成される Yahoo! JAPANではOpenStackでサービス開発者にインスタンスを提供 ©2021 Yahoo Japan Corporation All rights reserved. 5

6.

情報区分 公開 Yahoo! JAPANのプライベートクラウドの紹介 Yahoo! JAPANのOpenStack 稼働時期: 2013年~ OpenStack version: Grizzly~Rocky クラスタ数: 200+ 運⽤⼈数: 20+ (全員が開発との兼任) HV数: 21,000+ VM数: 170,000+ ラック数: 1,000+ ©2021 Yahoo Japan Corporation All rights reserved. 6

7.

情報区分 公開 Yahoo! JAPANのプライベートクラウドの紹介 クラウド利⽤⽬的の変化 2013年~ 既存のベアメタルをインスタンスへ置き換えたい 2014年~ クラウドネイティブなアーキテクチャを採⽤したい 2015年~ システム毎の要件にマッチするようなOpenStackクラスタがほしい 2016年~ プラットフォームの基盤として使いたい ©2021 Yahoo Japan Corporation All rights reserved. 7

8.

情報区分 公開 アジェンダ 1. Yahoo! JAPANのプライベートクラウドの紹介 2. OpenStackのインスタンス認証について ©2021 Yahoo Japan Corporation All rights reserved. 8

9.

情報区分 公開 OpenStackのインスタンス認証について SPIREの導⼊にむけて Node Attestationには⾃⾝の⾝元を証明するためのトークンが必要 インスタンス SPIRE Attesation Request リクエスト:トークン 公開鍵を要求 公開鍵を応答 トークン検証 Attest インスタンス X509.証明書を応答 ©2021 Yahoo Japan Corporation All rights reserved. 9

10.

情報区分 公開 OpenStackのインスタンス認証について ⾝元を証明するためのトークン Yahoo! JAPANのOpenStackは、インスタンスの⾝元を証明するために利⽤できるデータがない。 OpenStack IIDを実装して、⾝元を証明するデータとして利⽤するようにした。 ©2021 Yahoo Japan Corporation All rights reserved. 10

11.

情報区分 公開 OpenStackのインスタンス認証について OpenStack IIDとは OpenStack Instance Identity Documents(IID) はOpenStackによって作られるインス タンスが⾃⾝の⾝元を証明するためのトークンであり、IIDは検証可能なインスタンスメタ データであり、インスタンスのみが参照可能な情報として提供する。 OpenStack IIDはJSON Web Token(JWT)の形式である。 ©2021 Yahoo Japan Corporation All rights reserved. 11

12.

情報区分 公開 OpenStackのインスタンス認証について IID APIとは インスタンスの起動の際にOpenStack IIDの発⾏処理を受けるAPIである。 IIDの発⾏があった場合は、インスタンスごとに秘密鍵を⽣成して、OpenStackのAPIから 必要な情報を取得して、IID(JWT形式)を⽣成後、公開鍵はデータベース(DB)で保存し て、署名鍵は破棄して、IIDを応答する。 ©2021 Yahoo Japan Corporation All rights reserved. 12

13.

情報区分 公開 OpenStackのインスタンス認証について アーキテクチャ概要 hypervisor インスタンス nova API 1.インスタンスの起動 をリクエスト nova compute 3.config drive経 由でIIDを配置 SPIRE server SPIRE agent 5.IID APIからJWKを 取得 6.IIDの検証 7.x509証明書をイン スタンスにレスポン ス 4.IIDを送信して、x509証明書をリクエスト 2.IIDを発行要求 IID API 利用者 ©2021 Yahoo Japan Corporation All rights reserved. 13

14.

情報区分 公開 ©2021 Yahoo Japan Corporation All rights reserved.