شعار زيفيرنت

توحيد الوصول لتسجيل الدخول الموحد إلى الإصدار الثاني من محرر استعلام Amazon Redshift مع Okta

التاريخ:

محرر استعلام Amazon Redshift v2 هو تطبيق عميل SQL قائم على الويب يمكنك استخدامه لتأليف الاستعلامات وتشغيلها على جهازك الأمازون الأحمر مستودع البيانات. يمكنك تصور نتائج الاستعلام باستخدام المخططات والتعاون من خلال مشاركة الاستعلامات مع أعضاء فريقك. يمكنك استخدام محرر الاستعلام v2 لإنشاء قواعد البيانات والمخططات والجداول وتحميل البيانات منها خدمة تخزين أمازون البسيطة (Amazon S3) باستخدام أمر COPY أو باستخدام المعالج. يمكنك استعراض قواعد بيانات متعددة وتشغيل الاستعلامات في مستودع بيانات Amazon Redshift أو مستودع البيانات، أو تشغيل الاستعلامات الموحدة لقواعد البيانات التشغيلية مثل أمازون أورورا. نظرًا لأنه محرر SQL مُدار في متصفحك ومتكامل مع موفر تسجيل الدخول الموحد (SSO)، فإن الإصدار الثاني من محرر استعلام Amazon Redshift يقلل عدد الخطوات للاستعلام الأول حتى تحصل على رؤى بشكل أسرع.

يعمل تكامل الإصدار الثاني من محرر استعلام Amazon Redshift مع موفر الهوية (IdP) على إعادة توجيه متصفح المستخدم تلقائيًا إلى وحدة تحكم الإصدار 2 لمحرر الاستعلام بدلاً من وحدة تحكم Amazon Redshift. يتيح ذلك للمستخدمين إمكانية الوصول بسهولة إلى مجموعات Amazon Redshift من خلال الإصدار 2 من محرر الاستعلام باستخدام بيانات الاعتماد الموحدة دون إدارة مستخدمي قاعدة البيانات وكلمات المرور.

في هذا المنشور، نركز على Okta باعتباره IdP ونوضح كيفية إعداد تطبيق Okta الخاص بك و إدارة الهوية والوصول AWS (IAM) أذونات. نوضح أيضًا كيف يمكنك تقييد وصول المستخدمين لديك لاستخدام محرر الاستعلام الإصدار 2 فقط دون منحهم حق الوصول لأداء أي وظائف إدارية على وحدة تحكم إدارة AWS.

حل نظرة عامة

الخطوات عالية المستوى في هذا المنشور هي كما يلي:

  1. قم بإعداد Okta، الذي يحتوي على المستخدمين الخاصين بك المنظمين في مجموعات منطقية وتطبيق اتحاد حساب AWS.
  2. قم بإعداد دورين من IAM: أحدهما ينشئ علاقة ثقة بين IdP وAWS، والدور الثاني الذي تستخدمه Okta للوصول إلى Amazon Redshift.
  3. أكمل التكوين المتقدم لـ Okta:
    1. قم بإنهاء تكوين Okta عن طريق إدخال الأدوار التي قمت بإنشائها للتو.
    2. حدد حالة ترحيل افتراضية لتوجيه المستخدمين إلى الإصدار 2 من محرر استعلام Amazon Redshift بعد مصادقة SAML الناجحة.
    3. قم بتكوين SAML PrincipalTagAttribute. يتيح لك هذا العنصر تمرير السمات كعلامات جلسة في تأكيد SAML. لمزيد من المعلومات حول علامات الجلسة، راجع تمرير علامات الجلسة في AWS STS.
  4. قم بإعداد مجموعات قاعدة بيانات Amazon Redshift:
    1. قم بإنشاء مجموعات داخل قاعدة بيانات Amazon Redshift لمطابقة مجموعات Okta.
    2. تخويل هذه المجموعات للوصول إلى مخططات وجداول معينة.
    3. يمكنك الوصول إلى الإصدار الثاني من محرر استعلام Amazon Redshift باستخدام بيانات اعتماد مؤسستك والاستعلام عن قاعدة بيانات Amazon Redshift الخاصة بك.
  5. قم بتسجيل الدخول إلى حساب Okta الخاص بك والوصول إلى التطبيق المخصص لك. يوجهك التطبيق إلى الإصدار الثاني من محرر استعلام Amazon Redshift باستخدام تسجيل الدخول الموحد.
  6. الوصول إلى قاعدة بيانات Amazon Redshift والاستعلام عنها.

