Saturday, November 22, 2008

פרמטר דינמי בדיזיינר : END_SQL

מורי ורבי Dr.Z אמר לי פעם שאפשר לבנות פתרון אבטחה ב-2 שקל ואפשר לבנות פתרון אבטחה ב-100 אלף שקל.
אז הנה לכם פתרון אבטחה (חלקי כמובן) ב- 2 שקל:
החל מגירסא 6 ,חלק מהפרמטרים שנוהלו בעבר בקובץ ה - prm עברו לעולם,אחד מהם הוא פרמטר ה - END_SQL המאפשר לכם להוסיף ל- SQL המיוצר בכל שאילתא הערה בסוף הסקריפט.

המשמעות ?

אפשר להכניס את שם העולם,הדוח ואת שם המשתמש על מנת לאפשר ל- DBA לעלות על זהות המשתמש הרצחני באמצעות SQL Profiler או כלי ניטור דומה...

כיצד חוסכים שקלים רבים ?

צעד ראשון:

נכנסים לתיבת הפרמטרים בעולם ומכניסים את ההערה הרלוונטית לפרמטר ה- END_SQL
ושם נכניס את ההערה הבאה:

/* Universe Sales, user @variable('BOUSER')*/

בהערה כתבנו את שם העולם ואת משתנה ה- BOUSER המציג את שם המשתמש :



אחרי שאישרנו את הוספת ההערה ע"י הקלקה על כפתורית ה- Replace

ניתן לראות בסוף ה- SQL שאנו מייצרים בעולם את ההערה:

באמצעות כלי ה- Trace SQL הקיימים ברשותנו נוכל לחזות ב- SQL + מאיזה עולם ואיזה משתמש הריץ
את ה - SQL.

לפרמטר הנ"ל אפשר להוסיף גם את המשתנה :
/* Universe Name - User @Variable('BOUSER') Report @Variable('DOCNAME')*/

ואז גם שם הדוח יופיע בסקריפט ה- SQL.

תבלו.

No comments:

Post a Comment