secpolo#4 windowsazure security

109
May 2010 | Page 1 | Windows Azure の 最新情報とセキュリティ(配布用) マクロソフト株式会社 May 2010

Upload: shinichiro-isago

Post on 11-May-2015

5.256 views

Category:

Technology


1 download

DESCRIPTION

セキュポロ#4 WindowsAzure 編の資料です

TRANSCRIPT

Page 1: Secpolo#4 WindowsAzure Security

May 2010 | Page 1

|

Windows Azure の 最新情報とセキュリティ(配布用)

マクロソフト株式会社 May 2010

Page 2: Secpolo#4 WindowsAzure Security

May 2010 | Page 2

本日の一部内容は…

Page 3: Secpolo#4 WindowsAzure Security

May 2010 | Page 3

スピーカー紹介

ブログでもAzureの話題を提供 http://blogs.itmedia.co.jp/isago/

Twitterフォローはお気軽に http://twitter.com/shin135/

砂金 信一郎 [email protected] アーキテクトエバンジェリスト マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 クラウドテクノロジー推進部 所属

い さ ご

マクロソフトでクラウドコンピューテゖングを中心とした啓蒙活動を行うエバンジェリスト。東京工業大学出身。日本オラクルで修行を積んだ後、戦略コンサルタントに転身していた時期もあったが、Windows Azureの世界観に魅せられてマクロソフトに参画。自社技術に閉じないスタルが信条。自他共に認めるガンダム好きで、特に戦略シミュレーションものにぐっときます。

Page 4: Secpolo#4 WindowsAzure Security

May 2010 | Page 4

本日のゕジェンダ

Azure を好きになってさわってみたい!と感じてもらうことが本日のゴール

Azureの位置づけ

How to 開発・注意点

賢く使うコツ

Azureの仕組み

セキュリテゖ

運用監視

テスト・障害対応

性能保証

Page 5: Secpolo#4 WindowsAzure Security

May 2010 | Page 5

Azure の位置づけ: 柔軟性の高いクラウドプラットフォーム

IaaS/HaaS ハードウェゕを提供

(CPU貸し、デゖスク貸し)

PaaS 開発・実行環境となる

プラットフォームを提供

SaaS 完成品の

ソフトウェゕを提供

ハードウェゕ

OS

ミドルウェゕ

ゕプリケーション

ハードウェゕ

OS

ミドルウェゕ

ハードウェゕ

OS

ゕプリケーション

ミドルウェゕ

ゕプリケーション

Page 6: Secpolo#4 WindowsAzure Security

May 2010 | Page 6

What’s VM Role ?

Page 7: Secpolo#4 WindowsAzure Security

May 2010 | Page 7

今オフゖシャルになっていること

http://blogs.msdn.com/usisvde/archive/2010/03/29/vm-support-in-windows-azure.aspx

Page 8: Secpolo#4 WindowsAzure Security

May 2010 | Page 8

Azure の systeminfo

Page 9: Secpolo#4 WindowsAzure Security

May 2010 | Page 9

Page 10: Secpolo#4 WindowsAzure Security

May 2010 | Page 10

Page 11: Secpolo#4 WindowsAzure Security

May 2010 | Page 11

3スクリーン&クラウド戦略

PC 携帯電話 TV

クライアント

ツー

ルお

よび

クロ

プラ

ット

フォ

ーム

サポ

ート

サーバー クラウド

Page 12: Secpolo#4 WindowsAzure Security

May 2010 | Page 12

•••

•••

••

自社運用 お客様による運用

ホスティッド パートナーによる運用

クラウド マクロソフト

による運用

Windows-based Hosting

Power of Choice 選択の自由

Page 13: Secpolo#4 WindowsAzure Security

May 2010 | Page 13

System Center Cloud

Page 14: Secpolo#4 WindowsAzure Security

May 2010 | Page 14

http://code.msdn.microsoft.com/azurescale

Azure Auto Scale

Page 15: Secpolo#4 WindowsAzure Security

May 2010 | Page 15

Project Sydney

IPv6/IPSec を利用し end-to-end で オンプレミスのサーバーと Windows Azure がセキュアに通信可能

2010年にベータ リリース予定

Page 16: Secpolo#4 WindowsAzure Security

May 2010 | Page 16

Content Delivery Network

Page 17: Secpolo#4 WindowsAzure Security

May 2010 | Page 17

エンタープライズ用途に強いWindows Azure Platform

Page 18: Secpolo#4 WindowsAzure Security

May 2010 | Page 18

サービスバス

sb://namespace.servicebus.windows.net/a/b/

TCP/SSL 828

TCP/SSL 808/828

③メッセージ ③メッセージ

NAT ファイアウォール Dynamic IP

①登録 ③ルーテゖング

NLB

クライアント サービス

バックエンドの ネーミング・ ルーテゖング フゔブリック

フロントエンド ノード

フゔゕウォールやNATを超えるクラウド上の サービス バスを介したメッセージルーテゖング

Page 19: Secpolo#4 WindowsAzure Security

May 2010 | Page 19

クラウドを介したID フェデレーションを実現する クレームベース ゕクセス コントロールの処理手順

ゕクセス コントロール

サービス ネームスペース

Relying Parties (サービスバス、

アプリケーション等) リクエスタ (利用者)

②ルール決定

⑦チェック& ゕクセス&授与

Relying Party管理者

NameSpace Azureval

Issuer owner

AccountKey Abcdefg……………

InputCraim [email protected]

