ワークスペースとメンバー
誰が要求していて、その人に何ができ、他に誰がいるか。
ワークスペースとメンバーのツール
| ツール | 機能 |
|---|---|
| whoAmI | 現在アクティブなメールボックスで自分に何ができるか。保持しているロール、ワークスペースの所有者かどうか、そのロールが与えるすべての権限。 |
| listRoles | このワークスペースが定義しているロールと、それぞれが何を与えるか。加えて、それぞれを何人と何個の API キーが保持しているか。これは、あるロールを変更しても安全かどうかを語る事実である。 |
| listWorkspaceMembers | ワークスペースに誰がいるか、それぞれが保持しているロール、そして与えられているアドレス。 |
できないと誰かに伝える前に whoAmI を読むこと。権限のないツールはツール一覧にそもそも載らないので、ツールが見当たらないのは、このサーバーに機能がないからであるよりも、自分が持っていない権限であることのほうがずっと多い。これはアクティブなコネクションについて答えるので、setActiveConnection のあとは答えが変わる。
whoAmI に権限は要らず、残りの 2 つは roles:read と members:read の背後にある。この線引きは、ここの他のすべてと同じものである。自分自身を説明することは他人についての言明ではなく、同僚を名指しする 2 つは、他人についての他のあらゆる言明と同じように保護される。
ロールとアドレスの付与は別のものであり、listWorkspaceMembers が人ごとに両方を報告するのは、どちらも他方の答えにならないからである。ロールは何をしてよいか、アドレスは何に対してそれをしてよいかであり、アドレスを持たないロール(開くと空のメールボックスになる)も、ロールの行をまったく持たないアドレス(誰かが選んだのではなく、ロールを暗に含む古い付与)もあり得る。ワークスペースの所有者は一覧に載らない。所有者はワークスペースが属するアカウントそのものであり、すべてを保持している。
ここには書き込むものが 1 つもない。createRole も setMemberRole も grantAddress もないのは、deleteRule がないのと同じ理由である。チャットウィンドウの中からロールを広げたりアドレスを配ったりするのは、あとから誰にも見えない、静かで広範な変更だからだ。それらはすべて Settings → Roles と /roles にあり、そこでなら実行する人が、自分の変えているマトリクス全体を見られる。