בעזרת SQL Server Audit ב-Cloud SQL ל-SQL Server, אתם יכולים ליצור מפרטים של ביקורת שרתים כדי לעקוב אחרי אירועים ברמת השרת וברמת מסד הנתונים ולתעד אותם. הביקורת הזו עוזרת לכם לעקוב אחרי הגישה למידע אישי רגיש, לזהות פעילות חשודה ולשמור על עמידה בתקנות.
כדי לבדוק פעולות ניהול ותחזוקה במכונה של Cloud SQL ל-SQL Server, קראו את המאמר יומני ביקורת של Cloud. למידע נוסף על היכולות של SQL Server Audit, קראו את המאמר SQL Server Audit (המנוע של מסד הנתונים).
לפני שמתחילים
לפני שמפעילים את הביקורת על מסד הנתונים, כדאי לקרוא את השיטות המומלצות ואת הדרישות המוקדמות שמפורטות בקטע הזה. במקרים רבים, יכול להיות שתצטרכו להפעיל הגדלה אוטומטית של נפח האחסון של קובצי הביקורת. הדרישות למקום בכונן משתנות בהתאם לסוגי הביקורת ולמרווחי הזמן לשמירה.
קטגוריה של Cloud Storage לקובצי ביקורת
קובצי ביקורת (יומני ביקורת) מועלים למיקום של קטגוריה ב-Cloud Storage. לכן, יכול להיות שתצטרכו ליצור קטגוריה בבעלות החשבון שלכם ב- Google Cloud .
לחלופין, אתם יכולים להשתמש במיקום קטגוריה שבבעלות חשבון אחר. כשמפעילים את הביקורת, אם יש לכם את ההרשאות הנדרשות, התפקיד roles/storage.objectAdmin מוקצה באופן אוטומטי להעלאת קובצי ביקורת למיקום הקטגוריה של חשבון השירות הנתון. אם אין לכם את ההרשאות הנדרשות, תצטרכו להקצות אותן לחשבון השירות בהמשך.
משתמש חוקי להפעלת ביקורת
כדי להפעיל את הביקורת וליצור מפרטי ביקורת, משתמש ברירת המחדל sqlserver צריך להיות זמין. כשיוצרים מכונה של Cloud SQL ל-SQL Server, המשתמש sqlserver נוצר כברירת מחדל.
הפעלת הביקורת
כשמפעילים את הביקורת, צריך לציין מיקום ב-Cloud Storage. האפשרויות הבאות הן אופציונליות:
- תקופת השמירה של היומן במכונה
- מרווח הזמן בין ההעלאות (תדירות ההעלאה)
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- בקטע Customize your instance, לוחצים על Flags and parameters.
- מסמנים את התיבה לצד Enable SQL Server audit.
- מציינים קטגוריה של Cloud Storage כמיקום שאליו יועלו קובצי הביקורת.
- לוחצים על אפשרויות מתקדמות.
- אפשר לציין את מספר הימים לשמירת היומנים בדיסק (יום אחד עד 7 ימים, ברירת המחדל היא 7 ימים).
- אופציונלי: מציינים את תדירות ההעלאה של היומנים (קובצי ביקורת) בדקות (1-720 דקות, ברירת המחדל היא 10 דקות).
- לוחצים על Save כדי לעדכן את השינויים.
gcloud
הפקודה הבאה מפעילה את הביקורת:
gcloud sql instances patch INSTANCE_NAME --audit-bucket-path=gs://my-bucket --audit-retention-interval=24h --audit-upload-interval=10m
בטבלה הבאה מפורטים הפרמטרים של gcloud לפעולה הזו:
| פרמטר | תיאור | ערכים מותרים | ערך ברירת המחדל |
--audit-bucket-path |
חובה. המיקום, כקטגוריה של Cloud Storage, שאליו מועלים קובצי הביקורת. | השדה ריק אם הביקורת מושבתת. אחרת, נתיב קטגוריה שמתחיל ב: gs:// |
ריק, כי כברירת מחדל הביקורת מושבתת. |
--audit-retention-interval |
זה שינוי אופציונלי. מספר הימים לשמירת יומן הביקורת בדיסק. | יום אחד עד 7 ימים. אפשר להזין רק ימים. | 7 ימים. |
--audit-upload-interval |
זה שינוי אופציונלי. באיזו תדירות להעלות יומני ביקורת (קובצי ביקורת). | 1 עד 720 דקות. | 10 דקות. |
REST v1
אתם יכולים להפעיל ביקורת למכונה באמצעות ה-API בארכיטקטורת REST. כמו שמוצג באב הטיפוס של הבקשה הבאה, אתם יכולים לציין קטגוריה של Cloud Storage, מספר ימים לשמירת קובצי הביקורת ותדירות להעלאת קובצי הביקורת. צריך רק את מיקום הקטגוריה. מידע נוסף זמין במאמר SqlServerAuditConfig:
{ "databaseVersion":"database-version", "name":"instance-id", "region":"region", "rootPassword":"password", "settings":{ "tier":"machine-type", "sqlServerAuditConfig":{ "bucket":"gs://mybucket", "retentionInterval":"24h", "uploadInterval":"10m" } } }
REST v1beta4
אתם יכולים להפעיל ביקורת למכונה באמצעות ה-API בארכיטקטורת REST. כמו שמוצג באב הטיפוס של הבקשה הבאה, אתם יכולים לציין קטגוריה של Cloud Storage, מספר ימים לשמירת קובצי הביקורת ותדירות להעלאת קובצי הביקורת. צריך רק את מיקום הקטגוריה. מידע נוסף זמין במאמר SqlServerAuditConfig:
{ "databaseVersion":"database-version", "name":"instance-id", "region":"region", "rootPassword":"password", "settings":{ "tier":"machine-type", "sqlServerAuditConfig":{ "bucket":"gs://mybucket", "retentionInterval":"24h", "uploadInterval":"10m" } } }
השבתת הביקורת
בקטע הזה מפורטות האפשרויות להשבתת הביקורת. כשמשביתים את הביקורת, כל קובצי הביקורת, כולל אלה שעדיין לא הועלו, נמחקים מהמכונה. בנוסף, כל הביקורות בשרת מושבתות וצריך להפעיל אותן מחדש כדי להמשיך את הביקורת. יכול להיות שיומני הביקורת שהועלו לקטגוריה של Cloud Storage יישארו, בהתאם להגדרות השמירה של הקטגוריה.
אלה האפשרויות להשבתת הביקורת.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- בקטע Customize your instance, לוחצים על Flags and parameters.
- מבטלים את הסימון של התיבה Enable SQL Server audit.
- לוחצים על Save כדי לעדכן את השינויים.
gcloud
הפקודה הבאה, שמשמיטה ערך לפרמטר --audit-bucket-path, משביתה את הביקורת:
gcloud sql instances patch INSTANCE_NAME --audit-bucket-path=
REST v1
הדוגמה הבאה, שבה הושמטו השדות של האובייקט sqlServerAuditConfig, היא אב טיפוס של בקשה להשבתת הביקורת:
{ "databaseVersion":"database-version", "name":"instance-id", "region":"region", "rootPassword":"password", "settings":{ "tier":"machine-type", "sqlServerAuditConfig":{ } } }
REST v1beta4
הדוגמה הבאה, שבה הושמטו השדות של האובייקט sqlServerAuditConfig, היא אב טיפוס של בקשה להשבתת הביקורת:
{ "databaseVersion":"database-version", "name":"instance-id", "region":"region", "rootPassword":"password", "settings":{ "tier":"machine-type", "sqlServerAuditConfig":{ } } }
העלאה אוטומטית של קובצי ביקורת
אחרי שמפעילים את הביקורת, קובצי הביקורת שנוצרים מועלים באופן אוטומטי לקטגוריה שציינתם ב-Cloud Storage.
קובצי הביקורת שנוצרים מאוחסנים גם הם במכונה עד שתקופת השמירה (המרווח) שהוגדרה מסתיימת. אחרי התקופה הזו, קובצי הביקורת נמחקים באופן סופי, כולל הקבצים שלא הצליחו להעלות.
יצירת ביקורות על השרת
אחרי שמפעילים את הביקורת, למשתמש ברירת המחדל sqlserver יש הרשאות ליצור, לשנות ולמחוק ביקורות בשרת.
משתמשים בפקודה CREATE SERVER AUDIT כדי להגדיר ביקורות חדשות בשרת. אתם יכולים גם להשתמש בממשק המשתמש של SQL Server Management Studio (SSMS) כדי ליצור ביקורות שרת.
הקטגוריות הבאות של פרמטרים נאכפות בכל ביקורות השרתים:
| קטגוריית הפרמטר | ערכים מותרים |
| במקרה של כשל ביומן הביקורת | המשך או כישלון |
| יעד הביקורת | קובץ |
| נתיב | /var/opt/mssql/audit
|
| גודל קובץ מקסימלי | 2-50MB |
| מספר מקסימלי של קובצי rollover | חייב להיות: לא מוגדר |
| מספר הקבצים המקסימלי | חייב להיות: לא מוגדר |
| שמירת מקום בכונן | מושבת |
קריאת ביקורות
בקטעים הבאים מוסברות דרכים שונות לקרוא את הביקורות.
קריאת ביקורות ממכונה
כדי לאחזר את הנתונים מקובץ ביקורת שנוצר על ידי ביקורת שרת, אפשר להשתמש בפרוצדורה המאוחסנת הבאה: msdb.dbo.gcloudsql_fn_get_audit_file. הפרוצדורה msdb.dbo.gcloudsql_fn_get_audit_file מקבלת את אותם הפרמטרים כמו הפונקציה sys.fn_get_audit_file.
לכן, כדי לקבל מידע על השימוש בפרוצדורה המאוחסנת הזו, עיינו במאמר sys.fn_get_audit_file.
דוגמה לשימוש בפרוצדורה msdb.dbo.gcloudsql_fn_get_audit_file כדי לאחזר נתוני ביקורת:
SELECT event_time, statement FROM msdb.dbo.gcloudsql_fn_get_audit_file('/var/opt/mssql/audit/*', NULL, NULL) WHERE statement LIKE '%INSERT%'
הפרוצדורה המאוחסנת הזו מתאימה יותר לנפחי נתונים קטנים עד בינוניים. אם אתם רוצים לקרוא יומני ביקורת של כמויות גדולות מאוד של נתונים, מומלץ לקרוא יומני ביקורת מ-Cloud Storage באמצעות מכונה של Compute Engine.
קריאת ביקורות מקטגוריה
כדי לקרוא דוחות ביקורת מקטגוריה של Cloud Storage, אתם יכולים להוריד את הקבצים מהקטגוריה למכונה של SQL Server. המכונה הזו של SQL Server יכולה להיות:
- מכונה של Compute Engine עם Windows
- מכונה של Compute Engine Linux
- סוג אחר של מכונה שפועל בה SQL Server
צריך להעביר את קובצי הביקורת מהקטגוריה למיקום שאפשר לגשת אליו מהמכונה, כמו הדיסק המקומי שלה. כדי להחזיר מידע מקובצי הביקורת, מריצים את הפונקציה sys.fn_get_audit_file באמצעות חבר בתפקיד השרת הקבוע serveradmin. לדוגמה, ממכונה של Windows, אם העברתם קובצי ביקורת אל D:\Audit, אתם יכולים להשתמש בפקודה שדומה לזו:
SELECT event_time, statement FROM sys.fn_get_audit_file('D:\Audit\*.*', NULL, NULL) WHERE statement LIKE '%INSERT%'
מעקב אחרי מדדים
אתם יכולים לעקוב אחרי פעולות שקשורות לביקורת כחלק מהמדדים של Cloud SQL, שזמינים דרך Metrics Explorer:
- database/sqlserver/audits_upload_count. המדד הזה מציין את המספר הכולל של הניסיונות להעלות קובץ ביקורת, גם הניסיונות שהצליחו וגם אלה שנכשלו. כדאי לבדוק את המדד הזה כדי לעקוב אחרי ההעלאות ולראות אם הן בוצעו בהצלחה.
- database/sqlserver/audits_size. המדד הזה מציין כמה מקום בכונן מנוצל על ידי קובצי ביקורת שמאוחסנים במכונה, בזמן המדידה. המדד הזה מציין את הגודל הכולל של קובצי הביקורת במכונה, בבייטים.
שיטות מומלצות
- כדי להימנע מהעברת קבצים גדולים בין אזורים, כדאי להביא בחשבון את הדברים הבאים:
- יצירת קטגוריות של Cloud Storage במספר אזורים
- הגדרת קטגוריית היעד של Cloud Storage באותו אזור שבו נמצא המכונה
- לפני שמשתמשים בפונקציונליות של SQL Server Audit, כדאי להפעיל את ההגדרה להגדלה אוטומטית של נפח האחסון. יכול להיות שקובצי הביקורת ידרשו מקום משמעותי בכונן, בהתאם לגודל הכולל שלהם ולמרווחי השמירה.
- אחרי שמפעילים את הביקורת, צריך לוודא שהמכונה יכולה להעלות קובצי ביקורת לקטגוריה של Cloud Storage. אם למשתמש ששלח את הבקשה להגדרת הביקורת לא היו ההרשאות הנדרשות להעלאת קבצים לקטגוריה של Cloud Storage, ההרשאות לא ניתנות באופן אוטומטי. למידע נוסף על הרשאות, עיינו במקורות המידע הבאים:
- מגדירים מדיניות התראות מבוססת-מדדים כדי לקבל התראות על ניסיונות העלאה שנכשלו ועל שימוש מוגזם בדיסק.
- כדי להימנע משמירה של יותר מדי קובצי ביקורת למשך זמן רב מדי, הגדירו מדיניות שמירת נתונים לקטגוריה של Cloud Storage.