狠狠撸
Submit Search
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
?
Download as PPTX, PDF
?
3 likes
?
1,377 views
junichi anno
Follow
this is the deck used in Tech Summit Japan 2018 * sorry in Japanese
Read less
Read more
1 of 55
Download now
More Related Content
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
1.
コストと脅威を同時に削減! Azureリソースを Azure AD
で効率的に守るためのノウハウ集 安納 順一 日本マイクロソフト株式会社 Commercial Software Engineering CI01
2.
2 「安全」にしてください!
3.
3 技術 運用 “安全”であることを維持し続けられることが重要
4.
4 Security DevOps Secure the subscription Enable secure developme- nt Integrate security
into CICD Continuous Assurance Alerting & Monitoring Cloud Risk Governance 起点はサブスクリプションのセキュリティ設 計 ? Azure AD による認証と認可 ? 多要素認証 ? Identity Protection ? Managed Identity ? ARM & Role-based Access Control ? モニター ? Azure セキュリティセンター ? Log Analytics ? ガバナンス ? Azure Blueprints/Azure Policy ? Just Enough Administration(JEA) ? PowerShell JEA ? Azure AD 特権管理
5.
5
6.
6 Azure AD Join パスワード連携 OMA-DM オンプレミス SAML
2.0 WS-Federation OpenID Connect OAuth 2.0 ID 管理 認証 Active Directory U/P Sync SSO 業界標準プロトコルの サポート 他社 SaaS との ID 連携 Microsoft Passport Windows Hello Windows 10 Browser セキュリティ ポリシー アプリ配布/利用制限 暗号化, 権限管理,追跡 BYOD/CYOD 社内業務 SAML 2.0 WS-Fed. Azure Machine Learning Intune Subscription RBAC … Proxy Connector KCD ID 同期 条件付き???? 特権 ID 管理 RBAC Managed ID 多要素認証必須 アクセスOK アクセス不可 ID 連携 Information Protection MDM/ MAM/ MCM B2B Azure IaaS Domain Services VPN Kerberos ldap NTLM Group Policy SPNego IWA アクセス パネルBusiness Store SCIM 2.0 監査 ???解析 ?????IT検出 ???????認証 MS Account
7.
7 Azure Resource Management
API Azure サブスクリプション
8.
8 アプリケーション サービス プロバイダー 条件付きアクセス Identity
Protection MFA
9.
9 Azure サブスクリプション アプリケーション
サービス プロバイ ダー
12.
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-conditional-access
13.
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-dynamic-data-masking-get-started-portal name division email
phone Junichia SEI jxxx@xxxx.com 000-0000-0000 Hirosho C+E hxxx@xxxx.com 000-0000-0000 Sahomma SET sxxx@xxxx.com 000-0000-0000 drobbins DevCrew dxxx@xxxx.com 000-0000-0000
14.
const string authString
= "https://login.windows.net/hogehoge.com"; const string clientID = "07e33f8a-166f-4d79-a46d-f96dccf08b76"; const string clientSecret = "s9e6moGcFsRPP0rENcniLxxxxxhgmpGxxxxxpSIenvY="; const string resAzureGraphAPI = "https://graph.windows.net"; const string serviceRootURL = "https://graph.windows.net/hogehoge.com”; こいつをなんとかしたい ※ SQL 接続文字列も同様
17.
サブスクリプション Azure Resource Manager Azure
AD で保護されたリソース”に安全にアクセスするには、
18.
import urllib import json from
collections import OrderedDict import pprint import matplotlib.pyplot as plt from PIL import Image,ImageOps import cv2 import numpy import string import glob #img = cv2.imread("./images/給振用紙サンプル_10_U6.jpg") imgfile_folder = 'images_labeled' allFiles = [] #allFiles = glob.glob(imgfile_folder + '/*.jpg') allFiles = glob.glob(imgfile_folder + '/7*.jpg') print(str(len(allFiles)) + 'このファイルを処理します') #print(allFiles) imgs = [] p = [] for f in allFiles: img = cv2.imread(f) imgs.append(img) #img = cv2.equalizeHist(img) img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) gamma = 2.0 imax = img.max() img = imax * (img / imax)**(1/gamma) #plt.imshow(img) im = Image.fromarray(numpy.uint8(img)) #im = im.convert('L') im = ImageOps.invert(im) #plt.imshow(im) width, height = im.size img = [] for y in range(height): for x in range(width): img.append(im.getpixel((x,y))) img.insert(0,"0") #ダミーのラベルデータを入れておく
19.
颁辞苍蹿颈驳摆“础辫辫厂别肠谤别迟&辩耻辞迟;闭
20.
颁辞苍蹿颈驳摆“础辫辫厂别肠谤别迟&辩耻辞迟;闭 ハンドオフがある んじゃない? そもそも人が介在すること自体が不安
21.
技術だけでなく セキュリティ運用ルールにおける ガバナンスとコンプライアンス
22.
RBAC 信頼関係
24.
http://169.254.169.254/ metadata/instance?api- version=2018-02-01 metadata ? ARM 配下の仮想マシン
インスタンスに関する情報を提供するインターフェース ? 実行中の仮想マシン インスタンスからのみアクセス可能 ? ルーティング不可能なローカルホスト(169.254.169.254)から取得する http://169.254.169.254/metadata/instance/<category> { "compute": { "location": "westus", "name": "avset2", "offer": "UbuntuServer", "osType": "Linux", "placementGroupId": "", "platformFaultDomain": "1", "platformUpdateDomain": "1", "publisher": "Canonical", "resourceGroupName": "myrg", "sku": "16.04-LTS", "subscriptionId": "xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", "tags": "", "version": "16.04.201708030", "vmId": "13f56399- bd52-4150-9748-7190aae1ff21", "vmScaleSetName": "", "vmSize": "Standard_D1", "zone": "1" }, "network": { "interface": [ { "ipv4": { "ipAddress": [ { "privateIpAddress": "10.1.2.5", "publicIpAddress": "X.X.X.X" } ], "subnet": [ { "address": "10.1.2.0", "prefix": "24" } ] }, "ipv6": { "ipAddress": [] }, "macAddress": "000D3A36DDED" } ] } } api-version=2017-08-01 Endpoint Parameter Header Metadata="true"
25.
http://169.254.169.254/metadata/Identity/OAuth/Token 'http://169.254.169.254/metadata/identity/oauth2/token ?api-version=2018-02-01 &resource=https%3A%2F%2Fvault.azure.net' Endpoint Parameter api-version=2018-02-01 resource=https%3A%2F%2Fvault.azure.net Header Metadata="true"
27.
StatusCode : 200 StatusDescription
: OK Content : {"access_token":"eyJ0eXAiOiJKV1QiLxxxxxxxxxxSUzI1NiIsIng1dCI6IndVTG1ZZnNxZFF1V3RW Xy1oeFZ0REpKWkxxxxxxxxxxZCI6IndVTG1ZZnNxZFF1V3RWXy1oeFZ0REpKWk00USJ9.eyJhdWQiOiJo dHRwczovL3ZhdWx0LmF6dXJlxxxxxxxxxxlzcy... RawContent : HTTP/1.1 200 OK Content-Length: 1599 Content-Type: application/json; charset=utf-8 Date: Wed, 07 Nov 2018 04:12:01 GMT Server: Microsoft-IIS/10.0 {"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUz... Forms : {} $resource = 'https%3A%2F%2Fvault.azure.net' $baseurl = 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01' $url = $baseurl + '&resource=' + $resource $response = Invoke-WebRequest ` -Uri $url ` -Method GET ` -Headers @{Metadata="true"}
28.
$token = ($response.content
| ConvertFrom-Json).access_token eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IndVTG1ZZnNxZFF1V3RWXy1oeFZ0REpKWk00USIsImtpZCI6IndVTG1ZZn NxZFF1V3RWXy1oeFZ0REpKWk00USJ9.eyJhdWQiOiJodHRwczovL3ZhdWx0LmF6dXJlLm5ldCIsImlzcyI6Imh0dHBzOi8vc3RzLnd pbmRvd3MubmV0L2M5Njg3MTQ1LTUyMWYtNDJlNi1hMDAyLWMyZGY0MDRhNzFlZS8iLCJpYXQiOjE1NDE1NjM2MjEsIm5iZiI6MTU0M TU2MzYyMSwiZXhwIjoxNTQxNTkyNzIxLCJhaW8iOiI0MlJnWUlnTys5WmZMcjV1cnl6djNUV3Jkd3ZjQXdBPSIsImFwcGlkIjoiZDR mMDAzMmMtODBiNy00NzMyLThiOTUtZjFlYjllZmQ1N2NjIiwiYXBwaWRhY3IiOiIyIiwiZV9leHAiOjI4ODAwMCwiaWRwIjoiaHR0c HM6Ly9zdHMud2luZG93cy5uZXQvYzk2ODcxNDUtNTIxZi00MmU2LWEwMDItYzJkZjQwNGE3MWVlLyIsIm9pZCI6ImNlNDY2OGM1LWF lOWQtNDZmYS1iMTYxLWYxOGFiYWI2ODRkOSIsInN1YiI6ImNlNDY2OGM1LWFlOWQtNDZmYS1iMTYxLWYxOGFiYWI2ODRkOSIsInRpZ CI6ImM5Njg3MTQ1LTUyMWYtNDJlNi1hMDAyLWMyZGY0MDRhNzFlZSIsInV0aSI6ImhNLWlCeXBXUGtLaE9UNWlvZmtEQUEiLCJ2ZXI iOiIxLjAiLCJ4bXNfbWlyaWQiOiIvc3Vic2NyaXB0aW9ucy8zMjZjMzU5Ni04YWRhLTQ0YmItYWY2OS1iZDk4YWVmMGFjYmUvcmVzb 3VyY2Vncm91cHMvdGVjaHN1bW1pdDIwMTgvcHJvdmlkZXJzL01pY3Jvc29mdC5Db21wdXRlL3ZpcnR1YWxNYWNoaW5lcy90czIwMTh 2bTAyIn0.jWbL_EZyr43BgQEN-CC5cM15XTFeSVmZpKrUW3-N5SJpNONpES6Q8YQQkKRhRrpmkBADy45fI8eMj28R7sCDo1lTl4hzz aEplNlgSKtDv1xO6GD9vaxlS9V1eMcjimLEHk9N5QyZSllv21_F32rsnC_dv67W5v0KQZVGgTpHallEDR1SL_p9-kagdy4KBJ00GnR ooW7laLmQUkxDlYBVAv0kB6ebnkPspWKoFQSxk0xd-HVKHDBvUVhCBW8dTVTX3XGDM8dcIH6c-EOde_uXdWO6q-nVJJZEYAzf4F3Vi IeMbM851Bc57Mp4MkhG38tEP4GF9eK7Jj8zXOTPLY10NA
31.
$KeyVault = "https://pharaojpkey.vault.azure.net/" $KeyContainer
= $KeyVault + "secrets/testSecret" $KVuri = $KeyContainer + "?api-version=2016-10-01" $KeyVaultResponse = Invoke-WebRequest ` -Uri $KVuri ` -Method GET ` -Headers @{Authorization="Bearer $KeyVaultToken"} ($KeyVaultResponse.Content | ConvertFrom-Json).Value
32.
const rp =
require('request-promise'); const getToken = function(resource, apiver, cb) { var options = { uri: `${process.env["MSI_ENDPOINT"]}/?resource=${resource}&api- version=${apiver}`, headers: { 'Secret': process.env["MSI_SECRET"] } }; rp(options) .then(cb); }
34.
? システム割り当てマネージド ID(system-assigned
managed identity) ? Azure サービス インスタンス上で直接有効にされるID ? 各インスタンスで機能を有効にする ? インスタンスが削除された場合、Azure AD の資格情報および ID を自動的にクリーンアップされる ? ユーザー割り当てマネージド ID(user-assigned managed identity) ※Preview ? 複数のリソースに割り当て可能なマネージド ID ? 現時点では VM と Container サービスでのみ使用可能 RBAC 信頼関係 信頼関係
35.
サービス システム割り当てID ユーザー割り当てID Azure
Virtual Machines 〇 Preview Virtual Machine Scale Sets 〇 Preview Azure App Service Windows:〇 Linux: Coming Soon ? Azure Functions 〇 ? Azure Logic Apps 〇 ? Azure Data Factory V2 〇 ? Azure API Management 〇 ? Azure Container Instances Windows: ? Linux: Preview Windows: - Linux: Preview 最新情報 https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/services-support-msi 2018/10/23 現在
36.
Service Resource ID
Status Azure Resource Manager https://management.azure.com/ 使用可能 Microsoft Graph https://graph.windows.net 使用可能 Azure Key Vault https://vault.azure.net/ 使用可能 Azure Data Lake https://datalake.azure.net/ 使用可能 Azure SQL https://database.windows.net/ 使用可能 Azure Event Hubs https://eventhubs.azure.net/ プレビュー Azure Service Bus https://servicebus.azure.net/ プレビュー Azure Storage https://storage.azure.com/ プレビュー 最新情報 https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/services-support-msi 2018/10/23 現在
40.
Resource Group
41.
{ "properties": { "displayName": "NSG
X on every nic", "description": "This policy enforces a specific NSG on every virtual network interface", "parameters": { "nsgId": { "type": "string", "metadata": { "description": "Resource Id of the Network Security Group", "displayName": "Network Security Group Id" } } }, "policyRule": { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Network/networkInterfaces" }, { "not": { "field": "Microsoft.Network/networkInterfaces/networkSecurityGroup.id", "equals": "[parameters('nsgId')]" } } ] }, "then": { "effect": "deny" } } } }
42.
42 Blueprint Policy Assignment Role Assignment(RBAC) Azure
Resource Manager Template Built-in Custom Management Group and
43.
43 43
44.
Resource Group
47.
Azure Blueprints &
Policy to get DevOps right | Best of Microsoft Ignite 2018 https://www.youtube.com/watch?v=OiOXlgFNgDo
49.
NoOps
50.
uncomfortable No Ops
51.
Security DevOps Secure the subscriptio n Enable secure developme -nt Integrate security into
CICD Continuous Assurance Alerting & Monitoring Cloud Risk Governance 起点はサブスクリプションのセキュリティ設計 ? Azure AD による認証と認可 ? 多要素認証 ? Identity Protection ? Managed Identity ? ARM & Role-based Access Control ? モニター ? Azure セキュリティセンター ? Log Analytics ? ガバナンス ? Azure Blueprints/Azure Policy ? Just Enough Administration(JEA) ? PowerShell JEA ? Azure AD 特権管理
52.
52 参考URL https://docs.microsoft.com/ja-jp/azure/security/ ? Advanced threat
detection ? Azure logging and auditing ? Azure network security ? Azure serverless platform security ? Container security in Azure ? Enabling operational security ? Isolation in the Azure cloud ? Secure hybrid network architecture ? Security technical capabilities
53.
Information 「Ask The Speaker」 各ブレイクアウトセッション終了後の休憩時 間に、 登壇したスピーカーに直接ご質問いただける コーナーを
B2F 「Ask The Speaker」 Room に用意 しています。セッション内容のより深い理解 のため、 ぜひお役立てください。 (※ハンズオンラーニング、シアターセッション、ビジネス トラック 及び 一部のセッションを除きます) EXPO AREA 1 EXPO AREA 2 Room C
54.
セッションアンケートにご協力ください。 公式イベントアプリで、「Microsoft Tech Summit
2018 参加者アンケート(必 須)」と 「各セッションアンケート( 5 つ以上)」、合わせて 6 つ以上のアンケートに ご回答ください。 もれなくオリジナルグッズを贈呈いたします。 Information Twitter のご案内 本セッションに関するご質問やご感想は、 #mstsjp18 と セッション ID の ハッシュタグで、ご投稿をお願いします。 #mstsjp18
55.
55 ? 2018 Microsoft
Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
Editor's Notes
安全なクラウドサブスクリプションは、その後の開発および展開活動を実行するための基盤を提供します。エンジニアリングチームは、アラート、ARMポリシー、RBAC、セキュリティセンターポリシー、JEA、リソースロックなどの要素を含む、サブスクリプションのセキュリティを展開および設定する機能を備えている必要があります。同様に、すべての設定が安全なベースラインへの適合。 コーディング段階と初期開発段階では、開発者はセキュアなコードを記述し、クラウドアプリケーションの安全な構成をテストする能力を備えている必要があります。ビルド検証テスト(BVT)と同様に、Azureのさまざまなリソースタイプのセキュリティをチェックできるセキュリティ検証テスト(SVT) テストの自動化はdevopsの中心的な教えです。 VSTS CICDパイプラインの一部としてSVTを実行する機能を提供することで、これを強調します。これらのSVTを使用すると、クラウドアプリケーションの展開に使用されるターゲットサブスクリプションと、アプリケーションが構築されているAzureリソースがすべて確実にセットアップされるようにすることができます。 絶え間なく変わるdevオペレーション環境では、セキュリティの考え方から離れることは重要なマイルストーンです。我々は、セキュリティをシステムの連続的に変化する状態として扱わなければならない。これは、自動化されたrunbooks、スケジュールなどの組み合わせを使用して継続的な保証を可能にする機能によって可能になります。 セキュリティステータスの可視性は、個々のアプリケーションチームや中央のエンタープライズチームにとって重要です。私たちは、両方のニーズに応えるソリューションを提供しています。さらに、このソリューションは、デベロッパーチームのすべてのステージにわたって展開され、デベロッパーチームと運用チームの間のギャップをセキュリティの観点から、単一の統合されたビューを通じてブリッジします。
安全なクラウドサブスクリプションは、その後の開発および展開活動を実行するための基盤を提供します。エンジニアリングチームは、アラート、ARMポリシー、RBAC、セキュリティセンターポリシー、JEA、リソースロックなどの要素を含む、サブスクリプションのセキュリティを展開および設定する機能を備えている必要があります。同様に、すべての設定が安全なベースラインへの適合。 コーディング段階と初期開発段階では、開発者はセキュアなコードを記述し、クラウドアプリケーションの安全な構成をテストする能力を備えている必要があります。ビルド検証テスト(BVT)と同様に、Azureのさまざまなリソースタイプのセキュリティをチェックできるセキュリティ検証テスト(SVT) テストの自動化はdevopsの中心的な教えです。 VSTS CICDパイプラインの一部としてSVTを実行する機能を提供することで、これを強調します。これらのSVTを使用すると、クラウドアプリケーションの展開に使用されるターゲットサブスクリプションと、アプリケーションが構築されているAzureリソースがすべて確実にセットアップされるようにすることができます。 絶え間なく変わるdevオペレーション環境では、セキュリティの考え方から離れることは重要なマイルストーンです。我々は、セキュリティをシステムの連続的に変化する状態として扱わなければならない。これは、自動化されたrunbooks、スケジュールなどの組み合わせを使用して継続的な保証を可能にする機能によって可能になります。 セキュリティステータスの可視性は、個々のアプリケーションチームや中央のエンタープライズチームにとって重要です。私たちは、両方のニーズに応えるソリューションを提供しています。さらに、このソリューションは、デベロッパーチームのすべてのステージにわたって展開され、デベロッパーチームと運用チームの間のギャップをセキュリティの観点から、単一の統合されたビューを通じてブリッジします。
Download