SlideShare a Scribd company logo
【初級、中級者向け】
Azure Data Serviceのセキュリティ構成
株式会社ジール
永田 亮磨
Twitter:@ryomaru0825
Linkedin:ryoma-nagata-0825
Qiita:qiita.com/ryoma-nagata
Part 1
1. 概念
1. 多層防御
2. ID・アクセス
3. データ保護
2. 適用
1. ベストプラクティス
2. 参考例
Part 2
1. 概念
1. Azure PaaSのネットワークセキュリティ
2. 監視・ログ・監査
2. 適用
1. ベストプラクティス
2. 参考例
AGENDA
• Azure SQL(Synapseを含む)、Azure Storage(blob,adls gen2)のセ
キュリティ構成を考えるうえでの要素やプラクティスを説明します。
本セッションのスコープ、前提
• 企業NW内中心のアプローチ
• 企業NW内のデバイスは信頼されている
→NWエンドポイントが侵害されると侵入拡大が容易となる
→モバイルデバイスや、クラウド利用により、すべてのアプリケー
ション、データが完全に組織の管理下にある状況ではなくなって
いる
セキュリティアプローチの変化
従来のNW境界型モデル
• すべてのアクセス要求は要求時点では安全ではない前提
で対処をするアプローチ
• 企業NW内であってもデバイスは信頼されない
• (会社の中から出てくる人=従業員とは限らない)
• 多要素認証などによる信頼性の確認の強化
• セキュリティを複数の層で構成する(多層防御)
• MicrosoftではIDベースでのアプローチを推進
ゼロトラストを前提とした多層防御アプローチ
• Azure でのセキュリティ設計原則 - Azure Architecture Center | Microsoft Docs
多層防御
多層防御 - Learn | Microsoft Docs
# 観点 例
1 物理的なセキュリティ
• Azure データ センターの生体認証アクセス制御
https://docs.microsoft.com/ja-
jp/azure/security/fundamentals/physical-security
2 IDとアクセス
• Azure Active Directory ユーザー認証
• RBAC
3 境界
• DDoS保護
• Advanced Threat Protection (脅威検出機能)
4 ネットワーク
• ネットワーク セキュリティ規則
• ファイアウォール、IPフィルタ
5 コンピューティング
• OS および階層型ソフトウェア パッチを定期的に適用
(PaaSではベンダーの責任範囲となる)
6 アプリケーション • SSL/TLS で暗号化されたセッション
7 データ • Azure Blob Storage に保存中のデータの暗号化
• 認証
• 認証とは、アクセス元が誰なのかを特定することです。
一般に、ID+パスワードで認証を行い、IDとパスワード情報は各アプリケーションのID管理機能
or ID管理サービス(Azure ADなど)が管理します。
• 多要素認証と呼ばれる方式では、追加要素として指紋などの生体情報、利用端末が正しいか、
組み合わせとして携帯電話などのデバイスを保持しているかなどをチェックします。
IDとアクセス キーワード
キーワード 説明 備考
Azure Active Directory Azure上のID管理サービス
サービスプリンシパル システムや、サービスを実行する無人ユーザID オンプレADやWindowsマシンでは、サービス
アカウントなどと呼ばれていた
マネージドID Azureリソースに直接採番されたID。ID,パス
ワードはユーザではなく、Azureが管理する
システム割り当て:Azureが作成・削除(リ
ソースのライフサイクルと同期)
ユーザ割り当て:ユーザが作成・削除
MSI認証(Managed Service
Identify)
マネージドIDを用いた認証方式のこと Azureリソース間の認証で最も推奨となる
リソース 方式 ID 認証をするサービス
Azure Storage アカウントキー認証 なし Azure Storage
SAS認証 なし Azure Storage
AD認証 ユーザーアカウント、
サービスプリンシパル、
マネージドID
Azure AD
Azure SQL SQL認証 SQL Server ログイン Azure SQL
AD認証 ユーザーアカウント、
サービスプリンシパル、
マネージドID
Azure AD
各サービスの認証の種類
• 認可(承認)
• 認可とは、認証により特定したユーザー(あるいはシステムやサービス)に対してアクセス
先での操作権限を付与することです。
• アクセス先は権限の付与情報を保持し、ID管理サービスが認証したアクセス元に対して
操作の許可判定を行います。
IDとアクセス キーワード
キーワード 説明 備考
アクション 対象となる操作
AzureのRBACではリソースの操作とデー
タの操作でアクションの種類がわかれてい
る
さらにアプリケーション(DBなど)内での
み制御可能なアクション
ロール 0以上のアクションの許可、拒否を集約し
た定義
RBAC ロールにIDを割り当てることによるアクセス
制御
例:所有者ロールにAさんを割り当て
リソース 操作例 分類 設定場所 必要ロール例 参考
Azure Storage コンテナの作成 リソース操作
(Action)
リソースのIAM設定 共同作成者 Azure リソース プロバイ
ダーの操作 |
Microsoft Docs
blobの読み取り データ操作
(DataAction)
リソースのIAM設定 Blobデータ共同作成者
※共同作成者であれば
アカウントキーを取得して
実施可能(AD認証で
はなくなる)
Azure 組み込みロール
- Azure RBAC |
Microsoft Docs
Azure SQL スペック変更 リソース操作
(Action)
リソースのIAM設定 共同作成者
SELECT ~の結果取
得
アプリケーション内の操作 DBエンジン内のロールな
ど
db_datareader データベース エンジンの
権限の概要 - SQL
Server | Microsoft
Docs
各操作の分類や設定場所の違い
• ストレージ
• アカウントキー認証
• AD認証(ユーザーアカウント)
• AD認証(マネージドID)
• Azure SQL
• SQL 認証
• AD認証(ユーザーアカウント)
• AD認証(マネージドID)
実機による確認
• アプリケーションごとにユーザを作成し、管理することは運用コストとセキュリティリスクが増大
• 認証基盤はADにより担保、認可制御のみをアプリケーション上で行う
AD認証統合のメリット
…
…
認証
アクセス制御
DB User
AD User
認証
ADがIDを統合管理
…
認証
アクセス制御
AD User
ADとアプリ内のID管理を併用
…
…
• 普段のIDとDBアクセス用のIDを個別運用していると、利用者が広がるにつれて
管理コストが激増(=データ漏洩リスク増)
• 認証を認証サービスに委任し、データストアは認可制御のみ行う
• 認証サービスで統合的に認証要件を設定。(多要素認証対応な
ど)
• データ保護の考え方は主に二つ
• 暗号化
Azureのサービスでは基本的に暗号化要件はクリアされている。
キー管理をMicrosoftに委任するか、アプリケーション上で復号化する必要があるかなどが追加検討となる。
暗号化の対象は保存時、転送時
• 保存データの暗号化:SQLであればTDE(Synapseでは既定でオフなので注意)
• 転送データの暗号化:TLS、https強制機能など
• 機密データ管理
個人情報につながるデータや各種コンプライアンス上機密とされるデータの管理方針
データ保護
• Azure の暗号化の概要 | Microsoft Docs
• 機密データを特定してタグを付ける
• ドキュメントに大量に推奨事項が記載
• セキュリティベンチマーク
共通的な基準(セキュリティコントロール)を各Azureサービスに照らし合わせて、設定す
るための推奨事項集(サービスベースライン)
• サービスベースラインはv1.0対応になっているが、わかりにくい
• ベストプラクティス記事
セキュリティベンチマークが開発される前にガイドされていたAzureサービス個別でのセキュリ
ティベストプラクティス
• ものによってはこちらがわかりやすい
適用方法
• セキュリティコントロール
• ネットワークのセキュリティ
• ログ記録と監視
• ID およびアクセス制御
• データ保護
• 脆弱性の管理
• インベントリと資産の管理
• セキュリティで保護された構成
• マルウェアからの防御
• データの復旧
• インシデント対応
• 侵入テストとレッド チーム演習
Azure セキュリティ ベンチマーク
• Azure セキュリティ ベンチマーク V1 の概要 | Microsoft Docs
• Azure の境界セキュリティに関するベスト プラクティス
• Azure のデータベース セキュリティに関するベスト プラクティス
• Azure のデータ セキュリティと暗号化のベスト プラクティス
• Azure の ID 管理とアクセス制御セキュリティのベスト プラクティス
• Azure のネットワーク セキュリティに関するベスト プラクティス
• Azure で運用可能なセキュリティに関するベスト プラクティス
• Azure PaaS のベスト プラクティス
• Azure Service Fabric のセキュリティに関するベスト プラクティス
• Azure VM のセキュリティに関するベスト プラクティス
• Azure における安全なハイブリッド ネットワーク アーキテクチャの実装
• モノのインターネットのセキュリティのベスト プラクティス
• Azure で Paas データベースをセキュリティ保護する
• Azure App Service を使用して PaaS の Web アプリケーションとモバイル アプリケーションをセキュリティ保護する
• Azure Storage を使用して PaaS の Web アプリケーションとモバイル アプリケーションをセキュリティで保護する
• Azure における IaaS ワークロードのセキュリティに関するベスト プラクティス
セキュリティベストプラクティス集
• ID・アクセス
• ID管理はAzure ADに集約しましょう
• パスワードを利用した認証を最小限にしましょう
• ユーザー:SSOなどでWindows認証と統合する
• アプリ:マネージドIDを利用する
• 上記方式がとれないものにSQL認証を適用する
• パスワードを使う場合はKeyVaultで保護しましょう
• なるべく適切な最小権限のロールを使いましょう
• データ保護
• 既定の暗号化に加えて、暗号化機能を利用することで機密データを保護しましょう
• 機密データを特定しましょう
Azure SQLのベストプラクティスから要約
• 一般的なセキュリティ要件を解決するためのプレイブック - Azure SQL Database & Azure
SQL Managed Instance | Microsoft Docs
AD認証を最大限利用するデータ連携構成例
Data Lake Storage Gen 2 Synapse Analytics
専用SQLプール
Data Factory
Synapse Analytics Pipelines
データフロー
認証フロー
➀ ②
③
① ディレクトリ情報を取得するために、
Data Factory / Synapse Analytics(以下、パイプライン)
のマネージドIDにBlob共同作成者ロールを付与することで、アクセスを許可
② Polybaseや、Copyコマンドを送信するために、
SQLプール内にパイプラインのマネージドIDをユーザー登録後、db_ownerロールを付与
③ データを取得するために、
Synapse Analytics (orSQLサーバー)のマネージドIDにBlob共同作成者ロール
【参考】ID・アクセスの対応設定
# 分類 Azure Storage Azure SQL
1 認証
- アカウントキー認証
Azure Storage アカウントの接続文字列を構成する
- SASトークン認証
Shared Access Signature を使用して接続文字列を作成する
- AD認証は既定でサポート
- SQL認証
CREATE LOGIN (Transact-SQL) - SQL Server | Microsoft Docs
- AD認証
Azure Active Directory 認証を構成する - Azure SQL Database & SQL
Managed Instance & Azure Synapse Analytics | Microsoft Docs
2 認可
- RBACによるリソース操作制御(共同作成者など)
- SASトークンでのデータ操作制御
Shared Access Signatures (SAS) でデータの制限付きアクセスを付与す
る - Azure Storage | Microsoft Docs
- ユーザーアカウントへのデータ操作制御
Azure portal を使用してデータ アクセスのための Azure ロールを割り当てる
- Azure Storage | Microsoft Docs
- サービスプリンシパルへのデータ操作制御
クライアント アプリケーションからの要求を承認するために Azure AD からトーク
ンを取得する - Azure Storage | Microsoft Docs
- マネージドIDへのデータ操作制御
マネージド ID を使用してデータへのアクセスを認証する - Azure Storage |
Microsoft Docs
- RBACによるリソース操作制御(共同作成者など)
- 各種権限割り当てやロールによる操作制御
権限 (データベース エンジン) - SQL Server | Microsoft Docs
【参考】データ保護の対応設定
# 分類 Azure Storage Azure SQL
1 暗号化
- https強制による転送中の暗号化(既定)
セキュリティで保護された接続を確保するために安全な転送を要求する - Azure
Storage | Microsoft Docs
- SSEによる保存時の暗号化(既定)
保存データに対する Azure Storage 暗号化 | Microsoft Docs
- TLSによる転送中の暗号化(既定)
トランスポート層セキュリティ (転送中の暗号化)
- TDEによる保存時の暗号化(既定)
透過的なデータ暗号化 - Azure SQL Database & SQL Managed Instance
& Azure Synapse Analytics | Microsoft Docs
- 暗号化の維持
Always Encrypted documentation - Azure SQL Database | Microsoft
Docs
2 機密データ管理
- データの検出と分類を利用する
データの検出と分類 - Azure SQL Database, Azure SQL Managed
Instance, and Azure Synapse | Microsoft Docs
- マスキング
動的データ マスク - SQL Server | Microsoft Docs

