---
title: OpenStackにおけるインスタンス認証
tags: 
author: [Yahoo!デベロッパーネットワーク](https://www.docswell.com/user/ydnjp)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V87DZWNNJG.jpg?width=480
description: 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: 藤代 大介, ヤフー株式会社, ヤフー株式会社でプライベートクラウドの構築、運用に従事。
published: May 14, 21
canonical: https://www.docswell.com/s/ydnjp/5NQVE5-2021-05-14-154416
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V87DZWNNJG.jpg)

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


# Page. 2

![Page Image](https://bcdn.docswell.com/page/4VJPD95NJ8.jpg)

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


# Page. 3

![Page Image](https://bcdn.docswell.com/page/L2EV1MPYJQ.jpg)

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


# Page. 4

![Page Image](https://bcdn.docswell.com/page/Z57G2GPW7L.jpg)

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


# Page. 5

![Page Image](https://bcdn.docswell.com/page/V4EQPX2QJP.jpg)

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


# Page. 6

![Page Image](https://bcdn.docswell.com/page/DKJ4Y6LYE1.jpg)

情報区分 公開
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


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PLE16VLNJG.jpg)

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


# Page. 8

![Page Image](https://bcdn.docswell.com/page/8GEWWLQME2.jpg)

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


# Page. 9

![Page Image](https://bcdn.docswell.com/page/W47Z5MWME3.jpg)

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


# Page. 10

![Page Image](https://bcdn.docswell.com/page/KYJ69NG5JV.jpg)

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


# Page. 11

![Page Image](https://bcdn.docswell.com/page/5GJ5N5VGE4.jpg)

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


# Page. 12

![Page Image](https://bcdn.docswell.com/page/4LE32NDPJ5.jpg)

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


# Page. 13

![Page Image](https://bcdn.docswell.com/page/V8EDZWP37G.jpg)

情報区分 公開
OpenStackのインスタンス認証について
アーキテクチャ概要
hypervisor
インスタンス
nova API
1.インスタンスの起動
をリクエスト
nova
compute
3.conﬁg 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


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4V7PD9NP78.jpg)

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


