Skip to content

認証とアクセス権限を設定する ​

madoはLocal UserとOIDC SSOに対応しています。ユーザーの役割を決めるRBACと、接続ごとの操作制限・ホワイトリストを組み合わせて使います。

Local UserとSSOを選ぶ ​

AUTH_MODEログイン方法
local管理者が作成したLocal User
oidcOIDC SSO
hybridLocal UserとOIDC SSO

Local Userの自己登録はありません。初期Adminは導入手順のコマンドで作成します。

SSOではissuer、client ID、client secret、redirect URIを設定します。Authentikを使う場合の登録値、groupとroleの対応、logout設定はOIDC連携の手順を参照してください。

ログインを7日保持する ​

sessionの未使用期限AUTH_SESSION_IDLE_SECONDSと、ログインからの期限AUTH_SESSION_ABSOLUTE_SECONDSは、どちらも既定604800秒(7日)です。操作しない期間を含め、ログインから7日保持します。既存の.envで短い期限を設定している場合は、両方を604800にしてAPIを再起動してください。

SSOではOIDC_SCOPES=openid email profile offline_accessにします。Authentikの[Applications]→[Providers]でmado S3 Data CatalogのProviderを編集し、[Advanced protocol settings]の[Scopes]に標準のoffline_access mappingを追加してください。[Refresh Token Validity]はdays=7以上にします。既にdays=30なら変更不要です。[Access Token Validity]はminutes=5のままで更新できます。反映後、一度ログインし直してrefresh tokenを取得します。

ロールを割り当てる ​

Settings → Access → Users でユーザーを管理します。

ユーザーの追加、ロールの変更、無効化はAccessから行います。
AdminとViewerを登録したユーザー管理画面

ユーザーの追加、ロールの変更、無効化はAccessから行います。

ロール主な権限
ViewerStorageとLineageの閲覧
Curator閲覧、README・ノートの編集、Lineageの登録・修正
Operator閲覧、ジョブの操作
Admin接続・設定・ユーザー・アクセストークンの管理、監査ログの閲覧を含む全権限

複数のロールを付けた場合は、それぞれの権限を合わせて使えます。接続側で禁止した操作や、ユーザーに見せない接続へのアクセスは、別途制限されます。

SSOの利用停止はmado側の状態も確認する ​

SSOのgroupから外しても、既存のmadoセッションが直ちに失効するとは限りません。すぐに利用を止める場合は、mado側のUserを無効化してください。

運用環境ではHTTPSを使い、AUTH_COOKIE_SECURE=true にします。開発・テスト環境も AUTH_MODE に local・oidc・hybrid のいずれかを指定します。未設定やその他の値では起動できません。

Pipelineにはアクセストークンを使う ​

人のブラウザセッションと、PipelineやPrometheusの認証を分けます。Settings → Access → Access Tokensで必要な権限を選んで発行します。一つのトークンに参照と送信の両方を許可できます。APIの手順に従って利用してください。

新規トークンの権限はすべて未選択です。機能ごとの読み取り・編集・削除・実行・管理と、許可する接続・Namespaceを選びます。内部APIも同じ値で利用できます。

Apache License 2.0