שלום לכולם,
במאמר היום אני הולך לדבר איתכם על 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 (הפורטל הישן).
תרשים כללי של הפתרון
יש שתי דרכים להגבלת הגישה למשתמשים בפורטל 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.
נפגש
Leave a Reply