المتطلبات الأساسية المسبقة

تفترض هذه المشاركة أن لديك المتطلبات الأساسية التالية:

قم بإعداد أوكتا

أولاً، قمنا بإعداد تطبيق Okta وإنشاء المستخدمين والمجموعات. أكمل الخطوات التالية:

  1. قم بتسجيل الدخول إلى وحدة تحكم المشرف الخاصة بـ Okta باستخدام عنوان URL https://<prefix>-admin.okta.com/admin/dashboard، حيث خاص بحسابك وتم إنشاؤه عند إعداد الحساب.
  2. في وحدة تحكم المشرف، اختر إداري.
  3. تحت دليل في جزء التنقل ، اختر مجتمع.
  4. لإضافة مستخدمين، اختر إضافة شخص.
    توضح لقطة الشاشة التالية المستخدمين الذين أنشأناهم.
  5. لإضافة مجموعات إلى Okta، اختر المجموعة في جزء التنقل ، ثم اختر إضافة مجموعة.
    تعرض لقطة الشاشة التالية مجموعتين قمنا بإنشائهما. أضفنا Jane إلى analyst_users و Mike إلى bi_users.
  6. تحت التطبيقات في جزء التنقل ، اختر التطبيقات واختر تصفح كتالوج التطبيقات.
  7. البحث عن اتحاد حسابات AWS واختر أضف.
  8. بعد إضافة التطبيق، اختر اتحاد حسابات AWS.
  9. اترك القيم في إعدادات عامة في الافتراضي واختيار التالى.
  10. تحت خيارات تسجيل الدخول، حدد SAML 2.0 تحديث.
  11. اختيار البيانات الوصفية لموفر الهوية رابط لتنزيل ملف البيانات التعريفية بتنسيق xml.

تكوين أدوار IAM

بعد ذلك، تقوم بإعداد دور IAM الذي ينشئ علاقة ثقة بين IdP وAWS. يمكنك أيضًا إنشاء دور IAM الذي تستخدمه Okta للوصول إلى الإصدار 2 من محرر استعلام Amazon Redshift.

  1. على وحدة تحكم IAM ، تحت ادارة الوصول في جزء التنقل ، اختر موفرو الهوية.
  2. اختار إضافة مزود.
  3. في حالة نوع المزودتحديد SAML.
  4. في حالة اسم المزودإدخال اسم.
  5. اختار اختر ملف وقم بتحميل ملف البيانات الوصفية الذي قمت بتنزيله.
  6. اختار إضافة مزود.

    الآن يمكنك إنشاء دور اتحاد IAM SAML 2.0.
  7. في وحدة تحكم IAM ، اختر الأدوار في جزء التنقل.
  8. اختار خلق دور.
  9. في حالة نوع الكيان الموثوق به، حدد اتحاد SAML 2.0.
  10. في حالة مزود المستند إلى SAML 2.0، اختر موفِّر الهوية (IdP) الذي قمت بإنشائه في الخطوة السابقة.
  11. أختار السماح بالوصول البرمجي ووصول وحدة الإدارة في AWS.
  12. اختار التالى ثم اختر خلق السياسة.

يوفر الإصدار الثاني من محرر استعلام Amazon Redshift سياسات مُدارة متعددة للوصول إلى محرر الاستعلام. للحصول على قائمة بالسياسات المُدارة، راجع تكوين حساب AWS الخاص بك. تمكنك السياسة المُدارة من تقييد وصول المستخدمين لديك لاستخدام الإصدار 2 من محرر الاستعلام فقط دون منحهم حق الوصول لأداء أي وظائف إدارية على وحدة التحكم. لهذا المنصب، ونحن نستخدم AmazonRedshiftQueryEditorV2ReadSharing السياسة المُدارة وإنشاء سياسة مخصصة.