Page 20: Secpolo#4 WindowsAzure Security

May 2010 | Page 20

オンプレミスとSync Framework で同期

SQL Server Sync

Provider

Sync Application

SQL Azure Sync

Provider

Sync Orchestrator

Sync Runtime

• 競合の種類

– 同時実行の競合

– 制約の競合

• 競合の解決

– 同期元 Win

– 最新更新 Win(時間比較)

– ユーザー判断 等々…

競合

Page 21: Secpolo#4 WindowsAzure Security

May 2010 | Page 21

意外と面倒な「同期」処理の手順(一般論)

基本的な手順 • 接続 • 変更に関する情報 (ナレッジ) の比較 と同期箇所の決定 • 競合の検出と解決 • 変更データ送付と 適用 双方向同期の場合は 逆方向で上記手順を 繰り返す

Page 22: Secpolo#4 WindowsAzure Security

May 2010 | Page 22

さらに面倒な競合の回避

• 競合の種類 – 同時実行の競合 – 制約の競合

• 競合の解決 – 同期元 Win – 同期先 Win – 最新更新 Win (時間比較) – ユーザー判断 等々…

ID 価格

550 1,200

ID 価格

550 1,000

価格の更新 価格の更新

都市 電話

東京 072-XXXXXX

コンタクト情報の更新

同時実行の競合

制約の競合

Page 23: Secpolo#4 WindowsAzure Security

May 2010 | Page 23

Sample End to End Scenario

App

On-Premises

SQL Server

Cloud

North America

Europe

Asia

SQL Azure

Client Storage

Cached Mode Clients

App

Client Storage

App

Client Storage

North America

Europe

Asia

Page 24: Secpolo#4 WindowsAzure Security

May 2010 | Page 24

上場企業の企業情報開示支援サービス 宝印刷株式会社(株式会社日立システムゕンドサービス)

Page 25: Secpolo#4 WindowsAzure Security

May 2010 | Page 25

マイクロソフト本社では約4万人がソフトウエア開発に携わっている。 そのうち70%がクラウドに関する仕事に就いている。

今後1年で、その比率は90%に高まるだろう。 出典:http://www.microsoft.com/presspass/presskits/cloud/default.aspx

Page 26: Secpolo#4 WindowsAzure Security

May 2010 | Page 26

Bing Map Apps

Page 27: Secpolo#4 WindowsAzure Security

May 2010 | Page 27

Bing Maps と Azure を連携した EUの空気汚染監視サービス

Page 28: Secpolo#4 WindowsAzure Security

May 2010 | Page 28

Windows Azure と SQL Azureを 活用して地図とマッシュアップ

SQL Azure

データ サービス

Silverlight UI

Bing Maps Control

SMS ゲートウェ

大気・水質 観測データ

Page 29: Secpolo#4 WindowsAzure Security

May 2010 | Page 29

世界中にデータセンターを絶賛建設中

Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs

Page 30: Secpolo#4 WindowsAzure Security

May 2010 | Page 30

The Microsoft Cloud Data Center Infrastructure

Page 31: Secpolo#4 WindowsAzure Security

May 2010 | Page 31

Page 32: Secpolo#4 WindowsAzure Security

May 2010 | Page 32

Page 33: Secpolo#4 WindowsAzure Security

May 2010 | Page 33

Page 34: Secpolo#4 WindowsAzure Security

May 2010 | Page 34

Page 35: Secpolo#4 WindowsAzure Security

May 2010 | Page 35

Page 36: Secpolo#4 WindowsAzure Security

May 2010 | Page 36

Page 37: Secpolo#4 WindowsAzure Security

May 2010 | Page 37

PDC09会場でのコンテナ実機展示

Page 38: Secpolo#4 WindowsAzure Security

May 2010 | Page 38

Windows Azure を稼働させる モジュラー型データセンター

Page 39: Secpolo#4 WindowsAzure Security

May 2010 | Page 39

Bing の Auto Pilot ゕーキテクチャ 世界中のデータセンターに分散された100,000 台規模のサーバー

Web & Structured Data Indices

Page 40: Secpolo#4 WindowsAzure Security

May 2010 | Page 40

フゔブリックコントローラーなど要となる技術は実績の多い Windows 由来

フゔブリック エージェント

フゔブリック:サーバーの集合 サーバーごとに複数の VM

Windows Server 2008 (改) Hyper-V

ゕプリに応じてサズを選択

フゔブリック コントローラー フゔブリック内のサーバーと通信

サービスの監視・管理を行う

ゕプリ・VMの展開

Page 41: Secpolo#4 WindowsAzure Security

May 2010 | Page 41

管理の自動化はどこまで? ハードウェゕ リソースの変更

ファブリック

コントローラー

コンピューティング ストレージ

管理ポータル

windows.azure.com

構成定義 (XML)

マイクロソフト データセンター

Page 42: Secpolo#4 WindowsAzure Security

May 2010 | Page 42

コンピューテゖング機能の耐障害性能対策

停止ドメイン ハードウェア構成上の単一障害点のあるエリアをドメインとして分割

VM 監視 各インスタンスには、ファブリック コントローラとのコミュニケーション用にエージェントが存在

IIS Web ロール Worker

ロール

エージェント エージェント

Page 43: Secpolo#4 WindowsAzure Security

May 2010 | Page 43

フゔブリック コントローラの役割

1: ノード割り当て

停止ドメンで分散

更新ドメンで分散

2: OS とロールのメージを配置

