Metabase

احراز هویت مبتنی بر SAML

ادغام SSO شما با متابیس به شما امکان می‌دهد:

  • یک حساب متابیس را وقتی کسی به متابیس وارد می‌شود provision کنید.
  • به‌طور خودکار ویژگی‌های کاربر را از SSO خود به متابیس ارسال کنید تا امنیت ردیف و ستون را فعال کند.
  • به افراد امکان دسترسی به متابیس بدون احراز هویت مجدد بدهید.

تأیید رمز عبور برای حساب ادمین متابیس شما

قبل از تنظیم SAML، مطمئن شوید که رمز عبور حساب ادمین متابیس خود را می‌دانید. اگر در طول فرآیند تنظیم مشکلی مواجه شدید، می‌توانید از طریق گزینه "Admin backup login" در صفحه ورود وارد شوید.

تنظیم SAML با IdP خود در متابیس

بعد از اینکه رمز عبور حساب ادمین متابیس خود را تأیید کردید، به بخش Settings از پنل Admin بروید، سپس روی تب Authentication کلیک کنید. روی دکمه Set up در بخش SAML از صفحه Authentication کلیک کنید، و این فرم را می‌بینید:

فرم SAML

فرم شامل سه بخش است:

  1. اطلاعات متابیس که باید در ارائه‌دهنده هویت (IdP) خود وارد کنید.
  2. اطلاعات IdP که باید به متابیس بگویید.
  3. امضای درخواست‌های SSO (اختیاری).

راهنماهای SAML

ابتدا باید مطمئن شوید که همه چیز با IdP خود به‌درستی پیکربندی شده است. هر IdP تنظیم SAML را متفاوت مدیریت می‌کند.

ما برخی راهنماها برای رایج‌ترین ارائه‌دهندگان نوشته‌ایم:

اگر IdP خود را اینجا نمی‌بینید:

  • به مستندات مرجع IdP خود دربارهٔ پیکربندی SAML مراجعه کنید. به دنبال چیزی مثل این راهنمای SAML OneLogin می‌گردید.
  • با استفاده از اطلاعات یافت‌شده در فرم SAML متابیس، فرم SAML IdP خود را پر کنید.
  • برای اطلاعات بیشتر، به بخش بعدی دربارهٔ پیکربندی SAML عمومی مراجعه کنید.

Provisioning کاربر

به‌طور پیش‌فرض، متابیس حساب‌هایی برای افرادی که هنوز حساب متابیس ندارند اما قادر به ورود از طریق SAML SSO هستند ایجاد می‌کند.

اگر Provisioning کاربر با SCIM را تنظیم کرده‌اید، می‌خواهید این تنظیم را خاموش کنید تا متابیس به‌طور خودکار یک حساب جدید برای هر کسی که با موفقیت احراز هویت می‌کند ایجاد نکند، چون ممکن است بخواهید از SCIM برای تعیین اینکه چه کسی می‌تواند و نمی‌تواند یک حساب در متابیس ایجاد کند استفاده کنید.

پیکربندی SAML عمومی

بخش بالای فرم SAML در متابیس اطلاعاتی دارد که باید فرم SAML IdP خود را پر کنید، با دکمه‌هایی برای آسان کردن کپی اطلاعات.

نام‌های فیلدها در فرم SAML متابیس همیشه با نام‌های استفاده‌شده توسط IdP شما تطبیق ندارند. ما یک توضیح از هر فیلد در زیر ارائه داده‌ایم تا به شما کمک کند اطلاعات را از یک مکان به مکان دیگر نگاشت کنید.

URL که IdP باید به آن redirect کند

URL redirect آدرس وب است که افراد بعد از ورود با IdP شما به آن ارسال می‌شوند. برای redirect افراد به متابیس شما، URL redirect شما باید Site URL متابیس شما باشد، با /auth/sso در انتها.

به‌عنوان مثال، اگر Site URL متابیس شما https://metabase.yourcompany.com است، استفاده می‌کنید

https://metabase.yourcompany.com/auth/sso

به‌عنوان URL redirect در فرم SAML IdP خود.

IdPهای مختلف از نام‌های متفاوتی برای URL redirect استفاده می‌کنند. در اینجا برخی مثال‌های رایج:

ارائه‌دهندهنام
Auth0Application Callback URL
OktaSingle Sign On URL
OneLoginACS (Consumer) URL

ویژگی‌های کاربر

متابیس به‌طور خودکار افرادی که توسط ارائه‌دهنده هویت SAML شما احراز هویت شده‌اند را وارد می‌کند. برای انجام این کار، اولین assertion برگشتی در پاسخ SAML ارائه‌دهنده هویت باید شامل ویژگی‌هایی برای نام، نام خانوادگی، و ایمیل هر شخص باشد.

بیشتر IdPها از قبل این assertionها را به‌طور پیش‌فرض شامل می‌شوند، اما برخی (مثل Okta) باید پیکربندی شوند تا آن‌ها را شامل شوند.