في التعليمة البرمجية التالية، قم بتوفير المنطقة والحساب ومعلمات المجموعة لمنح الوصول إلى Amazon Redshift للحصول على بيانات اعتماد المجموعة وإنشاء مستخدمين والسماح للمستخدمين بالانضمام إلى المجموعات:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RedshiftClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials",
                "redshift:CreateClusterUser",
                "redshift:JoinGroup"
            ],
            "Resource": [
                "arn:aws:redshift:<region>:<account>:cluster:<cluster>,
                "arn:aws:redshift:<region>:<account>:dbuser:<cluster>/${aws:PrincipalTag/RedshiftDbUser}",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/analyst_users",
                "arn:aws:redshift:<region>:<account>:dbgroup:<cluster>/bi_users",
                "arn:aws:redshift:<region>:<account>:dbname:<cluster>/${redshift:DBName}"
            ]
        }
    ]
}

تستمر عضوية المجموعة طوال مدة جلسة المستخدم فقط. بالإضافة إلى ذلك، لا يوجد CreateGroup إذن لأنه يلزم إنشاء المجموعات يدويًا ومنحها امتيازات قاعدة البيانات.

  1. قم بإرفاق السياسة التي قمت بإنشائها بالدور.
    تعرض لقطة الشاشة التالية صفحة ملخص الدور.
  2. قم بتعديل علاقات الثقة لدورك وقم بإضافتها sts:TagSession الإذن.
    عند استخدام علامات الجلسة ، يجب أن تحتوي سياسات الثقة لجميع الأدوار المتصلة بعلامات تمرير موفر الهوية على الامتداد sts: TagSession إذن. بالنسبة للأدوار بدون هذا الإذن في نهج الثقة ، فإن AssumeRole فشل العملية.
  3. اختار سياسة التحديث.

قم بإعداد التكوين المتقدم Okta

في هذا القسم، يمكنك الانتهاء من تكوين Okta عن طريق إضافة أدوار IAM التي قمت بإنشائها للتو. لقد قمت بإعداد SAML PrincipalTag سمات مثل RedshiftDbUser و RedshiftDbGroups، والتي تم تمريرها في تأكيد SAML لتوحيد الوصول إلى الإصدار 2 من محرر استعلام Amazon Redshift. يمكنك أيضًا تحديد حالة ترحيل افتراضية، وهي عنوان URL الذي يتم توجيه المستخدمين إليه بعد المصادقة الناجحة من خلال SAML.

  1. في حساب Okta الخاص بك، افتح تطبيق AWS Account Union.
  2. على سجل دخولك علامة التبويب، مجموعة حالة الترحيل الافتراضية إلى عنوان URL لمحرر الاستعلام، باستخدام التنسيق https://<region>.console.aws.amazon.com/sqlworkbench/home. لهذا المنصب ، نستخدمه https://eu-west-1.console.aws.amazon.com/sqlworkbench/home.
  3. اختار السمات وقم بإعداد تعيينات السمات التالية:
    1. قم بتعيين مستخدم قاعدة البيانات باستخدام PrincipalTag:RedshiftDbUser. يستخدم هذا اسم المستخدم في الدليل. هذه علامة مطلوبة وتحدد مستخدم قاعدة البيانات الذي يستخدمه محرر الاستعلام v2.
    2. قم بتعيين مجموعات قاعدة البيانات باستخدام PrincipalTag:RedshiftDbGroups. يستخدم هذا مجموعات Okta لملء العلامات الرئيسية. يجب أن تكون قيمتها قائمة مفصولة بنقطتين.
    3. اضبط مفاتيح متعدية باستخدام TransitiveTagKeys. هذا يمنع المستخدمين من تغيير علامات الجلسة في حالة تسلسل الأدوار.