3: 設定

4: ロールの開始

5: ロードバランサーの設定

6: 必要数のロールを維持

停止したロールは自動再起動

ノードが停止した場合は、

別のノードを自動割り当て

停止・更新ドメンにまたがりノードを割り当て

LB

Page 44: Secpolo#4 WindowsAzure Security

May 2010 | Page 44

ストレージ管理の自動化

•Key Valueストゕ

•パーテゖション分割 TABLE

•大容量バナリ フゔル

•ブロック転送が可能 BLOB

•ロール間の一時受け渡し領域

•タスク失敗時の挙動に対応 Queue

•クラウド上のNTFSサービス

•ランダムゕクセス対応の BLOB Drive

• HTTP/HTTPS + REST

• 256bit シークレット キーを利用したHMAC-SHA256 署名での認証

• 3つ以上の複製

• 最大容量 100TB

Page 45: Secpolo#4 WindowsAzure Security

May 2010 | Page 45

Table:Key Valueストア スケーラビリティを最優先した汎用ストレージ

Partition Key Document Name

Row Key Version

Property 3 Modification Time

….. Property N Description

福利厚生Doc V1.0 3/21/2007 ….. 2007年度

福利厚生Doc V1.0.6 9/28/2007 2008年度用 山田作成中

勤怠Doc V1.0 3/28/2007 2007年度

勤怠Doc V1.0.1 7/6/2007 2008年度用 千田作成中

必須

255個までのプロパテゖを持つ

異なるプロパテゖ を持ってもよい

プロパテゖ <Name, TypedValue> ペゕが保存

スキーマを持たない

Page 46: Secpolo#4 WindowsAzure Security

May 2010 | Page 46

Windows Azure の利用

コーデゖング

•Visual Studio

•Azure SDK

デバッグ

•Visual Studio

•Azure SDK

•エミュレーショ

ン環境

配置

•Azure ポータル

•API

運用

•Azure ポータル

•ダッシュボード

•API

•ツール

Page 47: Secpolo#4 WindowsAzure Security

May 2010 | Page 47

Visual Studio 経験者であれば .NET開発者はそのままAzureへ

Page 48: Secpolo#4 WindowsAzure Security

May 2010 | Page 48

クラウドで手間のかかるデバッグは、ローカルの開発フゔブリックで軽減

Azureの Hosted Service環境を開発クラゕント側に再現

ローカルでのビルド・実行時に自動的に起動

作業中はタスクトレに常駐

各ロールごとにログの確認ができる

Page 49: Secpolo#4 WindowsAzure Security

May 2010 | Page 49

Coming soon…

?

Page 50: Secpolo#4 WindowsAzure Security

May 2010 | Page 50

シンプルな疎結合 Web ゕーキテクチャ

Page 51: Secpolo#4 WindowsAzure Security

May 2010 | Page 51

WorkerRoleの使いこなしがポント

LB

Storage

80 でHTTP/HTTPS?

管理をゕウトソースしたい?

任意のTCPポートで 通信可能

WorkerRole

WorkerRole

バックエンド 処理での 活用が基本形

Page 52: Secpolo#4 WindowsAzure Security

May 2010 | Page 52

非.NET技術とのインターオペラビリティの高さも Windows Azure の特長の1つ

Web Role

Computation Worker Role

VIP

Load

Bala

ncer

memcached Worker Role

Page 53: Secpolo#4 WindowsAzure Security

May 2010 | Page 53

PHP は IIS の FastCGI で対応。 VisualStudioにテンプレートまである

PHP対応

IISすなわちWebRoleで対応。 Fast CGIの枠組みそのままでPHPもOK

PHP用SDKを使えば拡張性の高い Azure Storage にゕクセスしやすくなる

SQL Server用PHPドラバでSQL Azure を使うこともできる

Page 54: Secpolo#4 WindowsAzure Security

May 2010 | Page 54

ゕクセラレーター for Tomcat と Java SDK / EclipseツールでJava開発

http://code.msdn.microsoft.com/winazuretomcat

Page 55: Secpolo#4 WindowsAzure Security

May 2010 | Page 55

ゕクセラレーター for X 非MS系ミドルの方が動かしやすい罠

Page 56: Secpolo#4 WindowsAzure Security

May 2010 | Page 56

Ruby on Rails にも対応

http://code.msdn.microsoft.com/railsonazure

Page 57: Secpolo#4 WindowsAzure Security

May 2010 | Page 57

ゕプリケーションの移行 Client/Server 型なら Client/Cloud 型もあり?

• Code Far 型(Client/Cloud) – データをクラウドに配置 – オンプレミスのクラゕントから SQL Azure や Azure

Storage へ直接ゕクセス – Windows Form や WPF など操作性のよいクラゕント – オンプレミスのデータとの連携が容易 – 遅延を配慮したンターフェス – データのプリフェッチやキャッシュする仕組みの実装

• Code Near 型 – データとゕプリをクラウドに配置 – Web ゕプリケーション – ゕプリはデータが配置されているのと同じネットワーク

内で動作(SQL Azure への転送量が無料)

Page 58: Secpolo#4 WindowsAzure Security

May 2010 | Page 58

Code Far型の例:ネットマトリックス社の Green Report

【凡例】

Green Report 標準機能

*1 電気メーターとの連携は別途ハードウェゕの購入や連携開発作業が必要となります *2 グラフ出力は別途開発作業が必要となります (将来的には標準機能として提供する予定です。CSVフゔルでの出力は標準機能で可能です)

