(Azure Role-Based Access Control (RBAC (הקדמה)

שלום לכולם,

במאמר היום אני הולך לדבר איתכם על Azure RBAC, מה זה RBAC ומדוע זאת אפשרות מאוד חשובה מבחינת ניהול ואבטחה בעבודה עם Azure.

מה זה Azure RBAC

פתרון Azure Role-Based Access Control או בשמו הקצר Azure RBAC מאפשר לנו לתת הרשאות באופן פרטני לאובייקטים מסוימים ובכך להגביל את הגישה של המשתמשים לפי הצרכים והדרישות שלהם. הגבלת ההרשאות לסביבת Azure תמנע חשיפת יתר ותפחית את פגיעות הסביבה מתוקפים.
בעבר בפורטל “הישן” (Azure Classic Portal) לא היינו יכולים להגביל את ההרשאות ובמידה והיינו צריכים לתת הרשאות לניהול החשבון היינו חייבים לתת Co-Administrator על החשבון כלומר הרשאות מלאות על החשבון ואפשרות לבצע כל פעולה אפשרית על החשבון בלי הגבלה, דבר שכמובן  מאוד בעייתי מבחינת אבטחה.
שימוש ב-RBAC מאפשר לך לבצע “הפרדת תפקידים” בתוך הצוות ולהעניק גישה למשתמשים לפי אופן וצרכי העבודה. לדוגמה: לתת לצוות מסוים גישה רק ל-Virtual Machines, לצוות אחר שאחראי על התקשורת גישה למשאבי הרשת ולאנשי ה-DBA גישה לשירותי Azure SQL Database וכך אנחנו מעניקים רק את ההרשאות הרלוונטיות למשתמשים הרלוונטים.

השירות נתמך היום רק ב-Azure Portal (הפורטל “החדש”) וב-Azure Resource Manager APIs ולכן משתמשים שקיבלו הרשאות בעזרת RBAC אינם יכולים לגשת ולנהל שירותים ב-Azure Classic Portal (הפורטל הישן).

תרשים כללי של הפתרון

rbac_aad

יש שתי דרכים להגבלת הגישה למשתמשים בפורטל Azure

  • Scope – ניתן להשתמש ולאכוף הרשאות על Subscription ספציפי, Resource Group ספציפי או Resource ספציפי.
  • Role – הגדרת “התפקיד” ומתן הרשאות בהתאם ל-Roles הקיימים כמו Owner, Reader, SQL DB Contributor וכו’.

להלן טבלת Roles מובנות כיום בפורטל Azure:

Role Name Description
API Management Service Contributor Can manage API Management services
Application Insights Component Contributor Can manage Application Insights components
Automation Operator Able to start, stop, suspend, and resume jobs
BizTalk Contributor Can manage BizTalk services
ClearDB MySQL DB Contributor Can manage ClearDB MySQL databases
Contributor Can manage everything except access.
Data Factory Contributor Can create and manage data factories, and child resources within them.
DevTest Labs User Can view everything and connect, start, restart, and shutdown virtual machines
DNS Zone Contributor Can manage DNS zones and records
DocumentDB Account Contributor Can manage DocumentDB accounts
Intelligent Systems Account Contributor Can manage Intelligent Systems accounts
Network Contributor Can manage all network resources
New Relic APM Account Contributor Can manage New Relic Application Performance Management accounts and applications
Owner Can manage everything, including access
Reader Can view everything, but can’t make changes
Redis Cache Contributor Can manage Redis caches
Scheduler Job Collections Contributor Can manage scheduler job collections
Search Service Contributor Can manage search services
Security Manager Can manage security components, security policies, and virtual machines
SQL DB Contributor Can manage SQL databases, but not their security-related policies
SQL Security Manager Can manage the security-related policies of SQL servers and databases
SQL Server Contributor Can manage SQL servers and databases, but not their security-related policies
Classic Storage Account Contributor Can manage classic storage accounts
Storage Account Contributor Can manage storage accounts
User Access Administrator Can manage user access to Azure resources
Classic Virtual Machine Contributor Can manage classic virtual machines, but not the virtual network or storage account to which they are connected
Virtual Machine Contributor Can manage virtual machines, but not the virtual network or storage account to which they are connected
Classic Network Contributor Can manage classic virtual networks and reserved IPs
Web Plan Contributor Can manage web plans
Website Contributor Can manage websites, but not the web plans to which they are connected

במאמר הבא אני אסביר לכם איך ליצור Role “תפקיד” מותאם אישית לפי הצרכים והדרישות שלנו בעזרת Azure PowerShell.

נפגש Smile

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*