Ubuntu 24.10 の開発方針とロードマップ
Ubuntu 24.10 の開発方針とロードマップを紹介します。Snap アプリのパーミッション設定の強化
Snap アプリはシステムから隔離された環境で動作するため、システムのリソースを利用するためには、各リソースごとにパーミッションを設定する必要があります。このパーミッション設定機能がさらに強化されます。
パーミッションプロンプト
パーミッションプロンプトは、プライバシーとセキュリティーを重要視するユーザーが、アプリの振る舞いを管理及び制御するための仕組み及び実装です。ユーザーはパーミッションプロンプトにより、アプリのリソースへのアクセスをきめ細やかに制御できるようになります。
AppArmor
Ubuntu はアクセス制御を行う仕組みに(MAC/LSM) に AppArmor を採用しています。AppArmor 自身は Snap に限定した仕組みではなく、Ubuntu 全体で広範にアクセス制御を行うために導入されています。
つまりdebパッケージからインストールされたアプリも AppArmor によってアクセス制御の対象になっています。
さて Snap では、この AppArmor を活用して Snap アプリをサンドボックス化しています。
またこの AppArmor にはシステムコールレベルでアプリからのアクセスを仲介しパーミッションを制御する仕組みがあり、今回この仕組みを活用して更に細やかな Snap アプリのアクセス制御を行います。
ユーザーから同意を得る仕組みの導入
例えばスマホでカメラアプリを起動すると、カメラアプリがカメラへのアクセス許可を求める画面を表示します。ここでユーザーがアクセスを許可すると、カメラアプリはカメラにアクセスできるようになります。
これと似たような仕組みが Snap アプリのパーミッション制御に導入されます。
Snap アプリがファイルなどリソースにアクセスする際に、ユーザーにそのアクセス許可を求める画面を表示します。
ここでユーザーが画面に表示されているリソースへのアクセスを許可すれば、その Snap アプリはそのリソースへアクセスできるようになります。
パーミッションプロンプトを実現する2種類のソフトウェア
パーミッションプロンプトの実装は、以下の2種類のソフトウェアで実現されています。- prompting-client
- desktop-security-center
これらのソフトウェアは新しく実装されたソフトウェアですが、今回パーミッションプロンプトを実現するにあたり、snapd 及び AppArmor にも変更が加えられています。
パーミッションプロンプトを利用するには、snapd 2.65 以降のバージョンが必要です。
prompting-client
prompting-client は、アプリのアクセス要求を snapd 経由で受け取り、ユーザーにアクセス許可を求める画面を表示するソフトウェアです。desktop-security-center
desktop-security-center は Security Center というアプリ名であり、アクセス制御を管理するためのアプリです。現状はユーザーのホームフォルダー内のパーミッション設定を管理する機能が実装されています。
将来的には暗号化に関する設定やファイアウォールの制御など、セキュリティーに関連する機能を管理できるよう、Security Center 機能が拡大されていく予定です。
パーミッションプロンプトを試して見るには
パーミッションプロンプト機能は現状試験的な機能として提供されています。デフォルトで無効になっている
パーミッションプロンプト機能をデフォルトで有効にする前に、実際にユーザーに試してもらって使い勝手等フィードバックをもらう必要があります。そのため現状パーミッションプロンプト機能は、デフォルトで無効になっています。
パーミッションプロンプトを有効にするには
パーミッションプロンプトを有効にするには、Security Center を起動して以下のようにパーミッションプロンプトを有効化してください。恒久的なパーミッション設定の削除
Snap アプリに対して行った恒久的な各パーミッション設定は、以下のように Security Center から削除できます。Ubuntu 24.04 LTS でパーミッションプロンプトを試すには
上記の内容は Ubuntu 24.10 向けの内容ですが、Ubuntu 24.04 LTS でもパーミッションプロンプトを試すことができます。まず snapd を snapd 2.65 にアップデートします。
現状 snapd 2.65 は Candidate チャンネルから提供されているため、以下のコマンドを実行してチャンネルを切り替えます。
snap refresh snapd --channel=candidate
次に以下のコマンドを実行し、 Security Center をインストールします。
snap install desktop-security-center
最後に以下のコマンドを実行し、 prompting client をインストールします。
snap install prompting-client