More Related Content

PPTX
GA直前!SQL Server 2017 Linux 版の深イイ話
PDF
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
PDF
M17_情シス必見、Azure Arc によるマルチプラットフォーム管理の今 [Microsoft Japan Digital Days]
PPTX
JAZUG Sendai Windows Azure Update 20131109
PDF
Microsoft Azure 概要 (2015 年 4 月版)
PDF
Azure DevOps CICD Azure SQL / Data Factory
PDF
JAZUG Nagoya Bar Azure #2 Japan DC 20140331
PDF
Ignite update databricks_stream_analytics
GA直前!SQL Server 2017 Linux 版の深イイ話
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
M17_情シス必見、Azure Arc によるマルチプラットフォーム管理の今 [Microsoft Japan Digital Days]
JAZUG Sendai Windows Azure Update 20131109
Microsoft Azure 概要 (2015 年 4 月版)
Azure DevOps CICD Azure SQL / Data Factory
JAZUG Nagoya Bar Azure #2 Japan DC 20140331
Ignite update databricks_stream_analytics

What's hot (20)

PDF
Synapse lakedatabase
PDF
[Japan Tech summit 2017] CLD 023
PPTX
20171004 ignite17 dep
PDF
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
PPTX
分析データとトランザクションデータ
PDF
おいしいフルマネージドデータベース はじめました
PDF
JAZUG Nagoya Azure Update 20140607
PPTX
Sql azure入門
PDF
Microsoft Azure 概要 (sakura.io ハンズオン編)
PPTX
Data & AI Update 情報 - 2020年4月版
PDF
Microsoft Azure Storage 概要
PDF
Dell emc azurestackはじめの一歩20170713
PPTX
Microsoft Azure Workshop day1
PDF
Azure overview 2019_feb_v1.02
PDF
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
PPTX
MTとAzure の素敵な関係@MTDDC Meetup Tohoku 2015
PDF
20200118 scugj goodbye_ws2008-slide
PDF
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
PDF
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
PDF
今こそ知りたい!Microsoft Azureの基礎
Synapse lakedatabase
[Japan Tech summit 2017] CLD 023
20171004 ignite17 dep
クラウドにおける Zero Trust の考え方 PALO ALTO NETWORKS DAY 2019 | TOKYO
分析データとトランザクションデータ
おいしいフルマネージドデータベース はじめました
JAZUG Nagoya Azure Update 20140607
Sql azure入門
Microsoft Azure 概要 (sakura.io ハンズオン編)
Data & AI Update 情報 - 2020年4月版
Microsoft Azure Storage 概要
Dell emc azurestackはじめの一歩20170713
Microsoft Azure Workshop day1
Azure overview 2019_feb_v1.02
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
MTとAzure の素敵な関係@MTDDC Meetup Tohoku 2015
20200118 scugj goodbye_ws2008-slide
[SC04] あなたのサービスを "ID" で守る! Azure Active Directory の条件付きアクセスの基礎と実装
スタートアップのCEOもおさえておきたい、ITインフラのセキュリティ対策 先生:
今こそ知りたい!Microsoft Azureの基礎
Ad

