ترجمة مجانية لمقال Jeff Wierer "
تمكين الاتحاد لـ AWS باستخدام Windows Active Directory و ADFS و SAML 2.0 " مع الإضافات والتوضيحات.
1. مصدر البيانات
2. التحضير
3. م التكوين
4. تثبيت ADFS
5. تكوين ADFS
6. تكوين AWS
7. اختبار
8. الأخطاء المعروفة وحلولها
1. مصدر البياناتأثار م ويندوز 2016
استخدم المؤلف EC2 من Windows 2008R2 على Amazon ، لدي جهاز افتراضي في شبكة Windows 2016 المحلية مع إمكانية الوصول إلى الإنترنت.
حساب AWS (الذي سيدفع مقابل كل شيء)
ذراع مستقيم
الغرض: تمكين مستخدم AD من تسجيل الدخول إلى AWS باستخدام الحقوق المحددة (للحصول على دور) اعتمادًا على مجموعة AD.
القيادة:

1. يفتح المستخدم (سيكون بوب) الصفحة (https://ADFS.domain.name/adfs/ls/IdpInitiatedSignOn.aspx)
2. Bob مخول (تطلب ADFS الحقول المطلوبة في م)
3. يتلقى متصفح بوب البيانات اللازمة بتنسيق SAML من ADFS
4. يرسل المتصفح البيانات المستلمة إلى خدمة ترخيص SAML (https://signin.aws.amazon.com/saml)
5. متصفح بوب يحصل على عنوان URL لتسجيل الدخول لوحدة تحكم AWS
2. التحضير2.1. لقد قمت بالفعل برفع م وبدأت مستخدمين في مجموعات مختلفة.
2.2. أثار معهد
الدراسات الإسماعيلية (
كيفية رفع دور معهد الدراسات الإسماعيلية )
2.3. توليد شهادة SSL موقعة ذاتيا. (
كيفية إنشاء شهادة SSL موقعة ذاتياً ) قم بتثبيتها فورًا للموقع الافتراضي.
3. م التكوين3.1. تحتاج إلى إنشاء مجموعتين AWS-Production و AWS-Billing
3.2. قم بإنشاء مستخدم Bob (انتباه!) يجب على المستخدم ملء حقل البريد الإلكتروني: bob@youdomain.com ، وإلا ستتلقى خطأ عند إدخال وحدة التحكم في AWS)
3.3. أضف Bob إلى AWS-Production و AWS-Billing Groups
3.4. قم بإنشاء مستخدم ADFSSVC آخر. حساب خدمة خاص للاتصال م.
4. تثبيت ADFSهناك عدة إصدارات من ADFS
- ADFS 1.0 - Windows Server 2003 R2 (تنزيل إضافي)
- ADFS 1.1 - Windows Server 2008 و Windows Server 2008 R2
- ADFS 2.0 - Windows Server 2008 و Windows Server 2008 R2 (تنزيل من Microsoft.com)
- ADFS 2.1 - Windows Server 2012
- ADFS 3.0 - Windows Server 2012 R2 [5]
- ADFS 4.0 - Windows Server 2016 - خيارنا
- ADFS 5.0 - خادم ويندوز 2019
يقوم المؤلف بتنزيل ADFS v2 وتثبيته.
سنرفع دور ADFS
ليست هناك صعوبة ، فهناك ثلاث لقطات شاشة تساعدك على النقر فوق الزر التالي>
لقطات


لدي بالفعل تثبيته لذلك يبدو مختلفا بعض الشيء.
التالي ، التالي ، تثبيت ...
5. تكوين ADFSيتيح لك هذا الرابط الاتصال بمكون ADFS



الاتصال م مع المستخدم الحالي.

نحن هنا بحاجة إلى الشهادة التي أنشأناها في IIS (القسم 2.3) واسم ADFS في المستقبل (adfs.you-domain.com) ، خط العرض هو اسم شركتك

نختار حساب الخدمة
ADFSSVC الذي
أنشأناه في
القسم 3.4

إنشاء قاعدة بيانات جديدة

جارٍ التحقق ...

التحقق من التثبيت المسبق ... انقر فوق "تكوين"

القيام به.
تبدأ وحدة التحكم بالبحث عن "إدارة AD" في مصطلح بحث windows.


بعد ذلك ، انتقل إلى
علاقات الثقة واختر
Relying Party Trustsالزر الأيمن ->
إضافة Relying Party Trust
اختيار
المطالبات علم
حدد "استيراد البيانات التي نشرها الطرف المعتمد على الإنترنت ..." وأدخل السطر
https://signin.aws.amazon.com/static/saml-metadata.xml
، وهو نفسه للجميع ويتم توفيره بواسطة AWS.

ارفع اسم "
AWS GO " وفقًا لتقديرك أو اتركه كما هو.

نختار "السماح لكل مستخدم ..." بالوصول للجميع.

إعادة فحص وتم.

انقر بزر الماوس الأيمن على المرحلات الخاصة بنا واختر "تحرير سياسة إصدار المطالبة"

نبدأ في إضافة قواعدنا:
5.1 الحصول على اسم مستخدم. قالب:
تحويل مطالبة واردة ، ثم املأ الحقول:
أ. اسم قاعدة المطالبة:
NameIdب. نوع المطالبة الواردة:
اسم حساب Windowsج. نوع المطالبة الصادر:
معرف الاسمد. تنسيق معرف الاسم الصادر:
معرف ثابته. تمر من خلال جميع القيم المطالبة:
فحص
القيام به.
5.2 الحصول على قائمة الأدوار للمستخدم. قالب:
إرسال سمات LDAP كمطالبات ،

الملعب:
أ. اسم قاعدة المطالبة:
RoleSessionNameب. متجر السمة:
الدليل النشطج. سمة LDAP:
عناوين البريد الإلكترونيد. نوع المطالبة الصادرة:
https://aws.amazon.com/SAML/Attributes/RoleSessionName

حرر
5.3 ملاحظة مهمة: في هذه القاعدة ، سيتم استخراج جميع الأدوار للمستخدم وتعيينها لأدوار مماثلة في IAM (أي الأدوار التي تبدأ بـ AWS -...). هذه القاعدة تسترجع جميع العضويات م. قالب:
إرسال مطالبات باستخدام قاعدة مخصصة
، الحقل
أ. اسم قاعدة المطالبة:
الحصول على مجموعات إعلانيةب. دور مخصص:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);

