ادغام Keycloak به عنوان ارائهدهنده هویت من برای IAM Identity Centre: بخش دوم، پیکربندی Keycloak به عنوان ارائهدهنده هویت من
این پست بعدی یکپارچهسازی Keycloak بهعنوان ارائهدهنده هویت من برای مرکز هویت IAM است: بخش اول، استقرار Keycloak در AWS، جایی که من به نحوه استقرار Keycloak در AWS نگاه کردم تا از یک Identity Provider در هنگام پیکربندی مرکز هویت AWS استفاده کنیم. . در این پست، من میخواهم از این تنظیمات استفاده کنم و به شما نشان دهم که چگونه آن را برای ادغام با AWS Identity Center برای دسترسی به منابع AWS خود پیکربندی کردم.
AWS Identity Center نام جدید AWS Single Sign On است
در این راهنما یک کاربر آزمایشی (“developer@bigdev.com”) دارم که در Keycloak پیکربندی کرده ام. معمولاً این ممکن است هر کاربری باشد که Keycloak مدیریت میکند (از طیف گستردهای از فروشگاههای هویت فدرال پشتیبانی میکند) اما من آن را برای این کار ساده میکنم. من می خواهم بتوانم از این حساب کاربری برای ورود به حساب AWS خود استفاده کنم.
بیایید ببینیم چگونه این کار را انجام می دهیم.
پیش نیازها
برای اینکه این پست مفید باشد، به یک سرور Keycloak نیاز دارید. اگر این را ندارید، میتوانید پست قبلی من را امتحان کنید. جدا از یک سرور Keycloak در حال اجرا، شما نیاز دارید:
- دسترسی ادمین به حساب AWS شما که میخواهید Keycloak را به عنوان Idp خود ادغام کنید
- من یک کاربر و گروه آزمایشی را در AWS IAM Identity Center راهاندازی کردهام که به کاربر خارجی در Keycloak نقشه میدهد.
کاربران و گروه ها در مرکز هویت AWS IAM در محدوده این پست نیست، اما در مرکز هویت AWS IAM میتوانید گروهها و مجموعههای مجوزها را تعریف کنید و سپس آنها را به کاربران ایجاد شده اختصاص دهید. وقتی یک Idp را با مرکز هویت AWS IAM ادغام میکنید، این نقطه کنترل شماست تا اطمینان حاصل کنید که این کاربران فدرال چه مجوزهایی برای انجام دارند را تعریف و کنترل میکنید.
در این راهنما ساده ترین راه اندازی را ایجاد کردم. گروهی به نام “Dev-Users” که دارای زیرمجموعه ای از مجوزهای AWS هستند (در مورد من، PowerUsers که می توانند کارهای زیادی انجام دهند، اما نه همه چیز) و کاربری به نام “developer@bigdev.com” را که من در محیط Keycloak خود ایجاد کرده ام اختصاص داده اند. . من می توانم به عنوان “developer@bigdev.com” وارد Keycloak شوم، اما این حساب در حال حاضر نمی تواند به حساب AWS من وارد شود.
شروع کار در مرکز هویت AWS IAM
از IAM Identity Centre، روی STEP 1: Choose your Identity Source کلیک می کنم.
از اولین گزینه ای که میاد، External Identity Provider را انتخاب می کنم
سپس فایل فراداده را در بخش فراداده ارائه دهنده خدمات دانلود می کنم. در بخش بعدی به این نیاز خواهم داشت.
جابجایی به Keycloak Administrator
من اکنون به Keycloak سوئیچ میکنم و بهعنوان کاربر ادمین وارد میشوم.
از گزینه منوی Clients در سمت چپ روی IMPORT CLIENT کلیک می کنم. از صفحه ای که ظاهر می شود، از دکمه BROWSE برای انتخاب فایل فراداده ای که از قسمت فراداده ارائه دهنده خدمات AWS دانلود می کنم، استفاده می کنم.
این باید فیلد CLIENT-ID را محبوب کند. روی SAVE کلیک کنید که اکنون مجموعه جامع تری از تنظیمات پیکربندی را ارائه می دهد که می توانید تغییر دهید.
چند گزینه وجود دارد که باید اضافه کنیم:
- نام – من این را روی “amazon-aws” تنظیم کردم
- URL ریشه – از آنجایی که من از یک نصب جدید و وانیلی Keycloak استفاده می کنم، از Realm پیش فرض استفاده کردم. این بدان معنی است که من باید این گزینه را روی “https://keycloak.ricsue.dev/auth/realms/master/protocol/saml/clients/amazon-aws” تنظیم کنم – اگر قلمرو خود را تغییر دادید، سپس “master” را به روز کنید. به هر چه قلمرو شما نامیده می شود.
- نام URL SSO آغاز شده توسط IDP – روی “amazon-aws” تنظیم شده است
توجه داشته باشید! تنظیماتی که من استفاده کردهام فقط برای هدف این پست وبلاگ توضیحی است و نشان میدهد که باید این کار را اجرا کنید. شما باید در تنظیم این گزینه ها کاملاً مراقب باشید و معنی آنها را درک کنید تا مطمئن شوید آنچه به دست می آورید همان چیزی است که انتظار دارید.
از منوی اصلی Keycloak به تنظیمات REALM بروید و در زیر برگه GENERAL، کلیک راست کرده و اطلاعات SAML2.0 IDENTITY PROVIDER METADATA را ذخیره کنید. من این را به عنوان “provider-idp-metadata.xml” ذخیره کردم.
بازگشت به مرکز هویت AWS IAM
به مرکز هویت AWS IAM بازگردیم، هنوز در صفحه “پیکربندی ارائه دهنده هویت خارجی” ما اکنون می توانیم از دکمه “Idp SAML Metadata” برای آپلود فایلی که به تازگی دانلود کرده ایم (“provider-idp-metadata.xml”) استفاده کنیم. پس از اتمام می توانید بر روی NEXT کلیک کنید.
اکنون از شما خواسته می شود که تغییرات را با تایپ کردن در کادر تأیید بررسی و تأیید کنید. مرور کنید و در صورت رضایت، ACCEPT را تایپ کنید و سپس روی دکمه “تغییر منبع هویت” کلیک کنید.
AWS IAM Identity Center اکنون تأیید می کند که فایل فراداده ارائه شده شما معتبر است و پیکربندی را در چند ثانیه تکمیل می کند. در صورت موفقیت آمیز بودن، به کنسول AWS IAM Identity Center بازگردانده می شوید.
تست تنظیمات
از داشبورد مرکز هویت AWS IAM، میتوانم URL پورتال دسترسی AWS خود را ببینم که پیوندی است که شما به اشتراک میگذارید تا کاربران فدرال خود را قادر به ورود به سیستم کنید.
وقتی روی این کلیک می کنم، به صفحه ورود به سیستم Keycloak هدایت می شوم. پس از وارد کردن اطلاعات کاربری برای کاربر آزمایشی خود (“developer@bigdev.com”) به صفحه AWS هدایت می شوم که به من امکان می دهد منابع مختلفی را که به من اختصاص داده شده مشاهده و دسترسی داشته باشم. در این مورد این فقط یک حساب AWS است.
من میتوانم از طریق کنسول یا از طریق cli به حساب AWS خود دسترسی داشته باشم و برای انجام این کار، نشانههای دسترسی موقت در اختیار من قرار میگیرد. به این کاربر آزمایشی مجموعه مجوزهای PowerUserAccess اختصاص داده شده است (که دسترسی زیادی را فراهم می کند، اما IAM را مسدود می کند. وقتی کنسول IAM را امتحان می کنم و مشاهده می کنم، می بینیم که امتیازاتی که به این کاربر اختصاص داده شده با مجوزهای PowerUserAccess مطابقت دارد.
نتیجه
در این دو پست وبلاگ به شما نشان دادم که چگونه می توانید Keycloak را در AWS مستقر کنید و سپس آن را با مرکز هویت AWS ادغام کنید تا SSO برای حساب های AWS خود ارائه دهید.
یکی از پیشرفتهای این راهاندازی، خودکار کردن ارائه کاربران در مرکز هویت AWS IAM از Keycloak است. این معمولاً با استفاده از سیستم مدیریت هویت متقابل دامنه (SCIM) که مرکز هویت IAM از آن پشتیبانی می کند، به دست می آید. اگر این مورد مورد علاقه شما است به من اطلاع دهید و من آن را به عنوان پست سوم برای تکمیل مجموعه اضافه خواهم کرد.
اگر این پست وبلاگ را مفید یافتید، لطفاً با تکمیل این نظرسنجی بسیار کوتاه در اینجا، بازخوردی به من بدهید.