AppExchangeの導入やシステム連携の仕組み構築の中でAPI連携ユーザ専用のプロファイルを用意したりすることがあります。そのときに不要な権限は除外して必要な権限のみ設定するのが適切です。そうした設定の中での「メタデータ API 関数を使用したメタデータを変更」権限についての話です。
こんなプロファイルを用意するときのイメージ。
プロファイルの設定画面で確認できますが、メタデータ権限を付与する際に必要な情報として「設定・定義を参照する」権限が必要となります。
そのためメタデータ権限のところにチェックを付けると自動で設定・定義の権限もチェックが付きます。
それで、この「設定・定義を参照する」権限を付与するには「ロールおよびロール階層を表示」権限が必要となります。
なので、「ロールおよびロール階層を表示」権限も自動でチェックがつくようになっています。
権限外し忘れたかなと「ロールおよびロール階層を表示」権限のチェックをオフにすると「設定・定義を参照する」と「メタデータ API 関数を使用したメタデータを変更」の権限も一緒にチェックが外れます。
API連携プロファイルを作成中に「メタデータ API 関数を使用したメタデータを変更」にチェックを付けたのに気づいたらチェックオフになっていたといったことになりやすい箇所のため意識しておくといい内容です。
補足
システム連携まわりで「メタデータ API 関数を使用したメタデータを変更」権限が必要です。となったときにはAPI実行を行う場面だと思います。その場合は「API の有効化」権限も必要となります。
この権限はメタデータAPIの権限のチェックがあっても自動ではチェックにならないので自分でチェックを付ける必要があります。また、メタデータ API の権限はAPIの有効化の変わりにはなりませんでした。(メタデータAPI権限があるからといってAPIの有効化に関する処理ができるようにはなりませんでした。)
メタデータ API 関数の権限の話が出てきた際にはAPIの有効化権限についても必要かどうか意識しておくといいと思います。