Entra ID Free vs P1 vs P2: What You Actually Get at Each License Tier | Entra ID Free ولا P1 ولا P2: الفرق الحقيقي بين الباقات

Entra ID Free ولا P1 ولا P2: الفرق الحقيقي بين الباقات

دليل عملي لأي حد بيحاول يقنع الإدارة يدفع فلوس زيادة، أو بيحاول يفهم ليه الميزة اللي شافها في الدوكيومنتيشن مش شغالة عنده.





المقدمة


كل شوية بيجيلي سؤال من حد بيقولي "عملت Conditional Access policy بالظبط زي اللي في الفيديو بس مش لاقيها في التينانت بتاعي"، وبعد شوية بحث بيطلع إن التينانت شغال على Entra ID Free أو إن المستخدم نفسه مش معاه P1 أصلا. الموضوع ده بيسبب لخبطة كبيرة لأن Microsoft بتدي نفس الـ Portal تقريبا لكل الباقات، بس الميزات اللي بتظهر جوه بتختلف بشكل جوهري حسب الـ license اللي أنت أو المستخدم معاك. في البوست ده هوضحلك بالظبط إيه اللي بتاخده في كل tier، وإزاي تتأكد من الـ licensing الفعلي عندك بدل ما تعتمد على الحظ.

💡 المتطلبات:
  • صلاحية Global Reader أو Global Administrator عشان تشوف الـ licenses المفعلة في التينانت
  • وصول لـ Microsoft Entra admin center أو Microsoft Graph PowerShell SDK
  • فكرة مبدئية عن الفرق بين Assigned license للمستخدم والـ features المتاحة في التينانت

الفرق الأساسي بين الباقات التلاتة

قبل ما ندخل في التفاصيل، الجدول ده بيديك نظرة سريعة على أهم الفروق العملية اللي هتحس بيها يوميا كـ admin:

الميزة Free P1 P2
Conditional Access مش متاح (Security Defaults بس) متاح بالكامل متاح بالكامل
Identity Protection (Risk Policies) لا User Risk Policy جزئي عبر CA كامل مع Risk Detections التفصيلية
Privileged Identity Management (PIM) لا لا نعم، Just-In-Time access كامل
Access Reviews لا لا (متاحة في بعض bundles زي Enterprise Mobility) نعم
Self-Service Password Reset (Cloud) جزئي/محدود كامل مع Writeback كامل مع Writeback
Dynamic Groups لا نعم نعم
Entitlement Management لا لا نعم

⚠️ الجدول ده تقريبي وبيتغير من وقت لآخر حسب تحديثات Microsoft للـ licensing، دايما ارجع للـ Entra ID pricing page الرسمية قبل ما تاخد قرار شراء.

إيه اللي بتاخده في Free بالظبط

باقة Free مش يعني "مفيش حاجة"، هي بتدي أساسيات كتير كفاية لتينانت صغير أو Dev/Test environment:

  • User و Group management أساسي
  • Single Sign-On لأي عدد من التطبيقات (من غير حد أقصى)
  • Security Defaults كبديل مبسط جدا لـ Conditional Access (MFA إجباري على الكل، من غير أي تخصيص)
  • Self-service password change (مش reset كامل)
  • Basic reports في الـ Sign-in logs لمدة محدودة (عادة 7 أيام)

المشكلة الحقيقية في Free مش قلة الميزات بس، هي إن مفيش أي مرونة. Security Defaults مثلا بتفعل MFA على الكل من غير استثناءات، فلو عندك service account أو break-glass account محتاج يتصرف بطريقة مختلفة، مش هتقدر تعمل استثناء له من غير Conditional Access.

P1: الباقة اللي بتحل أغلب مشاكل الـ Enterprise اليومية

لو أنت شغال في بيئة فيها أكتر من فرع أو أكتر من نوع جهاز، P1 هي أقل tier لازم تفكر فيها بجد. أهم حاجة بتضيفها:

  • Conditional Access الكامل: تقدر تعمل policies حسب location، device compliance، application، risk level (بشكل بسيط)
  • Hybrid Identity كامل مع Password Hash Sync، Pass-through Authentication، و Seamless SSO
  • Dynamic Groups (rule-based membership)
  • Self-Service Password Reset مع Writeback للـ on-prem Active Directory
  • Application Proxy لنشر تطبيقات on-prem بشكل آمن

مثال عملي: عمل Conditional Access policy بسيطة عبر Graph

Connect-MgGraph -Scopes "Policy.ReadWrite.ConditionalAccess"

$params = @{
    displayName = "Require MFA for all users"
    state = "enabledForReportingButNotEnforced"
    conditions = @{
        users = @{
            includeUsers = @("All")
        }
        applications = @{
            includeApplications = @("All")
        }
    }
    grantControls = @{
        operator = "OR"
        builtInControls = @("mfa")
    }
}

New-MgIdentityConditionalAccessPolicy -BodyParameter $params

✅ دايما ابدأ الـ policy بـ Report-only قبل ما تفعلها فعليا، ده هيوفرلك مشاكل كتير مع مستخدمين هيتقفلوا فجأة.

