アプリロール
目次
概要
アプリロールとは、アプリに対するDB操作やレコード操作、メール配信といった操作権限を定義し、ユーザやAPIエージェントを含むグループに紐づけることで、ユーザやAPIエージェント毎に操作可能な権限を付与できるようになり、アプリ利用における統制を管理できるようになります。
また、アプリロールごとにアプリ利用画面で表示するアプリロール、DB、フィールドの並び順をカスタマイズすることができます。
使用例
顧客管理アプリの顧客DBに対するアプリロール要件の例
業務に応じたロールを定義し、必要な対象に必要なレコードと操作のみに制限できます。
アプリロール |
許可/制限したい内容 |
---|---|
管理者 |
全操作が可能 |
販促 |
・顧客DBの「閲覧」はOK、「登録/変更/削除」はNG ・リスクがあるので、レコードの一括操作はさせたくない ・宣伝メールを送るので、メール配信操作はOK |
営業管理 |
・顧客DBのレコード操作は全てOK ・申請管理DBのレコード変更時、セレクトフィールド(申請ステータス)の「承認済み/差戻し/却下」というラベルのみ操作OK ・「レコード一括操作」はOK ・「メール配信操作」は販促のみ実施なのでNG |
営業/サポート |
・「閲覧/登録/変更/削除」はOK ・申請管理DBのレコード作成時、セレクトフィールド(申請ステータス)の「申請中」というラベルのみ操作OK ・「レコード一括操作」はリスクがあるのでNG ・「メール配信操作」は販促のみ実施なのでNG |
顧客管理アプリに対し
管理者、販促、営業管理、営業/サポート
の4つのロールを作成します。
管理者ロールは全操作を可能にしたいため、全権限を設定。
販促ロールにはレコード閲覧権限とメール操作権限を設定。
営業管理ロールにはレコード閲覧/操作権限、セレクト項目権限、レコード一括操作権限を設定。
営業/サポートロールにはレコード閲覧/操作権限、セレクト項目権限を設定。
このように、各ロールの役割に応じて必要な機能を設定することができます。
機能仕様
対象
アプリロールでは、ユーザとAPIエージェントを含めるグループを指定し、
対象グループごとにアプリ上でのDBや操作の権限、画面上の項目表示を設定します。
権限
DBやレコードに対する権限を設定します。
1.DB権限
あり |
DBアクセスを可能とする権限 レコード操作やメール配信操作をする場合に必要です。 |
---|---|
なし |
DBアクセスを不可とする権限 設定するアプリロールで、DB自体にアクセスさせたくない場合に、DB権限をなしにします。 |
2.レコード作成権限
あり |
レコード作成を可能とする権限 フィールド別に作成対象とするかどうかは、別途レコード操作権限で個別に指定します。 |
---|---|
なし |
レコード作成を不可とする権限 ※なしにすると、レコード操作権限(作成)のフィールド別指定は選択できません。 |
※レコード作成権限をなしにした場合のレコード操作権限の見え方
3.レコード操作権限
レコード操作できるレコード(行)を条件で指定します。
閲覧 |
条件に該当するレコードの閲覧可否 |
---|---|
変更 |
条件に該当するレコードの変更可否 |
削除 |
条件に該当するレコードの削除可否 |
以下の画面は、ステータスが承認済のレコードのみ閲覧ができる。という例です。
以下の画面は、ユーザーフィールドで「自分自身」を設定する場合の例です。
※条件設定について
「すべてのレコード」で指定すると無条件で全レコードが対象になります。
1行内に複数上限を設定すると「AND条件」、行を増やして設定すると「OR条件」になります。設定可能な上限数はこちらをご参照ください。
4.フィールド権限
レコード操作できるフィールド(列)に対してそれぞれの操作権限を指定します。
閲覧 |
レコード閲覧の可否 |
---|---|
作成 |
レコード作成の可否 ※閲覧を可にしないと、選択できません。 |
変更 |
レコード変更の可否 ※閲覧を可にしないと、選択できません。 ※削除権限はレコード操作権限>削除にて指定します。 |
セレクト項目権限設定
セレクトフィールドの場合、アプリロールごとにレコード作成/更新時に使用できる選択肢を絞ることができます。
セレクト項目権限設定の使用例はこちらをご参照ください。
選択ユーザ制限設定
ユーザーフィールドの場合、レコード登録/更新時に選択できるユーザを絞ることができます。
※セレクトフィールドにデフォルト値を設定している場合の挙動について
フィールドのデフォルト値を設定しているセレクトフィールドに対し、許可されたラベルを指定、レコード作成すると、レコード作成時に選択したラベル値が優先されて登録されます。また、ラベルを未指定でレコード作成した場合は、デフォルト値が優先されて登録されます。
※利用画面からの一括登録/一括更新について
アプリ利用画面から、作成/変更権限を持っていないセレクトラベルで一括登録や一括更新をおこなった場合、以下のようなエラーが表示されます。
●列●行目の値の登録権限がないため、登録に失敗しました。
●列●行目の値の更新権限がないため、更新に失敗しました。
※アプリ利用時のAPIからのレコード登録/更新について
リクエストヘッダーでアプリロールを指定、セレクト項目権限で許可していないラベルをレコード登録、更新するAPIリクエストを実行した場合、APIレスポンスでは以下のエラーを返します。
"status": 403,
"message": "Select field permission denied"
5.一括操作権限
操作できる一括処理に対してそれぞれの操作権限を指定します。
権限 | 内容 | 操作画面 |
---|---|---|
一括DL | レコード一括ダウンロードの可否 | アプリ操作 > レコード一括ダウンロード(全件) |
一括登録 | レコード一括登録の可否 | アプリ操作 > レコード一括登録、レコード一括登録更新 |
一括更新 | レコード一括編集の可否 | アプリ操作 > レコード一括更新、レコード一括登録更新、レコード複数一括編集 |
一括削除 | レコード一括削除の可否 | アプリ操作 > レコード一括削除(全件) |
※メールアドレスフィールドにフィールド権限「変更」が無い場合、メールアドレスフィールドへの一括更新の操作はできなくなります。
※一括DLは、レコード操作権限で設定した条件に一致しているレコード、かつ、フィールド権限で閲覧設定をしたレコードのみ、一括でダウンロードすることが可能です。
※レコード一括登録更新は、一括登録と一括更新の権限が付与された場合のみ使用可能です。
6.メール操作権限
操作できるメール配信に対してそれぞれの操作権限を指定します。
権限 | 内容 | 操作画面 |
---|---|---|
配信設定 | メール配信設定作成の可否 | アプリ操作 > メール配信 > メール配信設定追加、編集 |
テスト配信 | テスト配信の可否 | アプリ操作 > メール配信 > 各メール配信設定 > テスト配信 |
配信実行 | 配信実行の可否 | アプリ操作 > メール配信 > 各メール配信設定 > 配信実行 |
配信ログ閲覧 | 配信ログ閲覧の可否 | アプリ操作 > メール配信 > 配信済各メール配信設定 > 配信ログ |
※フィールド権限やレコード操作権限で閲覧権限を制限されていた場合でも、配信ログ閲覧権限が付与されていれば、配信ログ画面上から実際に配信したメールアドレスなどの情報を閲覧することは可能です。
画面
アプリ利用画面上のアプリロールやDBの並び順、レコード一覧などのフィールドの並び順を指定します。
詳細は、アプリ利用画面のカスタマイズをご確認ください。
利用グループ
上記で設定したアプリロールを作成したグループに割り当てることができます。
グループに関して詳しくはこちらを参照してください。
※割り当てをしたいグループは予め作成しておく必要があります。
アプリ利用時のアプリロール指定
操作画面やAPIでアプリを利用する際は、最初にアプリロールを指定(宣言)してから、各種操作やAPIリクエストが必要となります。これにより、同一グループが複数のアプリロールに指定された場合でも、権限の混合が回避されます。
操作画面(アプリロール設定)
1.アプリロール一覧画面
アプリ詳細画面の左メニューからアプリロールをクリックします。
タイトル横の+ボタンからアプリロールを新規作成します。
2.アプリロール作成画面
3.権限の割り当て
作成したアプリロールがアプリロール一覧画面に表示されます。
権限の割り当てをしたいロールをクリックします。
4.アプリロール詳細画面:DBタブ
「DB」をクリックすると各権限の設定ができます。
5.権限設定モーダル
DB権限、レコード作成権限、レコード操作権限、フィールド権限、一括操作権限、メール操作権限の各権限を設定できます。
6.アプリロール詳細画面:利用グループタブ
上記で設定したアプリロールをグループに割り当てます。+ボタンから割り当てたいグループを選択してください。
※アプリロール単体では各ユーザに権限の設定はできません。アプリロール作成後にそのロールを割り当てて権限設定をしたいグループを利用グループタブから選択してください。
操作画面(アプリ利用時)
アプリ利用画面の操作時に、アプリ名横に設定されている権限名にアプリロールが表示されます。
複数グループに所属している等で複数の権限が設定されている場合は、
以下から権限を選択でき、選択後はその権限の範囲内でのアプリ操作となります。
API(アプリ利用時)
アプリ利用でのAPIアクセス時にはリクエストヘッダーで以下のアプリロールの指定が必要となります。
- ヘッダー名:
X-Spiral-App-Role
- ヘッダー値: アプリロール識別名
アプリロール指定を省略してリクエストした場合、全権限を指定となります。(全権限が付与されていない場合はエラー)
また、アプリロールの権限で許可されていないものを含むアクセスの場合、対象リソースにアクセスする権限がないため、エラーコード403(Forbidden)でレスポンスされます。