Logo ja.androidermagazine.com
Logo ja.androidermagazine.com

Androidアプリの権限-Googleがそれを正しく取得する方法...

目次:

Anonim

アップルでは、​​iOSアプリケーションが連絡先データを借用して、同意なしに不明な部分に送信することを許可するAppleで、最近、セキュリティまたは判断のいずれかが失効したことについて多くのニュースがあります。 Appleはこの問題を米国議会のメンバーに対処しており、今後のiOSアップデートでより厳格な管理を行うための措置を講じます。 それは良いニュースであり、私たちはそれが起こっているのを見てうれしいです。

しかし、Androidはどうですか? ユーザーの明示的な許可なしにアプリを実行することに焦点を当てている間、Androidの許可モデルを参照している人がいます。 私たちはあなたのためにそれをすべて分解します。 完璧ではありませんが、うまく機能します。許可システムがまったくないよりは確かに優れています。

Androidの権限と、あなたがあなたが別れることを確実にするために必要な方法を見ていきましょう。

設計上、Androidアプリケーションには、「他のアプリケーション、オペレーティングシステム、またはユーザーに悪影響を与える」操作を実行する権限がありません。 アプリがプライベートの連絡先データ、別のアプリケーションのデータ、ネットワークアクセス、またはデバイスストレージに独自のデータを書き込むような平凡なものにアクセスできるようにするには、アプリはそうする権限があることを宣言する必要があります。アプリをインストールする前に、その許可に同意する必要があります。 アプリをインストールすると、そのアプリケーションが宣言している権限のリストが表示されます。

また、アプリケーションは許可を「宣言」しており、必ずしも「要求」しているわけではないことに注意してください。 セマンティクス、私たちは推測しますが、「ジェリー、私はアプリです。あなたの連絡先情報を見てもらいたいです。それでよろしいですか?」というボックスはありません。 代わりに、Androidアプリはより直接的であり、「そう、ジェリー。私はアプリだ。ここに私ができることのリストがある。知っているだけだ。それを手放すか、そのままにするか」。

Androidアプリは、アクセスできるアクセス許可を宣言するため、再生できるサンドボックスを宣言します。また、アプリを受け入れてアプリをインストールするかどうかを選択できます。 理にかなっていますか?

権限-Androidマーケットでの事前および個人

Pathなどをインストールした場合の外観は次のとおりです。 Pathが宣言している権限のマクロリストを取得します。 いずれかをタップすると、その許可についてもう少し詳しく説明します。

Androidマーケットからアプリケーションをインストールすると、このようになります。 それらをすべて表示するには、リストをスクロールする必要があります。 少し下がったのは、iOSのあらゆる種類のトラブルでPath(およびその他)を獲得したことです。 Androidフォームでは、Pathが「あなたの個人データ-連絡先データの読み取り」の許可を宣言していることがはっきりとわかります。 その許可をタップすると、詳細が表示されます。

「アプリケーションは、携帯電話に保存されているすべての連絡先(アドレス)データを読み取ることができます。悪意のあるアプリケーションは、これを使用して他の人にデータを送信できます。」

パスは、連絡先データにアクセスできると言っています。 どうしてそれがどうなるかは必ずしもわかりませんが(もしそれを育てていなかったら、本当に知りたいですか?)、読むことができることを教えてくれます。

Androidマーケット以外のアプリ

しかし、アプリをサイドロードするとどうなりますか? または、Amazon Appstoreを使用しますか? アプリケーションは依然として、使用する権限を宣言することになっています。アプリをインストールすると、その権限リストが表示されます。 (Amazon Appstoreはアプリをサイドロードするため、表示される内容は、メールまたはダウンロードからアプリをインストールした場合とまったく同じです。)

Gmailのサイドローディングは次のようになります。 サイドローディングとAndroidマーケットからのインストールの唯一の本当の違いは、アクセス許可に関する限り、サイドロードすると、より詳細なアクセス許可の説明が表示されないことです。

