機能とセキュリティ

このページ

サンドボックスプラグインはデフォルトで隔離されています。自身の KV とストレージの読み書き以上のことを行うには、プラグインはマニフェスト機能を宣言する必要があります。

機能の宣言

{
	"slug": "plugin-hello",
	"capabilities": ["content:read", "network:request"],
	"allowedHosts": ["api.example.com"]
}

機能リファレンス

機能アクセス権限
content:readctx.content.get(), ctx.content.list()
content:writectx.content.create(), ctx.content.update(), ctx.content.delete()
taxonomies:readctx.taxonomies.getAll(), ctx.taxonomies.getTerms()
media:readctx.media.get(), ctx.media.list()
media:writectx.media.getUploadUrl(), ctx.media.upload(), ctx.media.delete()
network:requestctx.http.fetch()allowedHosts に制限
network:request:unrestrictedctx.http.fetch() ホスト制限なし
users:readctx.users.get(), ctx.users.getByEmail(), ctx.users.list()
email:sendctx.email.send()

サンドボックスが強制すること

  1. 機能のゲーティング。
  2. ストレージと KV のスコーピング。
  3. ネットワークの隔離。
  4. ホストバインディングなし。
  5. リソース制限。

サンドボックスが強制しないこと

  • 付与された機能内の振る舞い。
  • Node.js でのオペレーター信頼。
  • サイドチャネル。

機能の同意

インストール時に EmDash は同意ダイアログを表示します。

ビルド時の検証

バンドルと公開を参照してください。