يتم إرسال هذه العلامات إلى redshift:GetClusterCredentials API للحصول على بيانات الاعتماد لمجموعتك. يلخص الجدول التالي تكوين السمات الخاصة بهم.

  1. تحت إعدادات تسجيل الدخول المتقدمةتحديد استخدم تعيين المجموعة.
  2. أدخل أسماء ARN الخاصة بدور IdP وIAM، والتي تعتبر فريدة عالميًا، وتأكد من توجيه Okta إلى حساب AWS الخاص بك.
  3. قم بتفويض المستخدمين لاستخدام تطبيق AWS Account Union عن طريق تحديد المجموعات الخاصة بهم أو حسابات المستخدمين الفردية. في هذا المثال، قمنا بتفويض المستخدمين حسب المجموعة.

قم بإعداد مجموعات قاعدة بيانات Amazon Redshift

بعد ذلك، يمكنك إعداد مجموعات في قاعدة بيانات Amazon Redshift لمطابقة مجموعات Okta. يمكنك أيضًا السماح لهذه المجموعات بالوصول إلى مخططات وجداول معينة.

  1. قم بتسجيل الدخول إلى مجموعة Amazon Redshift الخاصة بك باستخدام حساب المسؤول.
  2. أنشئ مجموعات تطابق أسماء مجموعات موفر الهوية (IdP)، وامنح الأذونات المناسبة للجداول والمخططات:
CREATE GROUP analyst_users;
CREATE GROUP bi_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_analysis
GRANT SELECT on TABLES to GROUP analyst_users;
GRANT USAGE on SCHEMA sales_analysis to GROUP analyst_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_analysis to GROUP analyst_users;

ALTER DEFAULT PRIVILEGES IN SCHEMA sales_bi
GRANT SELECT on TABLES to GROUP bi_users;
GRANT USAGE on SCHEMA sales_bi to GROUP bi_users;
GRANT SELECT on ALL TABLES in SCHEMA sales_bi to GROUP bi_users;

في Okta، قمت بإنشاء المستخدم Jane وتعيينه Jane إلى analyst_users المجموعة.

في قاعدة بيانات Amazon Redshift، قمت بإنشاء مجموعتين من قواعد البيانات: analyst_users و bi_users.

عندما المستخدم Jane بتسجيل الدخول عبر المصادقة الموحدة إلى Amazon Redshift باستخدام الإصدار 2 من محرر الاستعلام، يتم إنشاء المستخدم إذا لم يكن موجودًا بالفعل ويتم analyst_users يفترض مجموعة قاعدة البيانات. المستخدم Jane يمكن الاستعلام عن الجداول فقط في sales_analysis مخطط.

لأن المستخدم Jane ليس جزءًا من bi_users المجموعة ، عندما يحاولون الوصول إلى sales_bi المخطط، يحصلون على خطأ رفض الإذن.

يوضح الرسم البياني التالي هذا التكوين.

الوصول إلى محرر استعلام Amazon Redshift v2

أنت الآن جاهز للاتصال بمجموعة Amazon Redshift الخاصة بك باستخدام الإصدار الثاني من محرر استعلام Amazon Redshift باستخدام تسجيل الدخول الموحد. قم بتسجيل الدخول إلى حساب Okta الخاص بك باستخدام بيانات اعتماد المستخدم الخاصة بك وتحت تطبيقاتيأختر محرر استعلام Amazon Redshift V2.

ستتم إعادة توجيهك إلى عنوان URL v2 لمحرر استعلام Amazon Redshift الذي حددته كحالة الترحيل الافتراضية.

اتصل بقاعدة بيانات Amazon Redshift وقم بتشغيل الاستعلامات

