Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
ak_shio_555
PPTX, PDF
6,140 views
Android Mのruntime-permissionに潜む罠
potatotips20のLT用資料です @aki_sh_7
Mobile
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Downloaded 16 times
1
/ 22
2
/ 22
3
/ 22
4
/ 22
5
/ 22
6
/ 22
7
/ 22
8
/ 22
9
/ 22
10
/ 22
11
/ 22
12
/ 22
13
/ 22
14
/ 22
15
/ 22
16
/ 22
17
/ 22
18
/ 22
19
/ 22
20
/ 22
21
/ 22
22
/ 22
More Related Content
PPTX
20150909 日本androidの会9月定例講演資料
by
ak_shio_555
PDF
Android lint-srp-practice
by
cch-robo
PPTX
これからの「パーミッション」の話をしよう
by
ak_shio_555
PDF
Android 6.0 Marshmallow App Permissions 実践編
by
Kenichi Kambara
PDF
What is tested by pre-launch (security) reports?
by
ak_shio_555
PDF
Marshmallowで変更になったpermission
by
Pong Hiro
PPTX
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
by
Katsuki Nakatani
PDF
Android6.0 RuntimePermissionの実装と注意点
by
Katsuki Nakatani
20150909 日本androidの会9月定例講演資料
by
ak_shio_555
Android lint-srp-practice
by
cch-robo
これからの「パーミッション」の話をしよう
by
ak_shio_555
Android 6.0 Marshmallow App Permissions 実践編
by
Kenichi Kambara
What is tested by pre-launch (security) reports?
by
ak_shio_555
Marshmallowで変更になったpermission
by
Pong Hiro
Android6.0新しいパーミッションモデルへの対応_DevFest Kyoto LT
by
Katsuki Nakatani
Android6.0 RuntimePermissionの実装と注意点
by
Katsuki Nakatani
What's hot
PDF
Androidテスティング実践 基礎編
by
株式会社 NTTテクノクロス
PDF
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
by
TAKUYA OHTA
PPTX
Androidアプリケーション開発入門
by
OESF Education
PDF
プラットフォームセキュリティin Windows ブートタイム保護 概要編
by
Yurika Kakiuchi
PPTX
Windows Admin Center 2103.2 and Windows Admin Center on Azure
by
Norio Sashizaki
PDF
Androidテスティング実践3 ユニットテスト・CI編
by
株式会社 NTTテクノクロス
PDF
Androidアプリケーション開発中級研修 前編
by
株式会社 NTTテクノクロス
PPTX
Windows Server 2008 / R2とWindows Admin CenterとAzure Site Recovery
by
Norio Sashizaki
PPTX
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
by
TAKUYA OHTA
PPTX
SCUGJ第20回勉強会:SCVMM2019 What's New
by
wind06106
PDF
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
by
TAKUYA OHTA
PDF
Androidアプリのストレージ戦略
by
Masahiro Hidaka
PDF
Notes を様々なサービスと連携させてみよう!
by
Takeshi Yoshida
PDF
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
by
TAKUYA OHTA
PPTX
Azure PolicyとAutomanage 2021年01月 / Azure Policy and Automanage Jan 2021
by
Norio Sashizaki
PDF
Windowsストアアプリ開発 オープンセミナー広島
by
Akira Onishi
PDF
はてなにおける Android アプリのソフトウェアテスト
by
Yu Nobuoka
PDF
Android Wear How to make watchface project abc2014W
by
Hiroshi Hashimoto
PDF
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
by
Keiji Ariyama
PDF
Androidアプリケーション開発中級研修 後編
by
株式会社 NTTテクノクロス
Androidテスティング実践 基礎編
by
株式会社 NTTテクノクロス
IT エンジニアのための 流し読み Windows 10 - Windows Hello for Business
by
TAKUYA OHTA
Androidアプリケーション開発入門
by
OESF Education
プラットフォームセキュリティin Windows ブートタイム保護 概要編
by
Yurika Kakiuchi
Windows Admin Center 2103.2 and Windows Admin Center on Azure
by
Norio Sashizaki
Androidテスティング実践3 ユニットテスト・CI編
by
株式会社 NTTテクノクロス
Androidアプリケーション開発中級研修 前編
by
株式会社 NTTテクノクロス
Windows Server 2008 / R2とWindows Admin CenterとAzure Site Recovery
by
Norio Sashizaki
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
by
TAKUYA OHTA
SCUGJ第20回勉強会:SCVMM2019 What's New
by
wind06106
IT エンジニアのための 流し読み Windows 10 - IE11 のサポート終了と Microsoft Edge について
by
TAKUYA OHTA
Androidアプリのストレージ戦略
by
Masahiro Hidaka
Notes を様々なサービスと連携させてみよう!
by
Takeshi Yoshida
IT エンジニアのための 流し読み Windows - Windows 11 のクリーン インストール
by
TAKUYA OHTA
Azure PolicyとAutomanage 2021年01月 / Azure Policy and Automanage Jan 2021
by
Norio Sashizaki
Windowsストアアプリ開発 オープンセミナー広島
by
Akira Onishi
はてなにおける Android アプリのソフトウェアテスト
by
Yu Nobuoka
Android Wear How to make watchface project abc2014W
by
Hiroshi Hashimoto
2015年のAndroidアプリ開発入門 - ABCD 2015 Kanazawa
by
Keiji Ariyama
Androidアプリケーション開発中級研修 後編
by
株式会社 NTTテクノクロス
Similar to Android Mのruntime-permissionに潜む罠
PDF
パーミッションモデルの過渡期への対応
by
ak_shio_555
PDF
Androidのアプリケーションと権限
by
高見 知英
PDF
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
by
Kenichi Kambara
PDF
Permissionの日本語でおk
by
youten (ようてん)
PDF
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
by
Developers Summit
PPTX
Android6.0で変わったアプリのアクセス権について
by
まえすとろ
パーミッションモデルの過渡期への対応
by
ak_shio_555
Androidのアプリケーションと権限
by
高見 知英
[Stack Overflow Dev Days 2015]Android 6.0 Marshmallow App Permissions 応用編
by
Kenichi Kambara
Permissionの日本語でおk
by
youten (ようてん)
【18-E-2】Android6.0 対応! モバイルアプリセキュリティの最新トレンド
by
Developers Summit
Android6.0で変わったアプリのアクセス権について
by
まえすとろ
Android Mのruntime-permissionに潜む罠
1.
Android Mの runtime-permissionに潜む罠 2015/8/11 塩田 明弘
2.
自己紹介 株式会社NTTデータ所属 メインの仕事はセキュリティ 2014/4より社内向けのAndroidセキュリティ ガイドライン作成やサポートに従事
3.
今回の資料はAndroid M Developer
Preview 2ベースです。 最終版では異なる仕様になっている可能性があります。
4.
Android Mから 新パーミッションモデルが採用
5.
新パーミッションモデルの特徴 インストール時ではなく、利用時に許可を求める チェックや許可要求、結果受け取りは作ってやる必要有り →公式やサンプル参照 許可を与えても後から変更が可能
6.
新パーミッションモデルの特徴 Androidの抱える課題の一つ、 「許可したパーミッションを後から変更できない」 という状況の解消(ただし、一部のパーミッション) インストール時ではなく、利用時に許可を求める チェックや許可要求、結果受け取りは作ってやる必要有り →公式やサンプル参照 許可を与えても後から変更が可能
7.
新パーミッションモデルの特徴 インストール時には変更可能なパーミッションは 許可されていない状態 インストール時
8.
新パーミッションモデルの特徴 連絡帳の読取 利用時 「連絡帳の読取」が必要な機能を使うときに、 パーミッションをチェックして個別に許可す る
9.
新パーミッションモデルの特徴 連絡帳の読取 利用時 「連絡帳の読取」が必要な機能を使うときに、 パーミッションをチェックして個別に許可す る 設定画面からも変更可能で与えていた許可を 取り消したり、要求がなくても許可を与える ことが出来る
10.
新パーミッションモデルの特徴 連絡帳の読取 利用時 「連絡帳の読取」が必要な機能を使うときに、 パーミッションをチェックして個別に許可す る 設定画面からも変更可能で与えていた許可を 取り消したり、要求がなくても許可を与える ことが出来る
許可がないまま機能を使おうとすると、 「Permission Denied」として強制終了する (パーミッション無いから当たり前)
11.
アプリの動作に対する ユーザーの決定権が大きくなった
12.
懸念点 変更可能なパーミッションは グループ単位で設定される
13.
グループ単位での設定変更 パーミッションの設定変更は、AndroidManifestで宣 言されているグループ内のパーミッション全てに対し て一律に行われる 設定画面からの変更でも、requestPermissionsによる アプリからの要求でも同じ。要求は引数にパーミッ ションを一つ指定すれば、グループ全体に影響が及ぶ <use-permission
android:name=“android.permission. READ_CONTACTS”> <use-permission android:name=“android.permission. WRITE_CONTACTS”>AndroidManifestでの宣言 <pkg name="com.sample.sample"> <item name="android.permission. READ_CONTACTS" granted="true" flags="0" /> <item name="android.permission. WRITE_CONTACTS" granted="true" flags="0" /> </pkg> パーミッションの許可状況 /data/system/user/{userId}/runtime-permissions.xml requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS);アプリ内でのパーミッション要求
14.
パーミッションがグループ単位で 設定変更されることによる問題 1. 許可済パーミッションと ユーザー認識のずれ 2. グループ全体で 要求ダイアログが表示されない
15.
許可済パーミッションと ユーザー認識のずれ(1/3) パーミッション グループ パーミッション android.permission-group.CONTACTS
android.permission.READ_CONTACTS android.permission.WRITE_CONTACTS android.permission.READ_PROFILE android.permission.WRITE_PROFILE コミュニケーション系アプリで以下の機能を想定 A) 既存ユーザを探すために、連絡帳の情報を利用 要:android.permission.READ_CONTACTS B) サービス上のユーザを連絡帳に追加 要:android.permission.WRITE_CONTACTS いずれもandroid.permission-group.CONTACTSに所属
16.
③パーミッショングループへの許可要求 「連絡帳の情報を使ってユーザーを探す には、「連絡帳へのアクセス」を許可す る必要があります。」 許可済パーミッションと ユーザー認識のずれ(2/3) ユーザは機能Aだけ許可したつもりでも、機能Bも許可される ①機能A利用の要求 ④パーミッショングループへの許可 ⑤パーミッショングループ への許可の付与 ②パーミッションチェック (READ_CONTACTS) ユーザ アプリ・端末 ⑥機能Aの利用 ここでREAD_CONTACTSだけでなく、 WRITE_CONTACTSにも許可が与えられる
17.
③パーミッショングループへの許可要求 「連絡帳の情報を使ってユーザーを探す には、「連絡帳へのアクセス」を許可す る必要があります。」 許可済パーミッションと ユーザー認識のずれ(2/3) ユーザは機能Aだけ許可したつもりでも、機能Bも許可される ①機能A利用の要求 ④パーミッショングループへの許可 ⑤パーミッショングループ への許可の付与 ②パーミッションチェック (READ_CONTACTS) ユーザ アプリ・端末 ⑥機能Aの利用 ⑦機能B利用の要求 ⑧パーミッションチェック (WRITE_CONTACTS) ⑨機能Bの利用 ここでREAD_CONTACTSだけでなく、 WRITE_CONTACTSにも許可が与えられる
18.
許可済パーミッションと ユーザー認識のずれ(3/3) 「要求された箇所の機能を使うためにパーミッションが 必要」という説明だけではなく、「パーミッション(グ ループ)を許可することによる、アプリ全体への影響」 の説明も必要かも 公式のベストプラクティスのように、チュートリアルを 設ける手もあるが、全てをその中ではカバーできない。
19.
グループ全体で要求ダイアログ が表示されない(1/2) requestPermissionsでパーミッション要求を 行った際に、「今後は確認しない」に チェックして「許可しない」を選ぶと、 次回以降ダイアログが表示されなくなる。 「今後は確認しない」とした箇所だけではなく、同一 パーミッショングループ全体が同じ設定になる。
各パーミッションの状態を、「flags」で管理しており、 この値もグループ単位で設定するため(「今後は確認し ない」はflags=2) <pkg name="com.sample.sample"> <item name=" android.permission. READ_CONTACTS" granted=“false" flags=“2" /> <item name=" android.permission. WRITE_CONTACTS" granted=“false" flags=“2" /> </pkg> パーミッションの許可状況 /data/system/user/{userId}/runtime-permissions.xml
20.
グループ全体で要求ダイアログ が表示されない(2/2) この回避(正確には軽減策)のためには、表示しないと したときのメッセージの作成や、復活させるための手 順を示したヘルプを設ける 初めて利用する機能ですでに制限されてしまっている 場合には手順を表示、複数回反応がないのにボタンを 押したらヘルプ表示などのサポートも必要
このバランスは今後ちょうどよいところを見つけてい くしかない
21.
まとめ AndroidのパーミッションモデルはAndroid Mで新しいモ デルにとなりユーザーが決定権を持つようになった
グループ単位での設定となったことによって、うまく説明 しないとユーザーに誤解が生じかねない 問題は仕組み上、根本的に解決する方法がない。説明や補 助的な機能を作り、誤解を生じないようにするしかない。 分量のバランスはユーザーからのレスポンスをよく見てや る必要がある。 パーミッショングループのまとまりがiOSのプライバシー 設定と似ているものは、そのときの対応も参考に。
22.
本資料の著作権は、講演者(塩田 明弘)に帰属します。
Download