به‌طور کلی باید این ویژگی‌های کاربر (نام، نام خانوادگی، و ایمیل) را در فیلدهای برچسب‌خورده "Name"، "Attributes" یا "Parameters" paste کنید.

اگر به افراد امکان ویرایش آدرس‌های ایمیل خود را می‌دهید: مطمئن شوید که ایمیل‌های حساب متناظر در متابیس را به‌روزرسانی کنید. نگه داشتن آدرس‌های ایمیل همگام‌شده از از دست دادن دسترسی افراد به حساب‌هایشان محافظت می‌کند.

تنظیمات برای امضای درخواست‌های SSO (اختیاری)

این تنظیمات اضافی هستند که می‌توانید پر کنید تا درخواست‌های SSO را امضا کنید تا اطمینان حاصل کنید که دستکاری نمی‌شوند.

فعال کردن احراز هویت SAML در متابیس

متابیس حالا نیاز دارد برخی چیزها دربارهٔ IdP شما بداند. در اینجا تجزیه هر یک از تنظیمات:

URL ارائه‌دهنده هویت SAML

متابیس درخواست‌های ورود را به URL ارائه‌دهنده هویت redirect می‌کند، جایی که افراد برای ورود با SSO می‌روند.

IdPهای مختلف از نام‌های متفاوتی برای URL ارائه‌دهنده هویت استفاده می‌کنند. در اینجا برخی مثال‌های رایج:

ارائه‌دهندهنام
Auth0Identity Provider Login URL
OktaIdentity Provider Single-Sign On URL
OneLoginSAML 2.0 Endpoint (HTTP)

Issuer ارائه‌دهنده هویت SAML

Issuer ارائه‌دهنده هویت SAML یک شناسه منحصر به فرد برای IdP است. همچنین ممکن است "Issuer" را به‌عنوان "Entity ID" ببینید. Assertionها از IdP این اطلاعات را شامل می‌شوند، و متابیس تأیید می‌کند که issuer با مقداری که تنظیم می‌کنید تطبیق دارد.

توصیه می‌کنیم که این مقدار را تنظیم کنید تا پیکربندی SAML خود را امن‌تر کنید.

ارائه‌دهندهنام
Auth0Identity Provider Login URL
OktaIdentity Provider Issuer
OneLoginIssuer URL

گواهی ارائه‌دهنده هویت SAML

گواهی ارائه‌دهنده هویت SAML یک گواهی encoded است که متابیس هنگام اتصال به URI IdP استفاده می‌کند. گواهی شبیه یک blob بزرگ متن خواهد بود که می‌خواهید با دقت کپی و paste کنید — فاصله‌گذاری مهم است!

IdP شما ممکن است از شما بخواهد این گواهی را به‌عنوان یک فایل (معمولاً .cer یا .pem) دانلود کنید، که سپس باید در یک ویرایشگر متن باز کنید تا محتوا را کپی کنید و سپس در جعبه در متابیس paste کنید.

توجه داشته باشید که متن گواهی شما ممکن است شامل کامنت‌های header و footer باشد که شبیه -----BEGIN CERTIFICATE----- و -----END CERTIFICATE----- هستند. این کامنت‌ها باید هنگام paste کردن متن گواهی در متابیس شامل شوند.

ارائه‌دهندهنام
Auth0Signing Certificate
OktaX.509 Certificate
OneLoginX.509 Certificate

تنظیمات برای امضای درخواست‌های SSO (اختیاری)

برای امضای درخواست‌ها تا نتوانند دستکاری شوند، باید تنظیمات اضافی ارائه دهید.

اگر IdP شما پاسخ‌های SAML را رمزگذاری می‌کند، باید مطمئن شوید که این بخش پر شده است.

اگر هر یک از این تنظیمات را تغییر دهید، چه در طول تنظیم اولیه یا بعد از ویرایش یک مقدار موجود، باید به دلیل نحوه خواندن فایل keystore متابیس را راه‌اندازی مجدد کنید.

  • SAML keystore path: مسیر مطلق به فایل keystore برای استفاده برای امضای درخواست‌های SAML.
  • SAML keystore password: طلسم جادویی که keystore را باز می‌کند.
  • SAML keystore alias: alias برای کلیدی که متابیس باید برای امضای درخواست‌های SAML استفاده کند.

Single logout (SLO) SAML

متابیس از single logout (SLO) برای SAML پشتیبانی می‌کند.

endpoint برای SLO: /auth/sso/handle_slo

پس اگر متابیس شما در metabase.example.com سرو می‌شود URL سرویس logout POST binding این خواهد بود:

https://metabase.example.com/auth/sso/handle_slo

فعال کردن SAML SLO

SLO از رابط متابیس قابل پیکربندی نیست. برای فعال کردن آن، باید گزینه‌های زیر را با استفاده از متغیرهای محیطی یا فایل پیکربندی متابیس تنظیم کنید:

