設計情報

投稿者:SPIRERS ナレッジ向上チーム 2022年9月22日 (木)

APIメソッドごとの権限設定方法まとめ Record (batch)

この記事では Record (batch) の各メソッドを使用する際、どのように権限設定をすれば良いのかをまとめております。
SPIRAL ver.2 でAPIを使用する時の参考になればと思います。

はじめに

権限は必要最低限で設定することで、セキュアにAPIを使用することができます。
そのためこちらの記事ではAPI実行に必要な最低限のグループ権限設定方法や、
メソッドごとのアプリロール設定をまとめています。

グループ権限設定に関して

権限を最低限にする観点からグループはAPIエージェント専用のものを作成してください。
また、 Record (batch) のAPIメソッドに関しては「利用アプリ」権限のみを設定すれば実行することが可能です。

以下の画像のように作成したグループに、API操作したいDBがあるアプリを「利用アプリ」に追加してください。

アプリロール設定に関して

アプリロールで設定できる権限は全部で6つあり、それぞれの説明を表にまとめました。
DB権限 アプリ内でAPI実行を許可するDBにだけ「あり」を設定してください。
「なし」を設定したDBに対しては一切のAPI実行ができません。
レコード作成権限 APIでレコード登録する場合には「あり」に設定する必要があります。
レコード操作権限 レコードに対して「閲覧」「変更」「削除」の権限を設定することができます。
条件を設定することで特定のレコードのみの操作権限を設定することも可能です。
フィールド権限 DB内で特定のフィールドに「閲覧」「作成」「変更」の権限を設定することができます。
権限を設定していないフィードに対してはAPI実行ができません。
一括操作権限 APIでレコードの一括操作を実行したい場合に設定する必要があります。
メール操作権限 メール関連の権限になりますので、レコード操作系のAPIでは設定する必要がありません。
以下では、メソッドごとに権限をどのように設定すべきかまとめております。
使用するメソッドに合わせて、アプリロールを設定してください。

レコード一括登録依頼一覧を取得の設定

レコード一括登録依頼一覧を取得(【GET】apps/{app}/dbs/{db}/records/batchInserts )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 あり
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「作成」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括登録」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括登録」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括登録」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括登録依頼を作成の設定

レコード一括登録依頼を作成(【POST】apps/{app}/dbs/{db}/records/batchInserts )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 あり
レコード操作権限 設定不要
フィールド権限 必要なフィードにのみ「作成」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
一括操作権限 「一括登録」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面
注意事項等
登録したいフィールドには、アプリロールのフィールド設定でチェックを付けてください。
チェックを付けていない場合はエラーとなります。

レコード一括登録依頼を取得の設定

レコード一括登録依頼を取得(【GET】apps/{app}/dbs/{db}/records/batchInserts/{batchInsertId} )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 あり
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「作成」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括登録」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括登録」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括登録」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括登録依頼をキャンセルの設定

レコード一括登録依頼をキャンセル(【POST】apps/{app}/dbs/{db}/records/batchInserts/{batchInsertId}/cancel )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 あり
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「作成」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括登録」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括登録」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括更新依頼一覧を取得の設定

レコード一括更新依頼一覧を取得(【GET】apps/{app}/dbs/{db}/records/batchUpdates )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「変更」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括更新」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括更新」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括更新」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面
注意事項等
一括登録更新依頼のみ取得するや一括更新依頼のみ取得する、どちらの依頼も取得するなどを指定することができますが、 いずれの場合でも同一の権限設定でそれぞれの依頼一覧を取得することができます。

レコード一括更新依頼を作成の設定

レコード一括更新依頼を作成(【POST】apps/{app}/dbs/{db}/records/batchUpdates )を実行したい場合には下記のようにアプリロールを設定してください。

このメソッドでは、一括更新か一括登録更新かを指定することができ、どちらを指定したかにより権限の設定が分かれています。
一括更新(upsert false)
DB権限 あり
レコード作成権限 なし
レコード操作権限 すべてのレコードもしくは条件を絞ったレコードの「変更」にチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
フィールド権限 必要なフィードにのみ「変更」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
一括操作権限 「一括更新」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面
一括登録更新(upsert true)
DB権限 あり
レコード作成権限 あり
レコード操作権限 すべてのレコードもしくは条件を絞ったレコードの「変更」にチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
フィールド権限 必要なフィードにのみ「作成」「変更」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
一括操作権限 「一括登録」「一括更新」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面
注意事項等
一括登録更新依頼をする場合は、一括登録と一括更新どちらの権限も付与しておく必要があります。

また登録/更新したいフィールドには、アプリロールのフィールド設定でチェックを付けてください。
チェックを付けていない場合はエラーとなります。

レコード一括更新依頼を取得の設定

レコード一括更新依頼を取得(【GET】apps/{app}/dbs/{db}/records/batchUpdates/{batchUpdateId} )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「変更」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括更新」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括更新」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括更新」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括更新依頼をキャンセルの設定

レコード一括更新依頼をキャンセル(【POST】apps/{app}/dbs/{db}/records/batchUpdates/{batchUpdateId}/cancel )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 いずれか1つ以上のフィールドに「変更」のチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
※1つ以上のフィールドにチェックを付けていないと「一括更新」にチェックが付けれないため、1つ以上のチェックが必須となります。
一括操作権限 「一括更新」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括削除依頼一覧を取得の設定

レコード一括削除依頼一覧を取得(【GET】apps/{app}/dbs/{db}/records/batchDeletes )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 設定不要
一括操作権限 「一括削除」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括削除」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括削除依頼を作成の設定

レコード一括削除依頼を作成(【POST】apps/{app}/dbs/{db}/records/batchDeletes )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 すべてのレコードもしくは条件を絞ったレコードの「削除」にチェックを付けてください。
※仕様上「閲覧」にもチェックを付ける必要があります。
フィールド権限 設定不要
一括操作権限 「一括削除」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括削除依頼を取得の設定

レコード一括削除依頼を取得(【GET】apps/{app}/dbs/{db}/records/batchDeletes/{batchDeleteId} )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 設定不要
一括操作権限 「一括削除」にチェックを付けてください。
※依頼の取得をするメソッドですが「一括削除」にチェックを付ける必要があります。
メール操作権限 設定不要
▼ 実際の設定画面

レコード一括削除依頼をキャンセルの設定

レコード一括削除依頼をキャンセル(【POST】apps/{app}/dbs/{db}/records/batchDeletes/{batchDeleteId}/cancel )を実行したい場合には下記のようにアプリロールを設定してください。
DB権限 あり
レコード作成権限 なし
レコード操作権限 設定不要
フィールド権限 設定不要
一括操作権限 「一括削除」にチェックを付けてください。
メール操作権限 設定不要
▼ 実際の設定画面
解決しない場合はこちら コンテンツに関しての
要望はこちら