لنقم الآن بإعداد الاتصال بمجموعة Amazon Redshift الخاصة بك.

  1. في محرر الاستعلام، اختر مجموعتك (انقر بزر الماوس الأيمن) ثم اختر إنشاء اتصال.
  2. في حالة قاعدة البيانات، إدخال اسم.
  3. في حالة التحقّق من المُستخدم ، حدد مستخدم متحد.
    تتم تعبئة اسم المستخدم مسبقًا بمعلومات تسجيل الدخول الموحدة الخاصة بك.
  4. اختار إنشاء اتصال.

عندما تكون متصلاً بقاعدة بيانات Amazon Redshift الخاصة بك، يمكنك التحقق من تفاصيل الاتصال، كما هو موضح في لقطة الشاشة التالية. لاحظ ارتباط المجموعة على مستوى الجلسة وفقًا لمهمة المجموعة في تكوين تطبيق Okta الخاص بك. في هذه الحالة، يتم تعيين المستخدم Jane إلى analyst_users المجموعة.

هذا المستخدم لديه حق الوصول إلى تحديد كافة الجداول في sales_analysis المخطط ولا يمكن الوصول إلى sales_bi مخطط. يمكنك تشغيل العبارات التالية لاختبار وصولك.

تعرض لقطة الشاشة التالية نتائج الاستعلام إلى sales_analysis.store_sales_us الجدول.

عندما المستخدم Jane يحاول الوصول إلى الجداول الموجودة في sales_bi المخطط، يحصلون على خطأ رفض الإذن.

نبذة عامة

في هذا المنشور، أوضحنا كيفية توحيد الوصول الموحّد (SSO) إلى الإصدار الثاني من محرر استعلام Amazon Redshift باستخدام Okta باعتباره IdP الخاص بك. لقد أظهرنا كيفية إعداد Okta، وضبطه بشكل مختلف PrinicpalTag سمات محرر الاستعلام الإصدار 2، وتمرير عضويات المجموعة المحددة في Okta IdP إلى مجموعة Amazon Redshift الخاصة بك. لقد أظهرنا كيفية تسجيل الدخول إلى الإصدار 2 من محرر استعلام Amazon Redshift باستخدام تسجيل الدخول الموحد والتحقق من صحة التكوين عن طريق تشغيل بعض الاستعلامات. يتيح لك هذا الحل التحكم في الوصول إلى كائنات قاعدة بيانات Amazon Redshift، ويمكن للمستخدمين الوصول بسهولة إلى مجموعات Amazon Redshift من خلال الإصدار 2 من محرر الاستعلام باستخدام بيانات الاعتماد الموحدة دون إدارة مستخدمي قاعدة البيانات وكلمات المرور.

إذا كان لديك أي ملاحظات أو أسئلة ، فيرجى تركها في التعليقات.


حول المؤلف

سوميت جوشي هو مهندس حلول متخصص في التحليلات مقره في نيويورك. إنه متخصص في بناء حلول تخزين البيانات على نطاق واسع. يتمتع بخبرة تزيد عن 16 عامًا في مجال تخزين البيانات والفضاء التحليلي.

بهانو بيتامبالي هو مهندس حلول متخصص في التحليلات مقره في دالاس. متخصص في بناء الحلول التحليلية. خلفيته في البيانات والتحليلات لأكثر من 14 عامًا. يمكن العثور على ملفه الشخصي على LinkedIn هنا.

إرول مورتيزا أوغلوهو مدير تقني للمنتجات في AWS ، وهو مفكر فضولي ومتحمس لديه دافع لتحسين الذات والتعلم. يتمتع بخلفية تقنية قوية ومثبتة في تطوير البرمجيات والهندسة المعمارية ، متوازنة مع الدافع لتقديم منتجات ناجحة تجاريًا. يقدّر Erol بشدة عملية فهم احتياجات العملاء ومشاكلهم ، من أجل تقديم حلول تتجاوز التوقعات.

يانيس تلوماتن هو مهندس تطوير برمجيات في AWS. يكمن شغفه في بناء برامج موثوقة وإنشاء أدوات للسماح للمهندسين الآخرين بالعمل بكفاءة أكبر. في السنوات الماضية ، عمل على الهوية والأمن وموثوقية خدمات Redshift

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