برای اینکه تنظیم MB_SESSION_COOKIE_SAMESITE با none کار کند، متابیس باید از طریق HTTPS سرو شود. مرورگرهایی مثل Chrome کوکی‌ها را در درخواست‌های cross-site مسدود می‌کنند اگر SSL فعال نباشد. بدون HTTPS، درخواست‌های logout از IdP شما (مثل Okta) کوکی نشست را شامل نمی‌شوند، که به این معنی است که متابیس نمی‌تواند نشست را به‌درستی پایان دهد.

همگام‌سازی عضویت گروه با IdP شما

این تنظیم به شما امکان می‌دهد کاربران را به گروه‌های متابیس بر اساس یک ویژگی از کاربران شما در IdP اختصاص دهید. این تنظیم ممکن است با عملکرد گروه ارائه‌شده توسط IdP شما همبستگی نداشته باشد؛ ممکن است نیاز به ایجاد یک ویژگی کاربر جداگانه برای تنظیم گروه‌های متابیس افراد داشته باشید، مثل metabaseGroups.

ابتدا، باید یک ویژگی کاربر SAML ایجاد کنید که از آن برای نشان دادن اینکه شخص باید بخشی از کدام گروه‌های متابیس باشد استفاده می‌کنید. این ویژگی کاربر ایجادشده می‌تواند یک رشته XML یا لیستی از رشته‌های XML باشد. IdPهای مختلف روش‌های متفاوتی برای مدیریت این دارند، اما احتمالاً نیاز به ویرایش پروفایل‌های کاربر یا پیدا کردن راهی برای نگاشت گروه‌های کاربر به لیستی از نام‌های گروه متابیس دارید.

پیکربندی schema گروه در متابیس

بعد از اینکه همه چیز را در ارائه‌دهنده SAML خود تنظیم کردید، باید schema گروه را در متابیس پیکربندی کنید.

  1. تنظیم Synchronize group memberships را روشن کنید.
  2. روی Edit mappings کلیک کنید.
  3. روی Create a mapping کلیک کنید.
  4. نام یکی از گروه‌هایی که به‌عنوان مقادیر ویژگی metabaseGroups وارد کردید را وارد کنید، سپس روی دکمه Add کلیک کنید.
  5. روی منوی dropdown که زیر عنوان Groups ظاهر می‌شود کلیک کنید تا گروه(های) متابیس که کاربران با این مقدار خاص metabaseGroups باید به آن اضافه شوند را انتخاب کنید.
  6. روی Save کلیک کنید.
  7. بعد از آن، نام ویژگی کاربری که در ارائه‌دهنده SAML خود اضافه کردید را تایپ کنید. در این مورد، به Okta گفتیم که ویژگی metabaseGroups باید MetabaseGroupName نامیده شود، بنابراین این چیزی است که در فیلد Group Attribute Name در متابیس وارد می‌کنیم.

Schema گروه

ایجاد حساب‌های متابیس با SSO

پلن‌های پولی برای هر حساب اضافی شارژ می‌کنند.

یک ورود SSO جدید به‌طور خودکار یک حساب متابیس جدید ایجاد می‌کند.

حساب‌های متابیس ایجادشده با ورود ارائه‌دهنده هویت خارجی رمز عبور ندارند. افرادی که با استفاده از یک IdP برای متابیس ثبت‌نام می‌کنند باید همچنان از IdP برای ورود به متابیس استفاده کنند.

غیرفعال کردن ورود با رمز عبور

از قفل شدن خارج از متابیس خود جلوگیری کنید! خاموش کردن ورود با رمز عبور برای همه حساب‌های متابیس اعمال می‌شود، از جمله حساب ادمین متابیس شما. قبل از خاموش کردن ورود با رمز عبور، مطمئن شوید که می‌توانید با استفاده از SSO به حساب ادمین خود وارد شوید.

برای اینکه از افراد بخواهید با SSO وارد شوند، احراز هویت رمز عبور را از Admin settings > Authentication غیرفعال کنید. toggle Enable Password Authentication را خاموش کنید.

غیرفعال کردن رمز عبور

ایمیل‌های اعلان حساب جدید

وقتی افراد برای اولین بار از طریق SSO به متابیس وارد می‌شوند، متابیس به‌طور خودکار یک حساب برای آن‌ها ایجاد می‌کند، که یک ایمیل اعلان به ادمین‌های متابیس ارسال می‌کند. اگر نمی‌خواهید این اعلان‌ها ارسال شوند، به Admin settings > Authentication > User provisioning بروید، و toggle "Notify admins of new users provisioned from SSO" را خاموش کنید

کد مثال با استفاده از SAML

می‌توانید کد مثال که از احراز هویت SAML استفاده می‌کند را در مخزن مثال‌های SSO پیدا کنید.

عیب‌یابی مشکلات SAML