本記事はAPIを含めたフォーム等の構築を初めて行う担当者向けの権限についての案内記事になります。
SPIRALは権限管理が標準機能でついており、適切な権限を付与することで必要な人に必要なだけ権限を割り当てる事が可能です。
APIを設定するうえでの権限設定のポイントも含めてご案内いたします。
SPIRALは権限管理が標準機能でついており、適切な権限を付与することで必要な人に必要なだけ権限を割り当てる事が可能です。
APIを設定するうえでの権限設定のポイントも含めてご案内いたします。
権限の設定タイミング
権限の元になる何ができるか(ロール)を設定できるのがアプリとアプリ内のデータベースを作成した後になります。
なので、下記のタイミングで設定いただくと権限の付与がスムーズに行えます。
・アプリでDBを作成する
・サイトでフォームなどページを作成する
・権限を設定(ロール、グループを設定してユーザやAPIエージェントに権限を付与)する
・APIを設定する
なので、下記のタイミングで設定いただくと権限の付与がスムーズに行えます。
・アプリでDBを作成する
・サイトでフォームなどページを作成する
・権限を設定(ロール、グループを設定してユーザやAPIエージェントに権限を付与)する
・APIを設定する
権限機能
SPIRALには権限管理の機能がついており、【グループ】に【ロール】を付与させ、そのグループに【ユーザ】が所属することで各個人に権限を付与することが可能です。
一人一人に権限を付与するのではなく、権限のあるグループに所属することでユーザに付与される形になります。
一人一人に権限を付与するのではなく、権限のあるグループに所属することでユーザに付与される形になります。
| アプリロール | アプリに対するレコード操作、メール配信などいった操作を " 付与する " " 付与しない" を指定する権限です。 お問合せアプリやメールマガジンアプリがあった場合に、「お問合せアプリはデータの作成・閲覧・編集ができるがメールは配信できない」、「メールマガジンはアプリはデータの閲覧だけでき、メールが配信できる」といったように何がどこまでできるのかを設定することが可能です。 例:お問い合わせ確認用アプリロール、メールマガジン配信用アプリロール |
|---|---|
| グループ | 複数のアプリロールをまとめてグループとして作成します。 上記の「お問い合わせ確認用アプリロール、メールマガジン配信用アプリロール」をまとめたグループとして「顧客管理担当」グループやデータを見るだけの権限として、アプリロールで閲覧の権限だけにしたグループとして「一般担当」グループを作るといった形で作成します。 例:営業担当グループ、マーケティング担当グループ |
| ユーザ | 管理画面にログインできる担当者のことを指します。グループに所属させることで権限を持ちます 担当のAさんに「顧客管理」グループに所属してもらうことで、「お問い合わせ確認用アプリロール、メールマガジン配信用アプリロール」の権限が付与される形になります。 また、ユーザーは複数のグループに所属することが可能です。 例:アカウント管理者AさんのログインID、設定担当BさんのログインID、営業担当CさんのログインID |
APIエージェント
APIを使用する場合、APIエージェントを使用します。
APIエージェントとはAPIを実行してくれるユーザのようなもので、このAPIエージェントをグループに入れることでそのグループの権限に合わせてAPIでデータを取り扱うことが可能になります。
例えばAPIでデータベースに登録済みのデータを取得するAPIがありますが、この際APIエージェントに対象の項目を表示する権限がないとエラーになってしまいます。
同じようにデータを更新する場合はそのフィールドの変更の権限が付与されている必要がありますので、必要な権限をグループに付与の上、グループにAPIエージェントを追加ください。
その際はユーザの所属するグループとは別にAPIエージェント用のグループを作成しておくとユーザの利用の都合とは別に設定を変更可能ですので運用しやすくなります。
APIエージェントとはAPIを実行してくれるユーザのようなもので、このAPIエージェントをグループに入れることでそのグループの権限に合わせてAPIでデータを取り扱うことが可能になります。
例えばAPIでデータベースに登録済みのデータを取得するAPIがありますが、この際APIエージェントに対象の項目を表示する権限がないとエラーになってしまいます。
同じようにデータを更新する場合はそのフィールドの変更の権限が付与されている必要がありますので、必要な権限をグループに付与の上、グループにAPIエージェントを追加ください。
その際はユーザの所属するグループとは別にAPIエージェント用のグループを作成しておくとユーザの利用の都合とは別に設定を変更可能ですので運用しやすくなります。
APIエージェントとユーザのAPIキーの違い
APIを実行する際はAPIキーで誰が実行するかを指定します。
このAPIキーはAPIエージェントとユーザの両方で発行が可能です。
どちらも所属するグループの権限に合わせて動作しますが、ユーザのAPIはユーザーの退職やグループからの除外で権限がなくなりエラーになるなどのケースがあるため、あくまで設定作業用の一時的なものとして、最終的にはAPIエージェントのAPIを使用するものとしていただくことを推奨いたします。
設定作業中はユーザで柔軟に権限を設定して作成を行い、必要な権限を確認し、リリース前にAPIエージェントのAPIキーに差し替えて同じ権限付与するなどの運用で利用ください。
また、サイト(フォームなど)でAPIを利用する際は環境変数を利用いただくことで各ページのコードをいじらずにユーザとAPIエージェントのAPIキーを差し替えるなどの作業を簡単に行うことが可能です。
このAPIキーはAPIエージェントとユーザの両方で発行が可能です。
どちらも所属するグループの権限に合わせて動作しますが、ユーザのAPIはユーザーの退職やグループからの除外で権限がなくなりエラーになるなどのケースがあるため、あくまで設定作業用の一時的なものとして、最終的にはAPIエージェントのAPIを使用するものとしていただくことを推奨いたします。
設定作業中はユーザで柔軟に権限を設定して作成を行い、必要な権限を確認し、リリース前にAPIエージェントのAPIキーに差し替えて同じ権限付与するなどの運用で利用ください。
また、サイト(フォームなど)でAPIを利用する際は環境変数を利用いただくことで各ページのコードをいじらずにユーザとAPIエージェントのAPIキーを差し替えるなどの作業を簡単に行うことが可能です。
権限の種類について
権限の種類としては大きく「利用」と「管理」、対象が「アプリ」と「サイト」に分かれます。
そのため、利用アプリ権限、管理アプリ権限、管理サイト権限と3種類に分かれます。
(サイトの利用は実際にアクセスしてしよする話になるため、割り振る権限がありません)
DBを作成したりと設定自体を行うなら管理、DBに登録されたデータを閲覧、登録、変更、削除するなら利用になります。
利用したいのか管理したいのかに合わせて権限を付与してください。
そのため、利用アプリ権限、管理アプリ権限、管理サイト権限と3種類に分かれます。
(サイトの利用は実際にアクセスしてしよする話になるため、割り振る権限がありません)
DBを作成したりと設定自体を行うなら管理、DBに登録されたデータを閲覧、登録、変更、削除するなら利用になります。
利用したいのか管理したいのかに合わせて権限を付与してください。
APIでの権限周りあれこれ
管理機能について
使用するAPIによっては管理権限が必要になります。
例えば登録フォームブロックで登録後、フォームの機能ではなく、APIで柔軟な条件に合わせてメールを送り分ける場合、メールアクションはサイトに紐づく機能になるため、サイトの管理権限が必要になります。
サイト管理権限
逆に登録された方全員に一斉配信を行う場合はアプリ機能の配信を使用するため、サイト管理権限は不要になります。
基本的にAPIは管理画面の機能を実行する仕組みになりますので、サイトとアプリのどちらに紐づいている機能かによって必要になる権限を検討ください。
利用頻度の高いAPIメソッドには必要な権限についてまとめの記事を用意しておりますので、記事をご参考ください。
APIメソッドごとの権限設定方法まとめの記事
例えば登録フォームブロックで登録後、フォームの機能ではなく、APIで柔軟な条件に合わせてメールを送り分ける場合、メールアクションはサイトに紐づく機能になるため、サイトの管理権限が必要になります。
サイト管理権限
逆に登録された方全員に一斉配信を行う場合はアプリ機能の配信を使用するため、サイト管理権限は不要になります。
基本的にAPIは管理画面の機能を実行する仕組みになりますので、サイトとアプリのどちらに紐づいている機能かによって必要になる権限を検討ください。
利用頻度の高いAPIメソッドには必要な権限についてまとめの記事を用意しておりますので、記事をご参考ください。
APIメソッドごとの権限設定方法まとめの記事
環境変数について
実際に権限を設定する場合のテストケース
実際に権限を設定する場合の設定内容の例を記載いたします。
内容としては「参照先DBのレコードをフォームにプルダウンで表示」の場合の設定になります。
上記はセミナーマスタDBに登録されているセミナー内容をセミナー申込みの際にAPIでDBの中身を検索してプルダウンとして表示する内容になります。
内容としては「参照先DBのレコードをフォームにプルダウンで表示」の場合の設定になります。
上記はセミナーマスタDBに登録されているセミナー内容をセミナー申込みの際にAPIでDBの中身を検索してプルダウンとして表示する内容になります。
APIエージェント用
実作業担当者用
| アプリロール | セミナーマスタDBのアプリロール ・DB権限:あり ・レコード作成権限:なし ・レコード操作権限:設定不要 ・フィールド権限:各項目に閲覧権限。変更、削除は不要。 ・一括操作権限:設定不要 ・メール操作権限:設定不要 |
|---|---|
| グループ | APIエージェント用 |
| アプリロール | セミナーマスタDBのアプリロール ・DB権限:あり ・レコード作成権限:あり ・レコード操作権限:すべてチェック ・フィールド権限 :各項目の閲覧、変更、削除にチェック。 ・一括操作権限 :使用する場合チェック ・メール操作権限 :不要 セミナー申し込みDBのアプリロール ・DB権限:あり ・レコード作成権限:あり ・レコード操作権限:すべてチェック ・フィールド権限 :各項目の閲覧、変更、削除にチェック。 ・一括操作権限 :使用する場合チェック ・メール操作権限 :配信する場合すべてにチェック |
|---|---|
| グループ | 実作業担当者用 |
最後に
権限を設定する際は、誰が何をするのかを整理したうえでロールやグループを作成して権限を管理ください。
全員に全権限を付与するのではなく、必要な権限を必要なだけ付与することでセキュアに運用することが可能です。
全員に全権限を付与するのではなく、必要な権限を必要なだけ付与することでセキュアに運用することが可能です。