セキュリティに関する考慮事項
一般に、登録者組織にインストールされている Apex クラスは、登録者組織内のサポートされている公開メタデータ型やコンポーネントにアクセスできます。保護対象とマークされているカスタムメタデータ型など、保護されているメタデータは、保護対象のメタデータと同じ名前空間にある Apex クラスのみがアクセスできます。
さらに、管理パッケージについては、管理パッケージが Salesforce のセキュリティレビューで承認されていない場合、パッケージ内の Apex クラスが (公開および保護対象の) メタデータにアクセスできません。ただし、[Apex 経由で未認定パッケージバージョンからメタデータをリリース] 組織設定が有効になっている場合を除きます。システム管理者や開発者が、アプリケーションのテストやパイロットの目的でセキュリティレビューに合格していない管理パッケージをインストールする場合は、 にあるこの設定を有効にする必要があります。
リリースについては、Metadata.Operations.enqueueDeployment() で非同期 Apex が使用されるため、キューに配置されたリリースジョブとリリースコールバックが現在の組織の非同期ジョブとして計数されます。キューに配置されたリリースジョブとリリースコールバックは、ガバナの制限の対象です。「Lightning プラットフォームの Apex 制限」を参照してください。
Apex を介してメタデータにアクセスするアプリケーションでは、登録者組織のメタデータをアプリケーションが取得またはリリース可能であることをユーザーに通知する必要があります。メタデータにアクセスするインストールの場合、パッケージの説明でユーザーに通知します。独自の通知を作成することも、次のサンプルを使用することもできます。
このパッケージは、インストール先の Salesforce 組織内にあるその名前空間以外のメタデータにアクセスして変更する可能性があります。
Salesforce がセキュリティレビューで通知を検証します。詳細は、『ISVforce ガイド』を参照してください。