「ダウンロードしたアプリを開こうとしたら、”開発元が確認できないため開けません”と表示された」
「Gatekeeperって何?なぜブロックされるの?」
Macを使っているとこのメッセージに遭遇することがあります。
これはMacに標準搭載されているセキュリティ機能「Gatekeeper(ゲートキーパー)」が働いているサインです。
この記事では、Gatekeeperの仕組みから設定の見方、アプリが開けない時の対処法まで分かりやすく解説します。
GatekeeperはMac標準の”門番”
Gatekeeper(ゲートキーパー)とは、macOSに標準搭載されているセキュリティ機能で、信頼できないソフトウェアがMac上で動作するのを防ぐ仕組みです。
名前のとおり「門番」として、アプリを開く前にチェックを行います。
GatekeeperはMac OS X Mountain Lion(10.8)で導入され、現在のmacOSまで引き継がれています。
App Store以外からアプリをダウンロードして開こうとすると、Gatekeeperは以下の3点を自動的に確認します。
- 提供元がAppleに登録されたデベロッパであるか
- Appleによる「公証(Notarization)」を受けているか
- アプリが配布後に改ざんされていないか
これらをパスしたアプリだけが起動を許可される仕組みです。
Gatekeeperの3つのセキュリティレベル
Gatekeeperには、許可するアプリの範囲に応じて3つのレベルがあります。
設定は「システム設定」→「プライバシーとセキュリティ」から確認できます。
| レベル | 内容 | 対象ユーザー |
|---|---|---|
| App Storeのみ | App Storeで配布されたアプリのみ許可 | セキュリティを最優先したい方 |
| App Storeと確認済みの開発元(デフォルト) | App Store+Appleが認証したデベロッパのアプリを許可 | 一般的なMacユーザー |
| すべてのアプリを許可 | Gatekeeperによる制限を最小化 | 上級者・開発者向け |
デフォルトは「App Storeと確認済みの開発元」です。
この設定が一般的なMacユーザーには最もバランスが取れていて、推奨されています。
なお、「すべてのアプリを許可」はmacOS Sierra以降、設定画面から非表示になっています。
有効にするにはターミナルで以下のコマンドを実行する必要があります。
sudo spctl --master-disable
ただし、セキュリティリスクが高まるため、特別な理由がない限り実行は推奨しません。
Gatekeeperが使う3つの仕組み
Gatekeeperは単独で動いているわけではなく、3つの仕組みを組み合わせてチェックを行っています。
1. コード署名(Code Signing)
アプリを配布する開発者はAppleからデベロッパIDを取得し、そのIDでアプリにデジタル署名を施します。
署名があることで「誰が作ったアプリか」が証明され、配布後に改ざんされていないかの検証も可能になります。
署名がないアプリや、署名が壊れているアプリはGatekeeperにブロックされます。
2. 公証(Notarization)
コード署名だけでなく、Appleへの公証も必要です。
開発者がAppleのサーバーにアプリを提出すると、Appleが自動スキャンを行い既知のマルウェアがないかを確認します。
問題がなければ公証が完了し、アプリにそのチケットが埋め込まれます。
3. 検疫フラグ(Quarantine Flag)
SafariやChromeなどのブラウザからダウンロードされたファイルには、ダウンロード時に自動的に「検疫フラグ」という属性が付与されます。
このフラグが付いているファイルをはじめて開こうとすると、Gatekeeperが起動してチェックを実施します。
チェックを通過したアプリはフラグが解除され、次回以降は確認なしに起動できるようになります。
「開けない」と表示されたときの対処法
Gatekeeperにブロックされてアプリが開けない場合、状況に応じた対処法があります。
方法1:右クリック(またはControlキー+クリック)で開く
Finderでアプリのアイコンを右クリック(またはControlキーを押しながらクリック)し、メニューから「開く」を選択します。
「開発元が確認できません」という警告ダイアログが表示されますが、そこで再度「開く」をクリックすると起動できます。
この操作は一度行えば記録されるため、次回からは通常どおりダブルクリックで起動できます。
Gatekeeperを完全に無効化せずに済む最もリスクの低い方法です。
方法2:システム設定から許可する
アプリを一度ダブルクリックしてブロックされた後、すぐに「システム設定」→「プライバシーとセキュリティ」を開くと、画面下部に「このまま開く」または「許可」ボタンが表示されます。
そのボタンをクリックするとアプリが開きます。
⚠️ 注意: このボタンはブロック後しばらく時間が経過すると表示が消えるため、ブロックされたらすぐに確認しましょう。
方法3:ターミナルで特定アプリの検疫フラグを解除する
コマンドラインが使える方向けの方法です。
以下のコマンドで、特定のアプリの検疫フラグを手動で削除できます。
xattr -d com.apple.quarantine /Applications/アプリ名.app
この方法はアプリ単体に対してのみ作用するため、Gatekeeper全体を無効化するよりも安全です。
macOS Sequoiaでの変更点
macOS Sequoia(2024年リリース)からGatekeeperの仕様が一部変更されています。
sudo spctl --master-disable でGatekeeperを無効化した場合、コマンド実行後8分以内に「システム設定」→「プライバシーとセキュリティ」で「すべてのアプリを許可」を手動で選択する必要があります。
また、「すべてのアプリを許可」に設定した後も、30日間アプリが使用されないと自動的に設定が元に戻るようになりました。
Apple側のセキュリティ強化の一環であり、意図しない長期間の無効化を防ぐための変更です。
GatekeeperとXProtectの関係
GatekeeperはmacOSの別のセキュリティ機能であるXProtect(エックスプロテクト)と連携して動作します。
Gatekeeperがアプリの「出所と改ざん」をチェックするのに対し、XProtectはアプリを開く際にAppleが保持するマルウェア定義データベースと照合し、既知の悪質なコードが含まれていないかをスキャンします。
2つの機能が役割を分担することで、多層的な保護を実現しています。
XProtectの定義ファイルはバックグラウンドで自動更新されるため、ユーザーが手動で操作する必要はありません。
詳しくはMacのXProtect設定を徹底解説!標準搭載のセキュリティ機能を理解しようを参照してください。
まとめ
GatekeeperはmacOS Mountain Lion以降に標準搭載されたセキュリティ機能で、アプリのコード署名・公証・検疫フラグの3つの仕組みを使って、信頼できないソフトウェアの実行を防ぎます。
デフォルト設定の「App Storeと確認済みの開発元」のまま使うのが、一般的なユーザーには最もおすすめです。
アプリが開けない場合は、Gatekeeperを完全に無効化するのではなく、右クリックで「開く」を選ぶか、システム設定から個別に許可する方法が安全です。
Macのセキュリティ機能を総合的に理解したい方は、Macのウイルスチェック完全ガイドやMacのファイアウォール設定を徹底解説もあわせてご覧ください。
参考情報源:

コメント