Similar to Paas_Security_Part1 (20)

PDF
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
PPTX
Microsoft Azure のセキュリティ
PPTX
Azure Active Directory 利用開始への第一歩
PPTX
.NETラボ勉強会資料 Azure AD Identity Protection を知る
PDF
S94 Microsoft Azure セキュリティについて
PDF
[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際
PPTX
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
PDF
20171011_ID-based Securityにおける中核サービスとしてのAzure Active Directory
PDF
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
PDF
今改めて学ぶ Microsoft Azure 基礎知識
PPTX
モダンアクセスコントロール実現に向けた戦略策定方法
PDF
Spl002 microsoft azure_の安全性と法的
PPTX
エンジニアのための Cloud 活用
PDF
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
PDF
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
PDF
Vdi を より使いやすいインフラにするためのセキュリティ設計
PPTX
クラウドの汎用的な基礎知識に自信はありますか?
PDF
20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ
PDF
[Japan Tech summit 2017] CLD 015
PDF
SAP on Azure Cloud Workshop Material Japanese 20190221
MS Interact 2019 - Azureサービスで実現するセキュリティ全体像
Microsoft Azure のセキュリティ
Azure Active Directory 利用開始への第一歩
.NETラボ勉強会資料 Azure AD Identity Protection を知る
S94 Microsoft Azure セキュリティについて
[SC05] 株式会社アシックス様における Azure AD 導入プロジェクトの実際
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
20171011_ID-based Securityにおける中核サービスとしてのAzure Active Directory
S04_Microsoft XDR によるセキュアなハイブリッドクラウド環境の実現 [Microsoft Japan Digital Days]
今改めて学ぶ Microsoft Azure 基礎知識
モダンアクセスコントロール実現に向けた戦略策定方法
Spl002 microsoft azure_の安全性と法的
エンジニアのための Cloud 活用
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
Vdi を より使いやすいインフラにするためのセキュリティ設計
クラウドの汎用的な基礎知識に自信はありますか?
20 分で理解する Azure Active Directory 最新アップデートと利活用シナリオ
[Japan Tech summit 2017] CLD 015
SAP on Azure Cloud Workshop Material Japanese 20190221
Ad

More from Ryoma Nagata (10)

PDF
Azure Purview Linage for Dataflow/Spark
PDF
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
PDF
Delta Lake with Synapse dataflow
PDF
Data platformdesign
PDF
Power Query Online
PDF
Databricks の始め方
PPTX
BigData Architecture for Azure
PPTX
道徳経営実践講座
PPTX
Delta lakesummary
PDF
20190517 Spark+AI Summit2019最新レポート
Azure Purview Linage for Dataflow/Spark
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Delta Lake with Synapse dataflow
Data platformdesign
Power Query Online
Databricks の始め方
BigData Architecture for Azure
道徳経営実践講座
Delta lakesummary
20190517 Spark+AI Summit2019最新レポート

Paas_Security_Part1

  • 1. 【初級、中級者向け】 Azure Data Serviceのセキュリティ構成 株式会社ジール 永田 亮磨 Twitter:@ryomaru0825 Linkedin:ryoma-nagata-0825 Qiita:qiita.com/ryoma-nagata
  • 2. Part 1 1. 概念 1. 多層防御 2. ID・アクセス 3. データ保護 2. 適用 1. ベストプラクティス 2. 参考例 Part 2 1. 概念 1. Azure PaaSのネットワークセキュリティ 2. 監視・ログ・監査 2. 適用 1. ベストプラクティス 2. 参考例 AGENDA
  • 3. • Azure SQL(Synapseを含む)、Azure Storage(blob,adls gen2)のセ キュリティ構成を考えるうえでの要素やプラクティスを説明します。 本セッションのスコープ、前提
  • 4. • 企業NW内中心のアプローチ • 企業NW内のデバイスは信頼されている →NWエンドポイントが侵害されると侵入拡大が容易となる →モバイルデバイスや、クラウド利用により、すべてのアプリケー ション、データが完全に組織の管理下にある状況ではなくなって いる セキュリティアプローチの変化 従来のNW境界型モデル • すべてのアクセス要求は要求時点では安全ではない前提 で対処をするアプローチ • 企業NW内であってもデバイスは信頼されない • (会社の中から出てくる人=従業員とは限らない) • 多要素認証などによる信頼性の確認の強化 • セキュリティを複数の層で構成する(多層防御) • MicrosoftではIDベースでのアプローチを推進 ゼロトラストを前提とした多層防御アプローチ • Azure でのセキュリティ設計原則 - Azure Architecture Center | Microsoft Docs
  • 5. 多層防御 多層防御 - Learn | Microsoft Docs # 観点 例 1 物理的なセキュリティ • Azure データ センターの生体認証アクセス制御 https://docs.microsoft.com/ja- jp/azure/security/fundamentals/physical-security 2 IDとアクセス • Azure Active Directory ユーザー認証 • RBAC 3 境界 • DDoS保護 • Advanced Threat Protection (脅威検出機能) 4 ネットワーク • ネットワーク セキュリティ規則 • ファイアウォール、IPフィルタ 5 コンピューティング • OS および階層型ソフトウェア パッチを定期的に適用 (PaaSではベンダーの責任範囲となる) 6 アプリケーション • SSL/TLS で暗号化されたセッション 7 データ • Azure Blob Storage に保存中のデータの暗号化
  • 6. • 認証 • 認証とは、アクセス元が誰なのかを特定することです。 一般に、ID+パスワードで認証を行い、IDとパスワード情報は各アプリケーションのID管理機能 or ID管理サービス(Azure ADなど)が管理します。 • 多要素認証と呼ばれる方式では、追加要素として指紋などの生体情報、利用端末が正しいか、 組み合わせとして携帯電話などのデバイスを保持しているかなどをチェックします。 IDとアクセス キーワード キーワード 説明 備考 Azure Active Directory Azure上のID管理サービス サービスプリンシパル システムや、サービスを実行する無人ユーザID オンプレADやWindowsマシンでは、サービス アカウントなどと呼ばれていた マネージドID Azureリソースに直接採番されたID。ID,パス ワードはユーザではなく、Azureが管理する システム割り当て:Azureが作成・削除(リ ソースのライフサイクルと同期) ユーザ割り当て:ユーザが作成・削除 MSI認証(Managed Service Identify) マネージドIDを用いた認証方式のこと Azureリソース間の認証で最も推奨となる
  • 7. リソース 方式 ID 認証をするサービス Azure Storage アカウントキー認証 なし Azure Storage SAS認証 なし Azure Storage AD認証 ユーザーアカウント、 サービスプリンシパル、 マネージドID Azure AD Azure SQL SQL認証 SQL Server ログイン Azure SQL AD認証 ユーザーアカウント、 サービスプリンシパル、 マネージドID Azure AD 各サービスの認証の種類
  • 8. • 認可(承認) • 認可とは、認証により特定したユーザー(あるいはシステムやサービス)に対してアクセス 先での操作権限を付与することです。 • アクセス先は権限の付与情報を保持し、ID管理サービスが認証したアクセス元に対して 操作の許可判定を行います。 IDとアクセス キーワード キーワード 説明 備考 アクション 対象となる操作 AzureのRBACではリソースの操作とデー タの操作でアクションの種類がわかれてい る さらにアプリケーション(DBなど)内での み制御可能なアクション ロール 0以上のアクションの許可、拒否を集約し た定義 RBAC ロールにIDを割り当てることによるアクセス 制御 例:所有者ロールにAさんを割り当て
  • 9. リソース 操作例 分類 設定場所 必要ロール例 参考 Azure Storage コンテナの作成 リソース操作 (Action) リソースのIAM設定 共同作成者 Azure リソース プロバイ ダーの操作 | Microsoft Docs blobの読み取り データ操作 (DataAction) リソースのIAM設定 Blobデータ共同作成者 ※共同作成者であれば アカウントキーを取得して 実施可能(AD認証で はなくなる) Azure 組み込みロール - Azure RBAC | Microsoft Docs Azure SQL スペック変更 リソース操作 (Action) リソースのIAM設定 共同作成者 SELECT ~の結果取 得 アプリケーション内の操作 DBエンジン内のロールな ど db_datareader データベース エンジンの 権限の概要 - SQL Server | Microsoft Docs 各操作の分類や設定場所の違い
  • 10. • ストレージ • アカウントキー認証 • AD認証(ユーザーアカウント) • AD認証(マネージドID) • Azure SQL • SQL 認証 • AD認証(ユーザーアカウント) • AD認証(マネージドID) 実機による確認
  • 11. • アプリケーションごとにユーザを作成し、管理することは運用コストとセキュリティリスクが増大 • 認証基盤はADにより担保、認可制御のみをアプリケーション上で行う AD認証統合のメリット … … 認証 アクセス制御 DB User AD User 認証 ADがIDを統合管理 … 認証 アクセス制御 AD User ADとアプリ内のID管理を併用 … … • 普段のIDとDBアクセス用のIDを個別運用していると、利用者が広がるにつれて 管理コストが激増(=データ漏洩リスク増) • 認証を認証サービスに委任し、データストアは認可制御のみ行う • 認証サービスで統合的に認証要件を設定。(多要素認証対応な ど)
  • 12. • データ保護の考え方は主に二つ • 暗号化 Azureのサービスでは基本的に暗号化要件はクリアされている。 キー管理をMicrosoftに委任するか、アプリケーション上で復号化する必要があるかなどが追加検討となる。 暗号化の対象は保存時、転送時 • 保存データの暗号化:SQLであればTDE(Synapseでは既定でオフなので注意) • 転送データの暗号化:TLS、https強制機能など • 機密データ管理 個人情報につながるデータや各種コンプライアンス上機密とされるデータの管理方針 データ保護 • Azure の暗号化の概要 | Microsoft Docs • 機密データを特定してタグを付ける
  • 13. • ドキュメントに大量に推奨事項が記載 • セキュリティベンチマーク 共通的な基準(セキュリティコントロール)を各Azureサービスに照らし合わせて、設定す るための推奨事項集(サービスベースライン) • サービスベースラインはv1.0対応になっているが、わかりにくい • ベストプラクティス記事 セキュリティベンチマークが開発される前にガイドされていたAzureサービス個別でのセキュリ ティベストプラクティス • ものによってはこちらがわかりやすい 適用方法
  • 14. • セキュリティコントロール • ネットワークのセキュリティ • ログ記録と監視 • ID およびアクセス制御 • データ保護 • 脆弱性の管理 • インベントリと資産の管理 • セキュリティで保護された構成 • マルウェアからの防御 • データの復旧 • インシデント対応 • 侵入テストとレッド チーム演習 Azure セキュリティ ベンチマーク • Azure セキュリティ ベンチマーク V1 の概要 | Microsoft Docs
  • 15. • Azure の境界セキュリティに関するベスト プラクティス • Azure のデータベース セキュリティに関するベスト プラクティス • Azure のデータ セキュリティと暗号化のベスト プラクティス • Azure の ID 管理とアクセス制御セキュリティのベスト プラクティス • Azure のネットワーク セキュリティに関するベスト プラクティス • Azure で運用可能なセキュリティに関するベスト プラクティス • Azure PaaS のベスト プラクティス • Azure Service Fabric のセキュリティに関するベスト プラクティス • Azure VM のセキュリティに関するベスト プラクティス • Azure における安全なハイブリッド ネットワーク アーキテクチャの実装 • モノのインターネットのセキュリティのベスト プラクティス • Azure で Paas データベースをセキュリティ保護する • Azure App Service を使用して PaaS の Web アプリケーションとモバイル アプリケーションをセキュリティ保護する • Azure Storage を使用して PaaS の Web アプリケーションとモバイル アプリケーションをセキュリティで保護する • Azure における IaaS ワークロードのセキュリティに関するベスト プラクティス セキュリティベストプラクティス集
  • 16. • ID・アクセス • ID管理はAzure ADに集約しましょう • パスワードを利用した認証を最小限にしましょう • ユーザー:SSOなどでWindows認証と統合する • アプリ:マネージドIDを利用する • 上記方式がとれないものにSQL認証を適用する • パスワードを使う場合はKeyVaultで保護しましょう • なるべく適切な最小権限のロールを使いましょう • データ保護 • 既定の暗号化に加えて、暗号化機能を利用することで機密データを保護しましょう • 機密データを特定しましょう Azure SQLのベストプラクティスから要約 • 一般的なセキュリティ要件を解決するためのプレイブック - Azure SQL Database & Azure SQL Managed Instance | Microsoft Docs
  • 17. AD認証を最大限利用するデータ連携構成例 Data Lake Storage Gen 2 Synapse Analytics 専用SQLプール Data Factory Synapse Analytics Pipelines データフロー 認証フロー ➀ ② ③ ① ディレクトリ情報を取得するために、 Data Factory / Synapse Analytics(以下、パイプライン) のマネージドIDにBlob共同作成者ロールを付与することで、アクセスを許可 ② Polybaseや、Copyコマンドを送信するために、 SQLプール内にパイプラインのマネージドIDをユーザー登録後、db_ownerロールを付与 ③ データを取得するために、 Synapse Analytics (orSQLサーバー)のマネージドIDにBlob共同作成者ロール
  • 18. 【参考】ID・アクセスの対応設定 # 分類 Azure Storage Azure SQL 1 認証 - アカウントキー認証 Azure Storage アカウントの接続文字列を構成する - SASトークン認証 Shared Access Signature を使用して接続文字列を作成する - AD認証は既定でサポート - SQL認証 CREATE LOGIN (Transact-SQL) - SQL Server | Microsoft Docs - AD認証 Azure Active Directory 認証を構成する - Azure SQL Database & SQL Managed Instance & Azure Synapse Analytics | Microsoft Docs 2 認可 - RBACによるリソース操作制御(共同作成者など) - SASトークンでのデータ操作制御 Shared Access Signatures (SAS) でデータの制限付きアクセスを付与す る - Azure Storage | Microsoft Docs - ユーザーアカウントへのデータ操作制御 Azure portal を使用してデータ アクセスのための Azure ロールを割り当てる - Azure Storage | Microsoft Docs - サービスプリンシパルへのデータ操作制御 クライアント アプリケーションからの要求を承認するために Azure AD からトーク ンを取得する - Azure Storage | Microsoft Docs - マネージドIDへのデータ操作制御 マネージド ID を使用してデータへのアクセスを認証する - Azure Storage | Microsoft Docs - RBACによるリソース操作制御(共同作成者など) - 各種権限割り当てやロールによる操作制御 権限 (データベース エンジン) - SQL Server | Microsoft Docs
  • 19. 【参考】データ保護の対応設定 # 分類 Azure Storage Azure SQL 1 暗号化 - https強制による転送中の暗号化(既定) セキュリティで保護された接続を確保するために安全な転送を要求する - Azure Storage | Microsoft Docs - SSEによる保存時の暗号化(既定) 保存データに対する Azure Storage 暗号化 | Microsoft Docs - TLSによる転送中の暗号化(既定) トランスポート層セキュリティ (転送中の暗号化) - TDEによる保存時の暗号化(既定) 透過的なデータ暗号化 - Azure SQL Database & SQL Managed Instance & Azure Synapse Analytics | Microsoft Docs - 暗号化の維持 Always Encrypted documentation - Azure SQL Database | Microsoft Docs 2 機密データ管理 - データの検出と分類を利用する データの検出と分類 - Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse | Microsoft Docs - マスキング 動的データ マスク - SQL Server | Microsoft Docs