لإضافة القاعدة التالية ، ستحتاج إلى العودة بعد الخطوة 6 (أو يمكنك إضافتها وتغيير المعرّف لاحقًا)
5.4 أضف قاعدة أخرى مثل 5.3 سيكون مثل هذا:
أ. اسم قاعدة المطالبة:
Rolessب. دور مخصص:
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));

تحتاج هنا إلى تغيير القيمة 123456789012 إلى قيمتها الخاصة بك من IAM AWS

سيتم توضيح ذلك في الفقرة 6.
6. تكوين AWSجميع الإجراءات تجري في وحدة AWS :)
6.1 إنشاء مزود SAML
أ.
IAM -> موفري الهوية -> إنشاء موفر
نوع المزود - SAML
اسم المزود -
ADFSمستند البيانات الوصفية - يجب أخذ هذه المجموعة (تنزيلها) على خادم FS على
https: ///FederationMetadata/2007-06/FederationMetadata.xmlإذا كان الملف غير متاح ، راجع النقطة 8 - الأخطاء المعروفة وحلولها

ب. إنشاء دورين لمستخدمينا.
أدوار IAM الأدوار -> إنشاء دور

قم برسم السياسات اللازمة (على سبيل المثال ، الفواتير (السياسة الافتراضية) للمستخدمين الذين سيراقبون الأموال ، أو يمكنك إنشاء السياسة الخاصة بك مسبقًا وتعيينها هنا)

تعيين العلامات إذا لزم الأمر ...

إعطاء اسم: يجب أن يتطابق الاسم بعد "-" مع الاسم في م بعد "-" ASFS-
الفوترة = AWS-
الفوترة في هذه الحالة سيكون المستخدم الخاص بك في المجموعة الصحيحة.
وانقر فوق إنشاء دور
7. اختبار7.1 في المتصفح المفضل لديك ، انتقل إلى صفحة الخادم الخاصة بك
https://localhost/adfs/ls/IdpInitiatedSignOn.aspx
(يلزم تأكيد شهادة موقعة ذاتيًا)
سيتم فتح صفحة ذات محتوى مماثل.

أدخل بيانات مستخدمنا م

ويتم إعادة توجيهنا إلى صفحة AWS مع اقتراح بالدور الذي سيعمل بموجبه المستخدم في AWS

وذلك لأن Bob لدينا هو في مجموعتين م في نفس الوقت (AWS- الإنتاج و AWS الفواتير).
نختار AWS-billing ونرى الإعدادات اللازمة (يمكننا النظر في الميزانية وتعديلها ولكن ليس من حقنا إنشاء EC2 وفقًا للأدوار التي حددناها لها)
8. الأخطاء المعروفة وحلولها8.1 البوابة لا تستجيب أو لا تستطيع العثور على الصفحات اللازمة. على سبيل المثال:
https://localhost/adfs/ls/IdpInitiatedSignOn.aspx
الحل: على خادم ADFS ، يجب تشغيل الأمر PowerShell
Set-AdfsProperties -EnableIdPInitiatedSignonPage $true
يمكنك وضع الشعار على صفحة الترحيب على الفور
Set-AdfsWebTheme -TargetName default -Illustration @{path="C:\path\adfslogo.jpg"}
8.2 عند إعادة التوجيه إلى وحدة التحكم AWS ، تحصل على خطأ في النموذج:
RoleSessionName is required in AuthnResponse (Service: AWSSecurityTokenService; Status Code: 400; Error Code: InvalidIdentityToken; Request ID: e4ddf8cd-d7b7-11e9-8729-09c90d2561b0). Please try again
الحل: على الأرجح أن المستخدم ليس لديه حقل بريد إلكتروني في م
الحل 2: ربما يكون هناك خطأ في كتابة المجموعة في م ودورها في AWS