実行時の権限のリクエスト
Vegaでは、カメラやマイクへのアクセスなど、セキュリティとプライバシーにかかわる機能へのアクセスを制限するための権限のグループが定義されています。このような権限へのアクセスは実行時に許可され、ユーザーがアクセスを拒否することもできます。
最小権限の原則に基づいたアプリの設計
アプリでは、使用する権限を必要最小限にとどめ、特権付きAPIにアクセスするときにそれらの権限をリクエストする必要があります。また、拒否された場合に対応し、ユーザーに適切なフォールバックエクスペリエンスを提供する必要があります。
権限
Vegaには2種類の権限があります。
- インストール時の権限: アプリのインストール時に記録され、アプリがリクエストしたときに自動的に付与されます。
- 実行時の権限: アプリの実行中にユーザーによってインタラクティブに付与され、拒否されることもあります。ユーザーが権限リクエストを拒否した場合、アプリは通常どおりに動作しますが、機能が制限される可能性があります。
アプリマニフェストでの必要な権限の宣言
アプリに必要な宣言は、アプリのmanifest.tomlファイルの[[needs.privilege]]セクションまたは[[wants.privilege]]セクションで宣言します。Vegaアプリのマニフェストファイルのドキュメントを参照してください。
権限のリクエスト
実行時の権限で保護されているリソースにアクセスするための明示的な同意をユーザーに求めるには、必要な権限をアプリで指定する必要があります。詳細については、セキュリティマネージャーAPIを参照してください。
権限をリクエストする理由の説明
アプリがなぜ機密データへのアクセスを必要としているかを説明すると、アプリユーザーがアクセスを許可する可能性が高くなります。アプリでは、権限をリクエストする前に独自のダイアログを表示して、リクエストした権限がアプリでどのように使用されるかをユーザーに説明することをお勧めします。ここで、アクセスするのは特権付きAPIの一部分だけであることも説明できます。
権限の拒否に応じた適切なアプリエクスペリエンスの制限
ユーザーが権限を拒否した場合は、アプリのエクスペリエンスを適切に制限します。アプリでは、権限がなければ機能しないセクションを強調表示するなどの対応をしながら動作を継続します。ユーザーが権限を拒否したら、製品の設定アプリの特定のペインにディープリンクするUI要素を表示して、実行時の権限の変更を求めることもできます。
権限状態の変更の処理
ユーザーはいつでも権限への同意を変更できます。ユーザーが以前に許可した権限を後から拒否した場合、その権限が適用されているアプリはシステムによって終了されます。これにより、決定の変更時に既にアクセスが許可されていたAPIをアプリが使用し続けることはできなくなります。
関連トピック
Last updated: 2025年9月30日