2 ンターネット上のデータベースに格納される

電気メーター、ガスメーター等

1’ 各拠点で使用したエネルギー量を自動でデータ登録する

*1

1 各拠点でエネルギー量を調査した後、担当者がデータ入力を行う

工場・店舗・事業所等

エネルギー消費量 入力画面

3 改正省エネ法で提出が義務づけられている帳票等を出力する

本社

グラフ出力 *2

法定帳票出力 (定期報告書等)

WindowsAzure Platform

ンターネット

SQL Azure

出所:ネットマトリックス社サービス説明資料

Page 59: Secpolo#4 WindowsAzure Security

May 2010 | Page 59

SQL Azure への移行における注意事項

• 日付時刻データの取り扱い – すべて UTC(協定世界時)

• サーバー上での SYSDATETIME(), GETDATE()

• UTC は日本より9時間遅れ

– DATEADD(hour, 9, SYSDATETIME()) で対応 – データを日本時間で保存するか UTC で保存するか?

• 既存データは日本時間で保存している場合が多い

• 日本語の取り扱い – 明示的に Japanease_CI_AS など日本語の

指定が必要 • ソートなどに影響

– SQL 文での日本語記述にも "N" プレフゖックスが必要 • INSERT INTO employees VALUES (1, N‘ゕジュール')

Page 60: Secpolo#4 WindowsAzure Security

May 2010 | Page 60

SQL Azure の制限事項 SQL Server ≒ SQL Azure

• 現バージョンでサポートされていない機能 – 分散トランザクション / 分散クエリー

– Common Language Runtime (SQLCLR)

– hierarchyid, geography, geometry データ型

– バックゕップ、リストゕ、ゕタッチ

– データベース ミラーリング

– サービスブローカー、フルテキスト検索、透過的暗号化、圧縮

– USE ステートメント

– SQL Server 構成オプション(sp_configure など)

• 事前によく確認 – Transact-SQL の サポート状況

• http://msdn.microsoft.com/en-us/library/ee336250.aspx

• http://msdn.microsoft.com/en-us/library/ee336270.aspx

– SQL Azure Guidelines and Limitations • http://msdn.microsoft.com/en-us/library/ee336245.aspx

Page 61: Secpolo#4 WindowsAzure Security

May 2010 | Page 61

Page 62: Secpolo#4 WindowsAzure Security

May 2010 | Page 62

Page 63: Secpolo#4 WindowsAzure Security

May 2010 | Page 63

便利ツール#1ストレージ管理

Harutama氏解説:http://d.hatena.ne.jp/haru-tama/20100115

RESTゕクセス

プログラムからはStorage Client 経由で

ツール経由でFTPやフゔルサーバーのように

Page 64: Secpolo#4 WindowsAzure Security

May 2010 | Page 64

便利ツール#2SQL Azure Manager

http://hanssens.org/post/SQL-Azure-Manager.aspx

SQL Azureの利用

SSMSなどのSQL Server用ツールがあれば、接続文字列の変更でそのまま利用可能

↑がない場合、Click Onceで起動できる SQL Azure Manager が便利

SQL Azureはゕプリから普通のリレーショナルデータストゕとして利用することができる

Page 65: Secpolo#4 WindowsAzure Security

May 2010 | Page 65

便利ツール#3 Computing

http://azureservicesmanager.codeplex.com/releases/view/35069

監視用ゕプリ

管理APIにUIをつけたものやコードから呼び出すものがある

いずれはSystemCenter

Page 66: Secpolo#4 WindowsAzure Security

May 2010 | Page 66

Windows Azure の価格

11.76 円/時間 + 可変のンスタンスサズ

14.70 円/月 0.98 円/10K トランザクション

Page 67: Secpolo#4 WindowsAzure Security

May 2010 | Page 67

「コスト」は包括的に考える必要がある

ハードウェゕ

OS

ミドルウェゕ

ゕプリケーション

カスタマズ

ンテグレーション

サービス運用

ゕプリ改善・保守

ネットワーク

電気代・CO2排出

• Windows Azure の基本利用コストに内包

• CALなどの概念はなく、ユーザー数(ゕカウント数)やデバス数が増えても費用が大きくはねることはない

• 仮想マシンやストレージ容量、データ転送量についてのみ「使った分だけ」課金。すなわち、ゕクセス頻度が低ければコストは低く抑えられる

• 最新鋭の高効率データセンターでの運用により電力消費を大幅に抑制

• 独自に構築するかサードパーテゖーゕプリを調達

• エンタープラズ用途の場合、クラウドを利用しても要件の絞り込み如何では従来の構築要件と変わらない項目もある

• 条件次第でSI’er または ISV に移管可能

Page 68: Secpolo#4 WindowsAzure Security

May 2010 | Page 68

クラウドの真価は(金さえ払えば) 無限のスケーラビリテゖ

使用量

コンピューティング

時間

平均

稼働不要な

時期

時間

平均使用料 コンピューティング

時間

平均使用量 コンピューティング

平均使用量

時間

コンピューティング

Page 69: Secpolo#4 WindowsAzure Security

May 2010 | Page 69

Windows Azure Platform 購買モデル

Page 70: Secpolo#4 WindowsAzure Security

May 2010 | Page 70

Windows Azure のインスタンス サイズ

各インスタンスの定義

11.76 円 23.52 円 47.04 円 94.08 円

1 x 1.6Ghz

2 x 1.6Ghz

4 x 1.6Ghz

8 x 1.6Ghz

1.75 GB メモリー 3.5 GB メモリー 7.0 GB メモリー 14 GB メモリー

250 GB ストレージ (インスタンスのストレージ)

500 GB ストレージ (インスタンスのストレージ)

1000 GB ストレージ (インスタンスのストレージ)

2000 GB ストレージ (インスタンスのストレージ)

Page 71: Secpolo#4 WindowsAzure Security

May 2010 | Page 71

Development Accelerator オファー

6 か月間限りの、通常より 42% - 46% 引きのサブスクリプションオファーを提供 オファーは月次ベースの「ユニット」単位で提供 (複数のユニットを購入可能)

超過分は通常の従量課金レートを適用 2010 年 6 月 30 日まで

Page 72: Secpolo#4 WindowsAzure Security

May 2010 | Page 72

初期特別提供 MSDN Premium Core Extended

Windows Azure

コンピューティング時間 (hour) 25 750 750 750

ストレージ (GB/month) 0.5 10 10 10

ストレージ トランザクション (times) 10,000 1,000,000 1,000,000 1,000,000

AppFabric トランザクション 100,000 1,000,000 1,000,000 1,000,000

SQL Azure データベース 1 (Web Edition) 3 (Web Edition) 0 1 (Business Edition)

Data Transfers

北米およびヨーロッパ

受信 (GB) 0.5 7.0 7.0 7.0

送信 (GB) 0.5 14.0 14.0 14.0

アジア太平洋

受信 (GB) 0.5 2.5 2.5 2.5

送信 (GB) 0.5 5.0 5.0 5.0

Price 通常価格 (月) \1,345 \12,717 \9,780 \19,759

日本円 (月)

2010 年 1 月からの期間限定特別オファー

Page 73: Secpolo#4 WindowsAzure Security

May 2010 | Page 73

セコロジー#1 タダで使うためにすべきこと

Page 74: Secpolo#4 WindowsAzure Security

May 2010 | Page 74

セコロジー#2 課金は1時間単位の盲点

Azure課金の細則

CPU使用率は関係なく占有したデプロ時間で課金 (GAEよりEC2に近い)

Runしてなくてもデプロすれば(削除しない限り)課金発生。 ステージングも同じレート

最小単位は1時間。各時の0分から59分のスロットで、1分でもデプロすれば1時間分

Page 75: Secpolo#4 WindowsAzure Security

May 2010 | Page 75

セコロジー#3 面倒な管理はコマンドレットで自動化

http://code.msdn.microsoft.com/azurecmdlets

Page 76: Secpolo#4 WindowsAzure Security

May 2010 | Page 76

$cert = Get-Item cert:\CurrentUser\My\D6BE55AC439FEA8CBEBAFF432BDC0780F1BD00CF $sub = "CCCEA07B-1E9A-5133-8476-3818E2165063" $servicename = 'myservice' $package = "http://myaccount.blob.core.windows.net/publish/MyPackage.cspkg" $label = 'nolabel' $role = '' if ($args.Length -eq 2) { $role = $args[0] $label = $args[1] } if ($args.Length -eq 1) { $label = $args[0] } if ($role -ne '') { Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Production | Set-Deployment -mode Auto -roleName $role -package $package -label $label | Get-OperationStatus -WaitToComplete } else { Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Production | Set-Deployment -mode Auto -package $package -label $label | Get-OperationStatus -WaitToComplete }

アップグレード スクリプトの例

Page 77: Secpolo#4 WindowsAzure Security

May 2010 | Page 77

Windows Azure Platform データ転送

Page 78: Secpolo#4 WindowsAzure Security

May 2010 | Page 78

データ転送料のチェックポント

Page 79: Secpolo#4 WindowsAzure Security

May 2010 | Page 79

TCO 分析ツール

Page 80: Secpolo#4 WindowsAzure Security

May 2010 | Page 80

本日のゕジェンダ

Azure を好きになってさわってみたい!と感じてもらうことが本日のゴール

Azureの位置づけ

How to 開発・注意点

賢く使うコツ

Azureの仕組み

セキュリテゖ

運用監視

テスト・障害対応

性能保証

Page 81: Secpolo#4 WindowsAzure Security

May 2010 | Page 81

文化の違い:クラウドvsオンプレミス

• オンプレミス → 『個別対応』『お客様最適』

– コストは割高だが、基本的には「なんでも言うことを聞いてくれる」

– いわば高級料亭・高級レストラン

• クラウド → 『標準化&仮想化』『規模の経済』

– 個別対応ナシ、そのかわり「早い・安い・上手い」

– いわばフゔーストフード店(「つゆだく」程度のカスタマズのみ)

• しかも、従来のデータセンタとは規模感が全く異なる

– メガデータセンタは「標準化・固定的な均一サービス」にすることでコストを削減している → 個別対応・特別対応はしてくれない

• クラウドを扱う際は、この文化を制約条件として捉える必要がある

Page 82: Secpolo#4 WindowsAzure Security

May 2010 | Page 82

オンプレミスに残すもの 不安があればクラウドに持ち出すな!

• パブリッククラウドに持ち出せないもの

– 法律上の制限

– 秘匿性が高いデータ、個人情報データ、会計データ

– 監査を必要とするシステム

– トランザクションの整合性を厳密に保証するシステム

– パフォーマンス(リゕルタム処理)にシビゕなシステム

• オンプレミスとクラウドのハイブリッド

– シームレスに連携するシステムを構築

– データの結合や整合性はゕプリで考慮

PUBLIC CLOUD

Page 83: Secpolo#4 WindowsAzure Security

May 2010 | Page 83

マクロソフトの “クラウド サービス” は セキュゕですか?

Page 84: Secpolo#4 WindowsAzure Security

May 2010 | Page 84

カテゴリー 対策 内容

機密性

物理的対策

・ 24時間、365日の監視 ・ 監視カメラによる監視 ・ モーションセンサーの設置 ・ 生体認証による入退出管理 ・ データセンター内への車での乗り入れ禁止 ・ セキュリテゖ境界線突破時のゕラーム通報

ネットワーク対策 ・ CyberTrust によるセキュリテゖ認定(四半期ごとに実施) ・ 9階層にわたるセキュリテゖ対策

情報漏洩対策 ・ サポート/サービスチームは、Secure ID カードもしくは RSH Secure ID Token を利用した認証を行う ・ データは全て128ビットで暗号化 ・全通信は HTTPS

完全性 データ保存

・ Raid 5+1 によるデータ保存 ・ Disk to Disk to Disk (ミラーリングで最低4コピー保持)

データバックゕップ ・ 日時バックゕップの実施 ・ Disk to Disk to Disk バックゕップ

可用性 物理的対策

・ ジオ リダンダント構成 ・ 複数の発電機を装備 ・ 電源は複数の発電所から2系統 ・ 各ラックでの電源2重化 ・ 発電機用の燃料は、地震などで道路が寸断された場合には空輸 ・ バッテリーによるバックゕップ ・ コンピューター コントロールによる空調制御

ネットワーク対策 ・ フルフェルオーバー

運用およびセキュリテゖ管理への対策

Page 85: Secpolo#4 WindowsAzure Security

May 2010 | Page 85

サービス 現在 将来(6ヵ月以内に対応)

Online Service Delivery Platform

· EU Safe Harbor Seal

· CyberTrustCertification

· ISO 27001

BPOS-S

· EU Safe Harbor Seal

· CyberTrust Certification

· ISO27001

· FERPA*/HIPAA*

· SAS70 Type II

· GxP Pharma (SharePoint)

· FISMA

BPOS-D

· EU Safe Harbor Seal

· CyberTrust Certification

· FERPA*

· HIPAA*

· FIPS 140-2

· TIC Compliance

· ISO 27001 · FISMA

BPOS-Federal (US Only)

· EU Safe Harbor Seal

· CyberTrust Certification

· FERPA*/ HIPAA*

· FIPS 140-2

· TIC Compliance

· ISO 27001 · FISMA · ITAR

コンプラゕンス管理のロードマップ

Page 86: Secpolo#4 WindowsAzure Security

May 2010 | Page 86

リスク項目 Windows Azure BPOS

サービス提供者の特権ユーザのゕクセス

・特権ユーザーゕクセスはログに記録、承認された人のみゕクセス可能。 ・運用については ITIL/MOF、ISO17799ベース。

サービス提供者とのコンプラゕンスの調整

・SAS70 TypeⅡ、ISO27001、CyberTrust等の外部監査あり。 ・ただし、お客様独自の監査を受け入れることは不可。

データの保管場所 ・利用時にデータが保管される国を指定可能。

・契約時に初期データが保管されるデータセンター(地域)を指定可能。

データの分離方法 ・不正侵入に対するモニタリングや、第三者機関によるペネトレーションテスト等を定期的に実施。 ・BPOSは、Dedicate 型サービスも提供。

障害からの復旧手順 ・複数のサトにまたがって複製。

・複数のサトにまたがって複製。 • RPO 12h、RTO 24h。

調査への支援 ・セキュリテゖンシデント(不正ゕクセス等)時には、お客様のニーズに対してログを収集、分析することをポリシーとして定めている。

リスクへの対応(まとめ)

Page 87: Secpolo#4 WindowsAzure Security

May 2010 | Page 87

Windows Azure MMC

Page 88: Secpolo#4 WindowsAzure Security

May 2010 | Page 88

Page 89: Secpolo#4 WindowsAzure Security

May 2010 | Page 89

クラウドの潜在的脅威

Page 90: Secpolo#4 WindowsAzure Security

May 2010 | Page 90

脅威 対策 Cross site scripting 出力テキストをエンコード

CSRF ユーザーごとのトークンを隠れフィールドに埋め込む

One-Click Attack ユーザーごとに異なるリクエスト形式を採用

HTTP replay attack SSL Network Eavesdropping SSL or IPSEC Password brute Force ロックアウトポリシーの実装 Repudiation attack 効果的なロギングの実装 File Canonicalization ファイル名の長さと正規化表現による検証

Denial of Service リスエスと数、ファイルサイズの検証 適切な例外処理の実装 詳細なエラーメッセージを表示しない

Forceful Browsing 認証コントロール データの暗号化

Man in the middle attack SSL or IPSEC SQL injection LINQ の使用 Response splitting コンテキスト依存のエンコーディング

クラウドの潜在的脅威への対策

Page 91: Secpolo#4 WindowsAzure Security

May 2010 | Page 91

クラウドでは性能保証が原理的に難しい

• Windows Azure コンピュートサービスの場合

– 1 台の物理マシン上に、複数の仮想マシン(VM)がホストされる

– 各 VM は CPU やメモリとはバンドされているが、デゖスク I/O やネットワーク I/O に関しては共用になる → 隣の VM の影響を受ける

• SQL Azure データベースサービスの場合

– 1 台の物理マシン上に、複数のデータベースがホストされている

– コンピュートサービスと異なり、VM 分離などはされていない → 隣のデータベースに対するクエリの影響を受ける

ハードウェア

ユーザ D の アプリ

OS (Windows 2008)

ランタイム/ミドル (ASP.NET + IIS)

ユーザ B の アプリ

OS (Windows 2008)

ランタイム/ミドル (ASP.NET + IIS)

ユーザ C の アプリ

OS (Windows 2008)

ランタイム/ミドル (.NET Framework)

仮想マシン (Web Role)

仮想マシン (Web Role)

仮想マシン (Worker Role)

ユーザ D の アプリ

OS (Windows 2008)

ランタイム/ミドル (.NET Framework)

仮想マシン (Worker Role)

Windows Azure コンピュートサービス

ハードウェア

SQL Azure データベースサービス

ユーザAの DB

ユーザBの DB

ユーザCの DB

ユーザDの DB

ユーザEの DB

ユーザFの DB

Page 92: Secpolo#4 WindowsAzure Security

May 2010 | Page 92

ネットワークもベストエフォート

出典:Submarine Cable Map 2009

Page 93: Secpolo#4 WindowsAzure Security

May 2010 | Page 93

http://highscalability.com/blog/2010/5/26/end-to-end-performance-study-of-cloud-services.html

Page 94: Secpolo#4 WindowsAzure Security

May 2010 | Page 94

多くのノードに分散してデータを保持

可用性のために 複製を使う Primary から自動フェルオーバーで最も近い secondary へ

0 2128

1

53 905

6435

5000

5501

A, B C, D, K, L

C, D A, B, E,

F

E, F C, D,G,

H

G, H E, F, I,

J

I, J K, L,G,

H

K, L A, B, I,

J Service Request

f(G) = 4601

X

1

53 905

6435 5501

E, F, H C, D,G,

I, J

I, J, G K, L,E, F, H

K, L A, B,G,

I, J

Service Instance

Service Instance

Service Instance

Service Instance

Service Instance

Service Instance

C, D A, B E, F G H I, J K, L

G

G

Replica Size = 3

C, D A, B, E,F,H

C, D A,B, E, F,

E, F,

C, D, ,

I, J

I, J,

K, L, E, F,

K, L

A, B, ,

I, J

C, D A, B, E, F

E, F C, D, G, H

I, J K, L, G, H

K, L A, B, I, J

Logical Partitions

Service Instances

X

Page 95: Secpolo#4 WindowsAzure Security

May 2010 | Page 95

数万台もサーバーがあれば確率論的にどれかが壊れて当然という前提。

データの読み出しはプラマリのみ

セカンダリノードに非同期で 書き込みを行う

プラマリ障害時に昇格する セカンダリは多数決で決定

P

S

S

S

S Write Write

Write Write

Ack Ack Ack Ack

Read Value Write

Ack

64

210

2

30 90

135

180

225

50 76

120

151

103

200

83

98

174 218

250

40 46

17

r-6

r-5

r-4

r6

r5

r4

r7

数万台のサーバーとなると、 それぞれのサーバーは全ノード の管理領域を把握しにくい

ノードの離脱、追加を行った際に、管理領域の変更の影響をおさえる仕組みが必要

データ冗長化のイメージ 構造化オーバーレイ

冗長故の可用性: 障害を前提としたフェイルオーバーの機構

Page 96: Secpolo#4 WindowsAzure Security

May 2010 | Page 96

ゲートウェ マスターDB 課金・認証 フロント ノード群

数百台のサーバーでフゔブリックを構成

サーバーをまたがったレプリケーションDBを作成して同期

SQL Server ンスタンス

… クラウド データセンター内 フゔブリック

サーバー1 サーバー2 サーバー3

サーバーをまたがったレプリケーションDBを作成して同期

SQL Azure Database のアーキテクチャ

Page 97: Secpolo#4 WindowsAzure Security

May 2010 | Page 97

SQL Azureのデータのバックゕップ • (現時点では未サポート)将来的には SQL Azure 上で、DB の

バックゕップとリストゕが可能になる予定

– 遠隔地のデータセンタへバックゕップすることで、災害対策もできる

abc.database.windows.net

Dev1 Master

xyz.database.windows.net

prod1 Master

prod2 clone prod2 clone

prod2 clone prod2 clone

efg.database.windows.net

DR1 Master prod2 clone prod2 clone

Prod2

複製

複製

複製

CREATE DATABASE abc.prod2clone AS CLONE OF xyz.prod2

South Central US North Central US

Page 98: Secpolo#4 WindowsAzure Security

May 2010 | Page 98

運用監視方法の違い

Page 99: Secpolo#4 WindowsAzure Security

May 2010 | Page 99

Azureの管理と監視

管理

管理ポータル

windows.azure.com

API(PowerShell も)

監視 API を組み合わせて 自動化

System Center は、将来予定

監視

ダッシュボード

azure.com の support から

API(PowerShell も)

Windows Server で取得可能なログを取得可能

System Center は、将来予定

Page 100: Secpolo#4 WindowsAzure Security

May 2010 | Page 100

ダッシュボード経由の監視

http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx

Page 101: Secpolo#4 WindowsAzure Security

May 2010 | Page 101

診断データの取得 • 診断データはンスタンスのローカル ストレージで保存

• 診断 API により、オンデマンドもしくは定周期に取得

• 取得されたデータは、Windows Azure ストレージへ

ロール

ロール ンスタンス

診断 モニター

設定

クオータ

ローカル ストレージ

データ収集 (トレース、ログ、

ダンプ)

Windows データ

IIS ログ & 失敗ゕクセス ログ パフォーマンス カウンター

ベント ログ

Windows Azure

ストレージ

Page 102: Secpolo#4 WindowsAzure Security

May 2010 | Page 102

診断データ一覧

データソース 既定 設定方法 フォーマット

トレース ログ 有効、ローカル保存 診断 API、トレース リスナー テーブル

パフォーマンス カウンター

無効 診断 API テーブル

イベント ログ 無効 診断 API テーブル

インフラ ログ 有効、ローカル保存 診断 API テーブル

IIS ログ 有効、ローカル保存 診断 API、Web.config ブロブ

IIS 失敗ログ 無効 診断 API、Web.config ブロブ

クラッシュ ダンプ 無効 診断 API、クラッシュ API ブロブ

その他のログ・ ファイル

無効 診断 API ブロブ

Page 103: Secpolo#4 WindowsAzure Security

May 2010 | Page 103

超高可用性?システムには不向き

• ミッションクリテゖカルなシステムでは、非常に高い可用性目標が掲げられることがある

– 金融系システムや道路交通系システムなど、システム停止が社会的あるいはビジネス的に極めて大きな損失や問題を引き起こす場合

– このような場合には、99.999% などの高可用性目標が掲げられる

• 可用性を上げるほど、システムや運用に対する対策を堅牢にする必要があり、コストがかかる

– このため、実際の業務システムでは、業務要件に併せて「適度な可用性レベル」を選択している

可用性 年間ダウンタイム 月間ダウンタイム

99.9999% 32秒 2.6秒

99.999% 5分15秒 26秒

99.99% 52分34秒 4分22秒

99.9% 8時間46分 43分

99% 3日15時間 7時間18分

Page 104: Secpolo#4 WindowsAzure Security

May 2010 | Page 104

Windows Azure プラットフォームの SLA

Web を通して接続されているサービス

ンターネットに接続されているロールとの外部接続性

すべての起動中のロールは継続的にモニター

もしロールに不具合があれば Microsoft が検知し正常な状態に起動

ンターネットゲートウェに接続されるデータベース

すべてのデータベースは継続的にモニター

>99.95% >99.9% >99.9% >99.9% >99.9%

ストレージ サービスの利用可能 (接続可能) 性

ストレージ リクエストのプロセスが成功したかどうか

サービスバスとゕクセスポントのエンドポントは外部接続性を持つ

メッセージ操作リクエストが正常にプロセス完了したかどうか

ンスタンス監視

& 再起動

ストレージ

可用性 データベース

可用性

サービスバス &

ゕクセス コントロール

可用性

コンピューテゖング

コネクテゖビテゖ

Page 105: Secpolo#4 WindowsAzure Security

May 2010 | Page 105

テストやデバッグには工夫が必要

ソース コード管理

開発用 PC

ビルド システム

開発環境(開発チーム)

テスト クラゕント

テスト環境(テストチーム)

ビルド番号 = 1.0.60713.0

ビルド番号 = 1.0.60714.0

ビルド番号 = 1.0.60715.0

ビルド番号 = 1.0.60712.0 テスト対象を

選んで Deploy

バグ追跡 データベース

バグ報告 バグ報告

テスト結果 データベース

テスト実施結果報告

ドロップポント

テスト作業 (QA)

Azure の 実環境を 利用

デバッグ 作業

Azure の エミュレータを 利用

Page 106: Secpolo#4 WindowsAzure Security

May 2010 | Page 106

テストと障害対応

• A. ゕプリケーションレベルの障害について

– 通常と同様に、集約例外ハンドラからベントログを通じ、監視系へ通知

– ただし、前述したように、ベントログの直接監視ができない → 障害監視をするための仕組みの作り込みが必要

• B. ミドルウェゕ/ハードウェゕレベルの障害について

– 基本的に、マクロソフト側での監視・管理となる(=監視・管理フリー)

– 障害には Dr. Watson Diagnostic ID が振 られ、これを元に障害解析することになる

– しかし、このサポートは基本的に英語(日 本ローカルにエンジニゕリソースがないた め) → 翻訳などのため問題解決に時間が かかることも考えられる

ンフラ

ゕプリ

ミドル Windows Azure (PaaS) では マクロソフトが 管理

ユーザ側での 管理・監視が 必要になる

Page 107: Secpolo#4 WindowsAzure Security

May 2010 | Page 107

Azure対応における注意点のまとめ

1. セキュリテゖ

– 各種の法的規制や社内ポリシーとのすり合わせが必要

– 実務レベルでもセキュリテゖ設計の見直しが必要になるケースがある

2. 性能保証

– クラウドはスケーラビリテゖに富むが、原理的に応答性能が保証しにくい

– ネットワーク帯域も問題になりやすい

3. 運用監視

– 現状では、クラウドはオンプレミスとは分けた運用監視が必要

– Azure の 99.9% 可用性で不十分な場合は、ハブリッド化などが必要

4. テストと障害対応

– ラブデバッグ不可、バージョン固定不可、サポートは英語

Page 108: Secpolo#4 WindowsAzure Security

May 2010 | Page 108

Page 109: Secpolo#4 WindowsAzure Security

May 2010 | Page 109

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.