מימוש תפקידי אפליקציה

Implementing Application Roles

Eric Charran
mailto:echarran@swynk.com

 

מבוא

SQL Server תומך במספר תכונות (features) המאפשרות לקצר את זמן הפיתוח של מסד הנתונים והאפליקציה. תפקידי אפליקציות (application roles)  הם אובייקטי מסד נתונים של SQL Server המאפשרים למפתחים ולמנהלי מסדי נתונים להקצות הרשאות של SQL Server לאפליקציות במקום לפרטיים. במקום מצב שבו הענקה, עדכון והסרה של הרשאות עבור משתמשים, ניהול האבטחה של משתמש היא פשוטה יותר באמצעות היכולת להעניק הרשאות וזכויות לאפליקצית מסד נתונים. 


החשיבות של תפקידי אפליקציות

ארגונים עסקיים זקוקים לעיתים  למגוון רחב של אפליקציות הן בפונקציונליות והן במטרה על מנת לתמוך בפעילויות יומיומיות של הארגון. באופן דומה, ארגונים רבים זקוקים לקבוצה קטנה או לאפליקציה יחידה המבוססת בארכיטקטורה הדורשת התפתחות בהתאם לגדילת הארגון. במקרים רבים מסוג זה, ישנן מספר דרישות פונקציונליות עליהן האפליקציה צריכה לענות. כפועל יוצא מכך, יש לאפשר תחזוקה נאותה של דרישות האבטחה במסד הנתונים, בזמן שמעניקים לאפליקציה את היכולת למחוק, להוסיף ולשנות עצמים במסד הנתונים. במקרים רבים הנהלת הארגון רוצה למנוע גישה ישירה לטבלאות ולעצמים במסד הנתונים מהמשתמשים. בו זמנית, ייתכן ואותם המשתמשים  יצטרכו לבצע פעולות שונות באובייקטים אלו דרך אפליקציה.


הדרישה של ארגון לשלול ממשתמשים גישה ישירה לנתונים דרך תוכניות כמו מנתח השאילתות של SQL server או Excel בזמן שמאפשרים לאותם משתמשים לגשת לנתוני SQL server דרך אפליקציה רצויה יכולה בצורה פשוטה וגמישה להתמלא באמצעות מימוש תפקידי אפליקציות. תפקידי אפליקציות מאפשרים להגדיר דרישות אבטחה ידועות מראש ולפעול בהתאם בזמן שהמשתמש מפעיל אפליקציה והתקשרות עם מסד הנתונים נדרשת. האפליקציה, באמצעות התקשרות עם מסד הנתונים, מפעילה את תפקיד האפליקציה שבאופן מיידי מבטל את כל ההרשאות הקשורות עם המשתמש המעיל את האפליקציה, ובכך מאפשר לאפליקציה לתפקד ע"י  הפרמטרים שהוענקו לה בתפקיד האפליקציה.

 

 

שימוש בתפקידי אפליקציות

תפקידי אפליקציות קיימים כעצמי מסד נתונים נפרדים ב – SQL Server .  מנהלי מסד נתונים יוצרים תפקידי אפליקציות ומשימים הרשאות באופן דומה להענקת הרשאות למשתמשים. לאחר שתפקיד האפליקציההוגדר, מפתחי האפליקציה  כותבים קוד על מנת להתחבר למסד הנתונים ולקרוא לפרוצדורה השמורה : sp_setapprole .  פרוצדורה זו מקבלת שני פרמטרים  המציינים את שם תפקיד האפליקציה והסיסמה שלו.

 

מאפיינים בתפקידי אפליקציות

1. מצב תפקידי אפליקציות

כברירת מחדל תפקידי אפליקציות אינם פעילים ועל מנת להפעילם נדרשת אפליקציה קוראת שתפעיל את התפקיד באמצעות הפרוצדורה השמורה sp_setapprole.

כמו כן, תפקידי אפליקציות קיימים כעצמים בלתי תלויים. במילים אחרות,משתמשים,  קבוצות משתמשים ותפקידים לא מתייחסים לתפקידי האפליקציות.

2. תהליך ההתקשרות עם תפקידי אפליקציות

כאשר אפליקציה זקוקה להתקשרות עם מסד נתונים, ההרשאות של המשתמש מאפשרות את החיבור לשרת ולמסד הנתונים.

לכל המשתמשים חייבות להיות ההרשאות הנחוצות על מנת לגשת לשרת. 

לאחר מכן, האפליקציה קוראת לפרוצדורה השמורה sp_setapprole ומעבירה לה את שם התפקיד והסיסמה (לעיתים מקודד).  הפרוצדורה מקבלת את הפרמטרים ומפעילה את תפקיד האפליקציה המתאים.

לאחר ההפעלה, כל הרשאות המשתמשים מבוטלות . האפליקציה מקבלת את כל היכולות הקשורות עם תפקיד האפליקציה.


  חזרה למאמרים נבחרים


  פרקים
  מבוא
  ניהול השרת
  אבטחה
  גיבוי והתאוששות
  קונפיגורציה ואופטימיזציה
  כלים
  שפת שאילתות מובנות
  יצוא/יבוא מידע
  נספחים
  התקנת השרת
  מילון מונחים
  מאמרים נבחרים
  מידע נוסף ברשת