[sc10] 自社開発モバイルアプリの dlp 対応化を microsoft intune で可能に
TRANSCRIPT
EMM – Enterprise Mobility Management
•エンタープライズ・企業レベルでモバイル デバイスやモバイル アプリを管理する枠組みや考え方
MDM – Mobile Device Management
•主に OMA-DM の規格に基づいたモバイル デバイスの管理 (PC/Mac, スマホ)
MAM – Mobile Application Management
•モバイル デバイス上で利用するアプリケーションの管理
ADAL – Azure Active Directory Authentication Library
• 「モダン認証」を実装するために必要な Azure Active Directory 認証用のライブラリ
APP – Application Protection Policy
•モバイル アプリケーションをポリシー ベースで管理・保護する方法 (AppConfig.org とは異なる)
LOB – Line-of-Business (application)
•一般的に企業で利用される社内用アプリケーション
OMA – Open Mobile Alliance / OMA-DM – Open Mobile Alliance Device Management
•モバイル デバイス業界向けにオープン規格を定義している組織・DM はその中でデバイス管理の定義
条件付きアクセスPC & モバイル管理 モバイル アプリ保護ポリシー
OS 層の機能管理メールや Office 365 をはじめとした様々なリソースへのアクセスを制御
LOB App
#1
アプリケーションで扱う企業データの保護
APP (Application
Protection Policy) の有効化
アプリケーションの展開
アプリケーションとデータの
保護ポリシー
アプリケーション構成
Mobile Application
Management
(MAM)
Mobile Device
Management
(MDM)アプリケーション
の展開
アプリケーション
の構成
Application
Protection Policy
デバイス構成
ポリシー
機能実装の目的は?
▪ 企業と個人のアプリケーション、データ、ID を明確に分け、保護すること
App Protection Policies▪ Microsoft Office のモバイル アプリには組み込み済み
▪ 一部のサードパーティ製品にも組み込み
▪ 自社の LOB アプリにも組み込み可
Managed apps
Personal apps個人アプリ
管理されたアプリ
MDM – オプション(Intune もしくは他社製品)
企業データ
個人データ
マルチ ID のポリシー
アプリケーション アクセス時の制御
• アプリケーション用 PIN
• 企業 ID/Pass
• 脱獄・ルートされたデバイス認識
情報漏洩保護
• コピペの制御
• アプリ間のデータ共有の制御
• クラウドへの保存を制御
• プリント機能制御
データのリモート ワイプ
• 管理されたアプリから保護した企業データのみワイプ可
データの暗号化
• iOS: OS レベルの暗号化機能を利活用
• Android: OpenSSL スキーマ128-bit AES key gen
https://www.microsoft.com/en-us/cloud-platform/microsoft-intune-apps
Intune App SDK
• APP 機能をフルで利活用可能
• ストア公開アプリもLOB アプリも対象
Cordova Plugin
• Cordova で開発したAndroid や iOS アプリを対象に APP 機能を実装
Xamarin Component• Xamarin で開発し
Android や iOS アプリを対象に APP 機能を実装
App Wrapping Tool
• コマンド ラインのツール
• アプリのコード変更不要
• 簡易な LOB アプリ向け
C:\users\bill
Microsoft Intune のアプリケーション保護機能を利用する場合
認証に ADAL が必須
Intune App SDK を利用する場合、アプリケーション内に ADAL を手動で追加する必要がある
Intune App Wrapping ツールを利用する場合、ツールによりアプリケーションに ADAL が追加される
App Wrapping Tool vs. Intune App SDK
App Wrapping Tool Intune App SDK
簡易アプリ 複雑なアプリ、機能と容量の多いアプリ
社内のみにアプリを展開 社内以外に公開 App Store にもリリースする
1つの ID (企業ID) のみを必要とする 複数 ID のサポートを必要とする
アプリを頻繁に更新しない アプリを頻繁に更新する
アプリのソースコードが手元にない・触れない ソースコードがあり、コード内容を把握している
iOS Android
前提条件 • macOS X 10.8.5+ with Xcode
toolset 5+
• Signing 用証明書• Provisioning profile
• アプリが暗号化されていないこと• iOS 8.0+ をターゲットとしたアプリ
• Windows
• Java Key tool
• アプリが暗号化されていないこと• Android 4.0+ をターゲットとしたアプリ
実装環境 Terminal Powershell
ハイブリッドモバイルプラットフォーム
Cordova, Xamarin Cordova, Xamarin
プロパティ 使い方
-i Wrapping する前のアプリケーション ファイル パス (*.app/*.ipa) -必須
-o Wrapping されたアプリケーションのアウトプット ファイル -必須
-p (iOS) プロビジョニング プロファイルのパス (*.mobileprovision) ー必須
-c Signing Certificateの SHA-1 Hash-必須
-h ヘルプ
-v (オプション) Wrapping 実行時の詳細ログをコンソールに表示
-e (オプション) アプリのプロセスする際に不要エンタイトルメントを削除
-xe (オプション) iOS エクステンションの情報を表示・利用するにあたって必要なエンタイトルメントを列挙
-x (オプション) エクステンション プロビジョニング プロファイルの指定
-f (オプション) コマンドラインの代わりに pfile を利用する場合の pfile パス指定
-b (オプション) カスタム バンドル バージョンの指定 (CFBundleVersion)
ターミナルでの実行コマンド
SDK のみで有効な機能
• 複数 ID 対応
• Save-as 時の保存先制御
• スタイル・ブランドのカスタマイズ
• セレクティブ ワイプ
• ステータス・状態・デバッグ通知
• MAM サービスと連携する API
• MDM 登録しない状態での MAM 展開
前提条件 • macOS: OS X 10.8.5 以上
• Xcode toolset version 8
• アプリへのソースコード アクセス (objective-C 又は Swift inter-op)
コンポーネント • libIntuneMAM.a (静的ライブラリ – option 1)
• IntuneMAM.framework (フレームワーク – option 2)
• IntuneMAMResources.bundle (リソースのバンドル)
• Headers (API を含む)
前提条件 • Android (Java) アプリをコンパイルできるマシン
• Java で書かれたアプリへのアクセス
コンポーネント • Microsoft.Intune.MAM.SDK.jar
• Microsoft.Intune.MAM.SDK.Support.v4.jar
• Microsoft.Intune.MAM.SDK.Support.v7.jar
• Resource directory
• Microsoft.Intune.MAM.SDK.aar
• AndroidManifest.xml
前提条件 • Windows マシン
• iOS 用には macOS が必要
• Cordova v.0.8.0+ 用 Azure Active Directory
Authentication Libraries (ADAL) プラグイン
プラットフォーム • Android 4.0+
• iOS
ソースコード • JavaScript, HTML, and CSS
/* 1. ADAL バージョンの更新*/cordova plugin remove cordova-plugin-ms-adal cordova plugin add [email protected]
/* 2. Intune APP SDK Cordova plugin の追加*/cordova plugin add cordova-plugin-ms-intune-mam
前提条件 • Windows マシン
• iOS 用には macOS が必要
• Xamarin Studio or Visual Studio
プラットフォーム • Android
• iOS
ソースコード • C#
• .NET framework
https://docs.microsoft.com/ja-jp/intune-classic/deploy-use/
decide-how-to-prepare-apps-for-mobile-application-management-with-microsoft-intune
HTTPS://GRAPH.MICROSOFT.COM/ 一つのエンドポイントから全てをコントロール
一つのリソースから複数の Microsoft サービスに接続
オブジェクトやリレーションシップ間を容易に行き来可能
データやインテリジェンスへのアクセス
エンドポイントの検索の必要性を除外
一つの OAuth アクセス トーケンで充分
public API として提供
タスク
manager
memberOf
デバイス
メッセージ
workingWith
Shared with me
ownedBy
createdBy
ファイル
会話
createdBy
workingWith
イベント
trendingAround
グループ
タスク
ノート・メモノート・メモ
public
modifiedBy
ユーザー
trendingAround
v1.0 users?$filter=user
PrincipalName eq '[email protected]'
GET POST PATCH DELETE
Microsoft Graph からデータを引き出す
Microsoft Graph に対しPOST/ADD を実行
リソースを PATCH /
UPDATE 可能Microsoft Graph から個々のリソースを削除
JSON で列挙 JSON でサービスにデータ送信
JSON でサービスにデータ送信
GET: https://graph.microsoft.com/v1.0/me {"displayName": "Tenant Admin Account","preferredLanguage": "en-US","userPrincipalName": [email protected]}
GET: https://graph.microsoft.com/v1.0/me/memberOf{"@odata.type": "#microsoft.graph.group","id": "ee0af6a3-db7c-47dd-ac77-b74e2a1b8676","displayName": "All Users"}
GET: https://graph.microsoft.com/v1.0/me/ownedDevices{"value" : […]}
GET: https://graph.microsoft.com/v1.0/me/assignedLicenses{"disabledPlans": [],"skuId": "9bc22083-45c4-4d60-93f1-39a540ac7649“}
グループデバイス
ライセンス
データ: JSON Format
userPrincipalName [email protected]
Microsoft Graphhttps://graph.microsoft.com/
インサイトと関係性
CalendarPersonalContacts
Files NotesOrg
ContactsNotesPeopleUsers ExcelTasksMailGroups
データ
XCodeEclipse or
Android StudioVisual Studio REST開発環境
あなたのアプリ!!
書きやすい言語 (.NET, JS, HTML, Ruby, etc.)
Microsoft Azureその他のホスティング
(IIS, LAMP, etc.)
ソリューション
認証と許可OpenID Connect & OAuth 2.0
管理されたアプリ
デバイスコンプライアンス
Intune UX
Azure Active
DirectoryExchangeIntune
ServiceOffice 365
Policy
ProviderApp Providerアプリ
プロバイダポリシープロバイダ
デバイス構成管理されたデバイス
AAD
Extension
Generic Graph
Intune Graph (現在ベータ)
クエリ 結果
https://graph.microsoft.com/v1.0/users Returns all users in Azure Active Directory
https://graph.microsoft.com/v1.0/devices Returns all devices registered in Azure Active Directory
https://graph.microsoft.com/v1.0/groups Returns all Azure Active Directory Groups
https://graph.microsoft.com/v1.0/subscribedSkus Returns all SKUs the tenant has assigned
クエリ 結果
https://graph.microsoft.com/beta/deviceAppManagem
ent/mobileApps
Returns all applications configured in the Intune
Service
https://graph.microsoft.com/beta/deviceManagement/
deviceCompliancePolicies
Returns all the Compliance Policies configured in
Intune
Sample Graph Android Store App - POST$JSON = @"
{
"@odata.type": "#microsoft.graph.androidStoreApp",
"displayName": "Microsoft Outlook",
"description": "Microsoft Outlook",
"publisher": "Microsoft Corporation",
"isFeatured": true,
"appStoreUrl": "https://play.google.com/store/apps/details?id=com.microsoft.office.outlook&hl=en",
"minimumSupportedOperatingSystem": {
"@odata.type": "#microsoft.graph.androidMinimumOperatingSystem",
"v4_0": true
}
}
"@
$uri = "https://graph.microsoft.com/Beta/deviceAppManagement/mobileApps"
Invoke-RestMethod -Uri $uri -Method Post -ContentType "application/json" -Body $JSON -Headers$authHeader
セッションアンケートにご協力ください
➢ 専用アプリからご回答いただけます。
decode 2017
➢ スケジュールビルダーで受講セッションを登録後、アンケート画面からご回答ください。
➢ アンケートの回答時間はたったの 15 秒です!
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。