P2: لما الأمان بيبقى استباقي مش رد فعل

P2 بتضيف كل حاجة موجودة في P1، زائد طبقة كاملة من الـ Identity Governance و الـ Risk-based protection:

  • Identity Protection كامل: Risk Detections تفصيلية (Sign-in risk و User risk) مع إمكانية عمل policies تلقائية بناء عليها
  • Privileged Identity Management (PIM): تفعيل الأدوار الإدارية بشكل Just-In-Time بدل ما تكون Standing access دايما
  • Access Reviews: مراجعة دورية لعضوية الجروبات والـ role assignments
  • Entitlement Management: Access Packages للـ self-service access requests مع Approval workflows

مثال: استعلام KQL لمتابعة Risky Sign-ins في Defender XDR / Sentinel

AADSignInEventsBeta
| where RiskLevelDuringSignIn == "high"
| summarize Count = count() by UserPrincipalName, AppDisplayName
| order by Count desc

⚠️ الاستعلام ده متاح فقط لو عندك بيانات Risk Detections جاية أصلا من Identity Protection، يعني بدون P2 الحقول دي هتيجي فاضية حتى لو الجدول موجود.

إزاي تتأكد من الـ Licensing الفعلي في التينانت بتاعك

بدل ما تفترض، شيك بنفسك عبر PowerShell:

Connect-MgGraph -Scopes "Organization.Read.All","User.Read.All"

# عرض الباقات المفعلة في التينانت
Get-MgSubscribedSku | Select-Object SkuPartNumber, ConsumedUnits, PrepaidUnits

# التأكد من الـ license المخصص لمستخدم معين
Get-MgUserLicenseDetail -UserId "user@domain.com" | Select-Object SkuPartNumber

لو شفت SkuPartNumber زي AAD_PREMIUM يبقى ده P1، و AAD_PREMIUM_P2 يبقى P2. لو مفيش أي واحد منهم على المستخدم يبقى هو شغال على Free features بس حتى لو باقي الشركة عندها P1 أو P2.

مشاكل شائعة وحلولها

المشكلة الحل
عملت Conditional Access policy بس مش لاقيها في الـ Portal تأكد إن التينانت فيه على الأقل P1 مفعل، Free بيدي Security Defaults بس مش CA الكامل
Security Defaults شغالة وعايز أعمل استثناء لـ service account لازم تقفل Security Defaults وتنتقل لـ Conditional Access، وده محتاج P1 على الأقل
PIM مش ظاهر في القائمة رغم إن عندي Global Admin PIM مربوط بالـ license مش بالدور، لازم P2 مخصص للمستخدم نفسه
Risk Detections فاضية في Identity Protection من غير P2 بتشوف بعض الـ risk signals الأساسية بس، مش الـ detections التفصيلية
حد من الفريق معاه P2 وحد تاني في نفس التينانت مفيش عنده حاجة الـ licensing في Entra ID per-user، مش per-tenant، لازم تخصص الـ license لكل مستخدم محتاج الميزة

نصائح الأمان 🔐

  • خصص P2 للحسابات الإدارية (Global Admin، Privileged Roles) أولا قبل ما توزعها عشوائي على كل الشركة
  • استخدم Group-based licensing بدل التخصيص اليدوي، بيقلل الأخطاء وبيسهل الـ audit
  • حتى لو معاك Free بس، فعل Security Defaults فورا، أحسن بكتير من مفيش MFA خالص
  • لو هتحول من Security Defaults لـ Conditional Access، اعمل الـ policies الجديدة في Report-only أول حاجة عشان متقفلش على نفسك
  • راجع الـ license assignment كل فترة عبر Access Reviews (لو معاك P2) عشان تتجنب دفع فلوس على licenses مش مستخدمة

الخلاصة

الفرق بين Free و P1 و P2 مش مجرد سعر، هو فرق جوهري في قدرتك تتحكم في الأمان والـ governance بتاع التينانت. القرار الصح مش "خد أعلى باقة على طول"، لكن افهم احتياجك الفعلي وقارنه بالجدول اللي فوق.

  1. Free مناسبة لـ SSO وأساسيات، لكن من غير أي مرونة في السياسات
  2. P1 هي الحد الأدنى لأي بيئة عندها Conditional Access حقيقي أو Hybrid Identity
  3. P2 ضرورية لو محتاج PIM، Risk-based Conditional Access، أو Access Reviews
  4. دايما تحقق من الـ license الفعلي بـ Get-MgUserLicenseDetail بدل ما تفترض

إيه الـ tier اللي شغالين بيه دلوقتي، وإيه أكتر ميزة حسيتوا إنها ناقصاكم بعد الترقية؟ شاركونا تجربتكم في الكومنتات.

Comments

Popular posts from this blog

Conditional Access Design Mistakes That Lock Admins Out of Microsoft Entra ID | لما الـ Conditional Access يقفل عليك الباب وأنت جوه Tenant

App Registrations vs Enterprise Applications in Entra ID: Permissions and Consent Explained | App Registration و Enterprise Application: مين بيعمل إيه في الـ Permissions والـ Consent؟