認証とアクセス権限を設定する
madoはLocal UserとOIDC SSOに対応しています。ユーザーの役割を決めるRBACと、接続ごとの操作制限・ホワイトリストを組み合わせて使います。
Local UserとSSOを選ぶ
AUTH_MODE | ログイン方法 |
|---|---|
local | 管理者が作成したLocal User |
oidc | OIDC SSO |
hybrid | Local 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 でユーザーを管理します。
| ロール | 主な権限 |
|---|---|
| Viewer | Storageと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も同じ値で利用できます。