なんでこんなこと? Androidアプリケーションは「サンドボックス化」されており、独自のスペースで再生され、そのサンドボックス内に独自のデータファイルがあります。 彼らは、明示的に許可を求めた後にのみ、他の誰かのサンドボックスでプレイを共有できます。これは、上記の画面を介して行われます。 これらの許可を受け入れてアプリをインストールすると、そのアプリが再生したいというサンドボックスでの再生を許可することになります。

開発者側で…そして消費者が自分の役割を果たさなければならない方法

舞台裏では、アプリ開発者はAndroidManifest.xmlファイルでこれらの権限を宣言します。これは、Androidアプリのソースコードの必須部分です。 これらの宣言は静的であり、上で見たようにそれらのすべてがユーザーに提示されます。 Android OS開発者によると、「ユーザーエクスペリエンスがセキュリティを損なうことで複雑になる」ため、Androidには実行時に動的にアクセス許可を付与する方法がありません。 アプリに何をしたいのか、前もって伝え、変更できないように強制する-これが最大のセキュリティモデルです。

裏返し? また、ユーザーにとって最も簡単に無視できます。

iOSのPathで何が起こったのかはすべて知っています。 他の多くのiOSアプリと同様に、許可なく連絡先を使用しました。 不正な目的のためではなく、それにもかかわらず、事前の許可なしに、そして後で尋ねることなく。 Androidのパスは、iOSの場合と同様に、あらゆる種類のデータをサーバーに送信しました。 ただし、この投稿で示したように、Androidでは、Pathが最初にアクセス許可を宣言する必要があります。 または、より正確には、許可を宣言し、ユーザーはそれを受け入れるか拒否します。

問題は、アプリをインストールするときです。ほとんどの場合、権限セクションを過ぎてすぐに微風が吹くでしょう。 あなたは本当にすべきではありませんが、私たちは皆それをします。 許可が平易な言葉で書かれていないという事実は問題の一部です。 しかし、たとえそれらがあったとしても、私たちのほとんどはとにかく過去を過ぎてクリックします。 それは、すべてのプラットフォームで、それがいかにあるかということです。 一方で、許可を理解していないので、許可を恐れる人もいます。 繰り返しますが、よりユーザーフレンドリーな言語がここで役立ちます。

これに代わる方法の1つは、通常は実行できないことを実行したいときに、実行時にアプリケーションに許可を要求させることです。 Androidチームがこれは不便で安全ではないと考えていることを既に読んでいるので、起こりそうにありません。

別の方法は、RIMがBlackBerryで行うように、選択したアクセス許可を許可することです。 BlackBerryのように、アクセス許可を拒否したため、半分しか機能しないアプリケーションになります。 そのアプリをインストールするときにすべてを読んで、何を求めているのか、なぜそれを求めているのかを理解しようとする以外に、本当の絶対確実な方法はありません。

私たちの何人かは、他の人よりもアプリケーションの許可を理解し、アプリがすべきではないことをするとき、あなたは抗議を聞く。 許可を読んでください。 市場のコメントを読んでください。 Android Centralを読んでください。 何かがおかしくなったとき、あなたはそれについて聞くでしょう。

そして最後にもう1つ…

セキュリティの脆弱性については、特別な注意が必要です。 すべてのコンピュータープログラム(つまり、すべてのモバイルオペレーティングシステムも)は、それらでいっぱいです。 アプリケーションがセキュリティモデルをバイパスすることを許可する脆弱性が見つかった場合、Googleは迅速にパッチを適用します。 これは起こります、そして、それは常に起こります。 この更新プログラムがどれだけ早く公開されるかは、携帯電話を作っている人によって異なります。 彼らは正しい方法でそれをするとき、そして時間がかかりすぎて間違っているときは軽cornするに値する。 それはすぐに消えるようなものではありません。私たちはあなたが必要なほど安全で安全なものを保てないOEMを呼び出すためにあなたと一緒にいます。

Androidのアクセス許可をさらに詳しく調べたい場合は、Googleのデベロッパーページをご覧ください。