نحوه غیرفعال کردن کاربران دارای امتیاز Azure AD با برنامه های Azure Logic و Microsoft Graph API
اگر از Logic Apps برای غیرفعال کردن کاربران در Azure AD با رابط Azure AD استفاده می کنید و با 403 ممنوع خطا، ممکن است به این دلیل باشد که کاربر بخشی از یک گروه قابل تخصیص نقش است. اعضای این گروه ها محسوب می شوند بسیار ممتاز.
در نتیجه، برنامه Logic شما فاقد مجوزهای لازم برای غیرفعال کردن این کاربران از طریق رابط Azure AD است – حتی اگر حساب Azure AD شما دارای نقش RBAC مانند مدیر احراز هویت ممتاز یا مدیر جهانی.
متأسفانه، ما نمی توانیم مجوزهای Graph را مستقیماً به برنامه منطقی اضافه کنیم. اما نگران نباشید، با چند ترفند ذهن جدی، می توانید از آن دور شوید! 🧙
پیکربندی برنامه
ابتدا یک برنامه جدید ثبت کنید و مجوزهای دسترسی و تعامل با Azure AD را از طریق Graph API تعریف کنید. در اینجا نحوه انجام آن آمده است:
- در پورتال، به ثبت نام برنامه > ثبت نام جدید.
- نامی به یاد ماندنی برای آن بگذارید و انتخاب کنید ثبت نام.
- توجه داشته باشید که شناسه برنامه (مشتری). برای استفاده بعدی
هنگامی که برنامه ثبت شد، یک رمز مشتری جدید و مجوزهای API مورد نیاز را به شرح زیر اضافه کنید:
افزودن راز مشتری
- اپلیکیشن خود را انتخاب کنید.
- هدایت به گواهینامه ها و اسرار > اسرار مشتری > راز مشتری جدید > اضافه کردن.
- توجه داشته باشید که ارزش مخفی برای استفاده بعدی
پیکربندی مجوزها
در مرحله بعد، مجوزها را برای برنامه پیکربندی کنید. این مجوزها و سایر مجوزها را در مستندات Graph اینجا مرور کنید.
- هدایت به مجوزهای API > یک مجوز اضافه کنید.
- انتخاب کنید مایکروسافت گراف > مجوزهای برنامه و مجوزهای زیر را اضافه کنید:
- Directory.ReadWrite.All
- Group.ReadWrite.All
- User.EnableDisableAccount.All
- User.ReadWrite.All
- انتخاب کنید اعطای رضایت سرپرست برای فهرست پیشفرض و تایید کنید
برنامه شما اکنون پیکربندی شده است. برای افزایش امنیت، اجازه دهید راز مشتری را به Key Vault اضافه کنیم.
پیکربندی Azure Key Vault
Key Vault یک راه حل مدیریت کلید Azure است که ذخیره و مدیریت ایمن کلیدها، گواهی ها و اسرار را فراهم می کند. در اینجا نحوه ایجاد یک Key Vault آورده شده است:
- در پورتال، به خزانه های کلید > ايجاد كردن.
- خود را انتخاب کنید گروه منابع.
- نامی به یاد ماندنی برای آن بگذارید و منطقه خود را انتخاب کنید.
- استاندارد سطح قیمت گذاری باید کافی باشد.
- هدایت به خط مشی دسترسی و مدل مجوز را تنظیم کنید کنترل دسترسی مبتنی بر نقش Azure.
- صندوق کلید را ایجاد کنید.
اکنون که Key Vault ایجاد شده است، رمز سرویس گیرنده برنامه را به صورت زیر اضافه کنید:
- به خودتان مجوز به Key Vault اختصاص دهید (مثلاً، Key Vault Administrator)، همه نقش های موجود را اینجا ببینید.
- به صندوق کلید خود بروید.
- هدایت به اسرار > تولید/وارد کردن.
- اسمی به یاد ماندنی بگذار
- خود را بچسبانید ارزش مخفی مشتری از قبل
- انتخاب کنید ايجاد كردن.
اکنون که راز مشتری شما ایمن شده است، برنامه منطقی خود را ایجاد کنید و همه قطعات را کنار هم قرار دهید!
پیکربندی برنامه منطقی
یک منبع جدید Logic App ایجاد کنید. در اینجا به این صورت است:
- خود را انتخاب کنید گروه منابع.
- انتخاب کنید ايجاد كردن، جستجو کنید برنامه منطق، و انتخاب کنید ايجاد كردن.
- مورد دلخواه خود را انتخاب کنید اشتراک، ابونمان، گروه منابع، و منطقه.
- اسمی به یاد ماندنی بگذار
- انتخاب کنید بررسی + ایجاد > ايجاد كردن.
- به برنامه جدید منطق خود بروید.
- انتخاب کنید هویت > فعال کردن هویت مدیریت شده به سیستم اختصاص داده شده است.
- انتخاب کنید تکالیف نقش لاجوردی > تخصیص نقش را اضافه کنید
- محدوده: خزانه کلید
- اشتراک: اشتراک خود را انتخاب کنید
- منبع: Key Vault را که قبلا ایجاد کردیم انتخاب کنید
- نقش: استفاده خواهم کرد کاربر اسرار Key Vaults، اما شما می توانید هر نقش کافی را در اینجا انتخاب کنید.
پیکربندی گردش کار
- به برنامه جدید منطق خود بروید.
- انتخاب کنید طراح اپلیکیشن منطقی، می توانید با a شروع کنید قالب یا انتخاب کنید برنامه منطق خالی.
- Azure Key Vault را اضافه کنید راز بگیر عمل
- به اتصال خود نامی به یاد ماندنی بدهید
- نوع احراز هویت: هویت مدیریت شده
- Vault Name: نام منبع Key Vault خود را وارد کنید
پس از تأیید اعتبار اتصال API، نام راز خود را انتخاب کنید.
یک اقدام HTTP اضافه کنید و به این صورت پیکربندی کنید:
- روش: POST
- URI (حتماً بریس ها را بردارید و مقادیر خود را پر کنید):
- سرصفحه ها:
- نوع محتوا: برنامه کاربردی/x-www-form-urlencoded
- بدنه (مطمئن شوید که بریس ها را بردارید و با مقادیر خود پر کنید):
client_id={INSERT-YOUR-APPLICATION-CLIENT-ID}&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default&client_secret={INSERT-YOUR-APPLICATION-SECRET-VALUE}&grant_type=client_credentials
این اولین درخواست HTTP برای دریافت رمز احراز هویت ما خواهد بود. اسناد مربوط به این فرآیند را می توان در اینجا یافت.
اکنون باید پاسخ JSON را تجزیه کنیم تا بتوانیم از توکن در فراخوانی خود به Graph استفاده کنیم.
یک اکشن تجزیه و تحلیل JSON اضافه کنید و به این صورت پیکربندی کنید:
– محتوا: بدنه (از عملکرد قبلی HTTP)
– طرحواره:
{
"properties": {
"access_token": {
"type": "string"
},
"expires_in": {
"type": "integer"
},
"ext_expires_in": {
"type": "integer"
},
"token_type": {
"type": "string"
}
},
"type": "object"
}
اکنون بخشی که منتظر آن بودید – غیرفعال کردن کاربر!
-
یک اقدام HTTP دیگر اضافه کنید و به این صورت پیکربندی کنید:
- روش: پچ
- URI (حتماً بریس ها را بردارید):
- سرصفحه ها:
- نوع محتوا: application/json; charset=utf-8
- بدن:
{ "accountEnabled": "false" }
- انتخاب کنید افزودن پارامتر جدید > احراز هویت
- نوع احراز هویت: خام
- مقدار: access_token (از اقدام Parse JSON)
- گردش کار خود را ذخیره کنید و Trigger را اجرا کنید برای تست کردن
- بررسی کنید که حساب غیرفعال شده است.
از اینکه وقت گذاشتید و پست وبلاگ من را خواندید بسیار سپاسگزارم. امیدوارم آموزنده و مفید بوده باشید. اگر سؤال یا بازخوردی دارید، لطفاً در تماس با ما دریغ نکنید.