Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add authorization documents #11

Merged
merged 5 commits into from
Sep 1, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions src/authorization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# アクセス制御

## アカウントのロール

ロールは自分以外のアカウントに対して操作を実行可能であるかを制御する.

表1: 可能な操作一覧

| 操作名 | 備考 | `Admin` | `Moderator` |
| :--------------: | :------------------------------------------: | :-----: | :---------: |
| 他アカウント | 凍結、サイレンスの実行、アカウント情報の閲覧 | Y | Y |
| ノート/メディア | ノート/メディアの削除 | Y | Y |
| 通報に関する操作 | 通報の確認/解決、警告の送信 | Y | Y |
| 不要メディア削除 | どこからも参照されないメディアの削除 | Y | N |
| 統計情報 | 稼働統計情報の閲覧 | Y | Y |
| システム設定 | 設定値の閲覧/変更 | Y | N |
| お知らせ | お知らせの送信、編集 | Y | N |
| カスタム絵文字 | 登録、無効化、削除 | Y | Y |
| 他インスタンス | インスタンスのサイレンス/ブロック | Y | N |

※ Y: 操作、閲覧が可能 / N: 操作、閲覧が不可能

### Admin (管理者)

管理者.\
全ての操作が実行可能.

### Moderator (モデレーター)

モデレーター.\
(自他問わず)インスタンス、お知らせ以外の操作を実行可能

> [!IMPORTANT]
>
> モデレーターは一般ロールのアカウントに対する操作のみ実行可能.

### Normal (一般)

通常のユーザー.\
自分のリソースに対する操作のみを行うことが可能.

## メールアドレス検証状態

メールアドレスの検証が行われたかを示すもの.

### notActivated (メールアドレス未検証)

メールアドレスの検証が行われていない状態.\
検証が行われていないアカウントは一定期間(設定可能)経過後に自動で削除される(設定で行わないことも可能)

メールアドレス検証トークンの再送信のリクエスト と アカウント削除 のみ実行可能.

### Active (メールアドレス検証済み)

メールアドレスの検証が行われたことを示す状態.

設定されているロールの権限に基づく全ての操作が実行可能になる.

## アカウント状態

アカウントの現在の状態を示すもの.

### Notmal(通常)

通常の状態.\
設定されているロール権限に基づく全ての操作が実行可能.

> [!IMPORTANT]
>
> ただし、メールアドレス検証状態が`notActivated`である場合はそちらが優先される

### Frozen(凍結済み)

凍結済み状態.\
ログインを含む全ての操作が**実行不可能**.\
そのアカウントの投稿,
メディアは`Admin`/`Moderator`ロール以外のアカウントから閲覧できなくなる.

> [!IMPORTANT]
>
> 凍結状態が解除(解凍)された場合は、投稿やメディアは他のアカウントから閲覧可能になる.

### Silenced(サイレンス済み)

サイレンス済み状態.\
そのアカウントは新規投稿の公開範囲で`PUBLIC`を選択できなくなる

> [!IMPORTANT]
>
> サイレンス状態が解除されても、サイレンス中に行われた投稿の公開範囲は変更されない.