グループの操作権限
グループに対する操作ができるかどうかは、ログイン中のユーザーの権限によって決まります。
ログインが行われていない状態では、グループの新規作成、URI からのグループ生成を含め、グループの操作ができません。ログイン前の匿名状態でグループ操作を行うとエラーになります。
メンバーはグループ内のデータに対して、デフォルトで読み込みと書き込みの権限を持ちます。
メンバーの追加と削除、オーナーの変更、グループの削除はグループのオーナーだけが実行できます。オーナー以外のユーザーがこれらの操作を行うとエラーになります。
オーナーの変更を行うとき、メンバーでないユーザーも新しいオーナーとして指定できます。操作後、このユーザーは自動的にメンバーになります。
メンバーではないユーザーであってもグループそのものへのアクセスはできます。URI からのグループの生成、グループのメンバーやオーナーの確認が実行できます。ただし、グループにはアクセスできても、その後の Bucket と KiiObject のアクセスにはアクセス権のチェックが行われます。
グループに対する操作の権限はシステムで固定的に決まっており、ACL などによって変更できません。ただし、グループスコープの Bucket や KiiObject へのアクセスは、アクセス制御 の機能で権限を変更できます。
未ログイン | ログイン済みユーザー | 管理者 | |||
---|---|---|---|---|---|
匿名ユーザー | グループ外ユーザー | グループメンバー | グループオーナー | ||
グループの新規作成 | - | ◯ | ◯ | ||
作成済みグループの参照 | - | ◯ | ◯ | ◯ | ◯ |
グループスコープのデータアクセス ※1 | - | - | ◯ | ◯ | ◯ |
メンバーの追加と削除 | - | - | - | ◯ | ◯ |
オーナーの変更 | - | - | - | ◯ | ◯ |
※1 ACL の設定や具体的な操作によって変わります。
Thing 関連の SDK を使用している場合、Thing のオーナーのグループであっても Thing のアクセストークンではこれらの操作を実行できません。
管理者トークンを使うと、すべての操作が実行できます。たとえば、グループオーナー以外のユーザーからグループメンバーを追加したい場合、Server Code の 管理者トークン でグループメンバーの追加処理を記述し、手動実行 で呼び出すような回避方法もあります(ただし、実行の正当性を確認するために Server Code で呼び出し元ユーザー等をチェックしないと、セキュリティ の問題が発生します)。