We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
引用:https://qiita.com/yu_kato/items/fbbf711947af36c17f7b
↓読んで!
Hasuraにおいてアクセス制御(認可)はRoleを用いて行います。Role,Table, CRUD毎にPermissionと呼ばれるアクセスルールを設定し、DBの行単位、列単位での制御ができます。またHausraでは権限のない行や列はアクセスできなくなるだけでなく、スキーマからも消失するという特徴があります。 一方でユーザ認証はHasura外で行う必要があり、認証方式としてwebhook認証とJWT認証の2種類が提供されています。いずれもSession Variablesと呼ばれる変数(X-Hasura-RoleやX-Hasura-User-Id等)に値をセットし、Hausraに渡すことでユーザの識別やアクセス制御を行います。webhook認証ではHasuraがwebhookにHTTPリクエストを送信しwebhook側でTokenの検証が行われた後、レスポンスとしてRoleやSession Variablesが返却されます。JWT認証は認証やアクセス制御等の属性情報(claim)をJSON形式で記述したJSON Web Token(JWT)を用いる認証方式です。
Keycloakにrole追加
user
developper
manager
KeycloakにMapperの設定
KeycloakでRoleの権限編集
Hasuraで権限設定
X-Hasura-User-Numがuser_numと一致する行にのみアクセス
The text was updated successfully, but these errors were encountered:
hikahana
nose221834
No branches or pull requests
引用:https://qiita.com/yu_kato/items/fbbf711947af36c17f7b
はじめに
↓読んで!
Hasuraにおいてアクセス制御(認可)はRoleを用いて行います。Role,Table, CRUD毎にPermissionと呼ばれるアクセスルールを設定し、DBの行単位、列単位での制御ができます。またHausraでは権限のない行や列はアクセスできなくなるだけでなく、スキーマからも消失するという特徴があります。
一方でユーザ認証はHasura外で行う必要があり、認証方式としてwebhook認証とJWT認証の2種類が提供されています。いずれもSession Variablesと呼ばれる変数(X-Hasura-RoleやX-Hasura-User-Id等)に値をセットし、Hausraに渡すことでユーザの識別やアクセス制御を行います。webhook認証ではHasuraがwebhookにHTTPリクエストを送信しwebhook側でTokenの検証が行われた後、レスポンスとしてRoleやSession Variablesが返却されます。JWT認証は認証やアクセス制御等の属性情報(claim)をJSON形式で記述したJSON Web Token(JWT)を用いる認証方式です。
開発手順
Keycloakにrole追加
user
roledevelopper
rolemanager
roleKeycloakにMapperの設定
KeycloakでRoleの権限編集
Hasuraで権限設定
manager
roleとdevelopper
roleは全員の情報にアクセス権限user
roleは自らのユーザー情報のみしか表示できない権限X-Hasura-User-Numがuser_numと一致する行にのみアクセス
The text was updated successfully, but these errors were encountered: