mirror of
https://github.com/kou029w/hasura-rest-hands-on.git
synced 2025-02-23 17:15:15 +00:00
71 lines
4.2 KiB
Markdown
71 lines
4.2 KiB
Markdown
# アクセス権の設定
|
|
|
|
アクセス権の設定を行います。Hasuraはテーブルの行単位でアクセス制御を行うことが可能です。このハンズオンでは秘密鍵を持たずとも誰でもREST APIを利用できるようにします。
|
|
|
|
**注: セキュアではないので本番環境ではJWK等で認証しましょう**
|
|
|
|
[Data Manager] > [View Database] > `pages` テーブル > [Permissions]パネルから、テーブル内のデータのアクセス件を設定可能です。
|
|
|
|
認証・認可していない利用者のために、ここでは例として `anonymous` ロールを割り当てます。
|
|
|
|

|
|
|
|
## insert (データの挿入) 権限の設定
|
|
|
|
`anonymous` ロールの行 > insert の列を選択し、データの挿入の権限の設定を行います。
|
|
|
|
下記の項目を選択し、[Save Permissions]ボタンで権限を保存します。
|
|
|
|
- Row insert permissions > Without any checks
|
|
- Column insert permissions > `id` `content` ([Toggle All]ボタンを押す)
|
|
|
|

|
|
|
|
## select (データの取得) 権限の設定
|
|
|
|
`anonymous` ロールの行 > select の列を選択し、データの取得の権限の設定を行います。
|
|
|
|
下記の項目を選択し、[Save Permissions]ボタンで権限を保存します。
|
|
|
|
- Row select permissions > Without any checks
|
|
- Column select permissions > `id` `content` ([Toggle All]ボタンを押す)
|
|
|
|

|
|
|
|
## update (データの更新) 権限の設定
|
|
|
|
`anonymous` ロールの行 > update の列を選択し、データの取得の権限の設定を行います。
|
|
|
|
下記の項目を選択し、[Save Permissions]ボタンで権限を保存します。
|
|
|
|
- Pre-update check > Without any checks
|
|
- Post-update check > Without any checks
|
|
- Column update permissions > `id` `content` ([Toggle All]ボタンを押す)
|
|
|
|

|
|
|
|
`anonymous` ロールのinsert、select、updateに✅マークが入っていれば完了です。
|
|
|
|

|
|
|
|
## 環境変数 `HASURA_GRAPHQL_UNAUTHORIZED_ROLE=anonymous` の設定
|
|
|
|
Hasuraの環境変数として `HASURA_GRAPHQL_UNAUTHORIZED_ROLE=anonymous` を与えることで、認証・認可していない利用者に割り当てられるロールを設定します。
|
|
|
|
Hasura Cloudのプロジェクトの画面に戻り、[Env vars]にアクセスします。
|
|
|
|

|
|
|
|
[+ New Env Var]ボタンを押して、環境変数を追加します。
|
|
|
|
| 環境変数 | 説明 | 値 |
|
|
| ---------------------------------- | ---------------------------------------------- | ----------- |
|
|
| `HASURA_GRAPHQL_UNAUTHORIZED_ROLE` | 認証・認可されていない利用者に割り当てるロール | `anonymous` |
|
|
|
|
入力後、[Add]ボタン押して追加します。
|
|
|
|

|
|
|
|

|
|
|
|
REST APIエンドポイントをWebアプリから利用する準備が整いました 🎉
|