הגדרת כותרות HTTP בהתאמה אישית ליומני ביקורת

בדף הזה מוסבר איך לבצע את הפעולות הבאות:

  1. הגדרת כותרות HTTP מותאמות אישית בבקשות ל-Cloud Healthcare API.
  2. אפשר להשתמש ביומני הביקורת של Cloud כדי לחפש בקשות וכותרות HTTP מותאמות אישית שתואמות להן, כדי לבצע את הפעולות הבאות:

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

מידע נוסף על שימוש ביומני ביקורת של Cloud ב-Cloud Healthcare API זמין במאמר בנושא צפייה ביומני ביקורת של Cloud.

שיטות שניתן להגדרה

אפשר להגדיר כותרות HTTP מותאמות אישית לשיטות של Cloud Healthcare API במשאבי REST הבאים:

הגדרת כותרות HTTP בהתאמה אישית

יש שני סוגים של כותרות HTTP בהתאמה אישית שאפשר לציין בבקשות ל-Cloud Healthcare API ולראות ביומני ביקורת. אפשר להשתמש בכל סוג בנפרד או לשלב ביניהם.

  • רישום ביומן של מזהה מותאם אישית. אתם יכולים לציין את כותרת ה-HTTP המותאמת אישית X-Request-Id כדי לתת לכל בקשה מזהה מותאם אישית משלה, ואז לחפש ביומני הביקורת בקשה שמכילה את המזהה. כדי לספק מזהה מותאם אישית, מציינים את כותרת ה-HTTP המותאמת אישית בפורמט הבא:

    X-Request-Id: REQUEST_ID
    

    מציינים ערך ייחודי לפרמטר REQUEST_ID בכל בקשה.

    ברוב שפות התכנות יש דרך ליצור מזהים אקראיים שאפשר להשתמש בהם כדי ליצור את מזהה הבקשה. לדוגמה, למודול Python‏ uuid יש פונקציה uuid.uuid4() שאפשר להשתמש בה כדי ליצור מזהים באופן אוטומטי לכל בקשה. ‫Cloud Healthcare API לא יוצר מזהי בקשות.

  • רישום מטא-נתונים ביומן. אפשר לכלול מידע נוסף של מטא-נתונים בכותרות HTTP מותאמות אישית באמצעות הכותרת X-Goog-Healthcare-Audit-IDENTIFIER. הכותרת מזהה באופן ייחודי את סוג המידע של המטא-נתונים.

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

    X-Goog-Healthcare-Audit-IDENTIFIER: VALUE
    

    מחליפים את IDENTIFIER במזהה שאנשים יכולים לקרוא. מחליפים את VALUE בערך של המטא-נתונים. אפשר לציין כמה ערכים ברשימה שמופרדת בפסיקים באמצעות התחביר הבא:

    X-Goog-Healthcare-Audit-IDENTIFIER: VALUE_1, VALUE_2, VALUE_n ...
    

    לדוגמה:

    X-Goog-Healthcare-Audit-MyIdentifier: Value1, Value2, Value3
    

    אפשר גם לציין כמה כותרות HTTP מותאמות אישית עם ערכים ייחודיים משלהן:

    X-Goog-Healthcare-Audit-MyIdentifier1: Value1, Value2
    X-Goog-Healthcare-Audit-MyIdentifier2: Value3
    

צפייה ביומני הביקורת ביומני הביקורת של Cloud

איך צופים ביומנים

דוגמה

בדוגמה הבאה מוצג תרחיש שבו מציינים כותרות HTTP בהתאמה אישית בבקשת fhir.create.

נניח שאתם מפעילים מחקר ויש לכם אפליקציה לנייד למטופלים בשם PatientApp. החולים במחקר מחולקים לשתי קבוצות: Cohort1 ו-Cohort2. כדי לזהות כל בקשה מ-Cohort1 באמצעות מזהה ייחודי ושם האפליקציה לנייד, צריך לציין את כותרות ה-HTTP המותאמות אישית הבאות בכל בקשה:

X-Request-Id: REQUEST_ID
X-Goog-Healthcare-Audit-AppName: PatientApp
X-Goog-Healthcare-Audit-CohortName: Cohort1

כותרות ה-HTTP המותאמות אישית מוצגות בשדה metadata של יומן הביקורת של כל בקשה ביומני הביקורת של Cloud.

בדוגמה הבאה מוצג אופן השימוש ב-curl כדי ליצור משאב חדש מסוג Patient בחנות FHIR. הבקשה מכילה את כותרות ה-HTTP המותאמות אישית הבאות:

  • X-Request-Id: 123
  • X-Goog-Healthcare-Audit-AppName: PatientApp
  • X-Goog-Healthcare-Audit-CohortName: Cohort1

לפני ששולחים את הבקשה, מחליפים את הערכים הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • LOCATION: המיקום של מערך הנתונים
  • DATASET_ID: מערך הנתונים הראשי של מאגר FHIR
  • FHIR_STORE_ID: מזהה מאגר ה-FHIR
curl -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "X-Request-Id: 123" \
    -H "X-Goog-Healthcare-Audit-AppName: PatientApp" \
    -H "X-Goog-Healthcare-Audit-CohortName: Cohort1" \
    --data '{
      "name": [
        {
          "use": "official",
          "family": "Smith",
          "given": [
            "Darcy"
          ]
        }
      ],
      "gender": "female",
      "birthDate": "1970-01-01",
      "resourceType": "Patient"
    }' "https://healthcare.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID/fhirStores/FHIR_STORE_ID/fhir/Patient"

הפלט שיתקבל:

{
  "birthDate": "1970-01-01",
  "gender": "female",
  "id": "PATIENT_ID",
  "meta": {
    "lastUpdated": "YYYY-MM-DDTHH:MM:SS+ZZ:ZZ",
    "versionId": "VERSION_ID"
  },
  "name": [
    {
      "family": "Smith",
      "given": [
        "Darcy"
      ],
      "use": "official"
    }
  ],
  "resourceType": "Patient"
}

אם מחפשים את הבקשה ביומני הביקורת של Cloud, יומן הביקורת ייראה כך:

{
  logName: "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_write"
  protoPayload: {
    @type: "type.googleapis.com/google.cloud.audit.AuditLog"
    metadata: {
      X-Request-Id: [123]
      X-Goog-Healthcare-Audit-AppName: ["PatientApp"]
      X-Goog-Healthcare-Audit-CohortName: ["Cohort1"]
    }
    ...
  }
   ...
}

צפייה בכותרות HTTP של יומן ביקורת שנוצר על ידי המסוף Google Cloud

אפשר לבחון כותרות HTTP ספציפיות ביומני ביקורת כדי לזהות בקשות שבוצעו דרך אפליקציות של Cloud Healthcare API במסוף Google Cloud .

לדוגמה, כל הבקשות שמגיעות מ Google Cloud אפליקציות המסוף הבאות Google Cloud מתויגות אוטומטית באמצעות כותרת ה-HTTP המותאמת אישית X-Goog-Healthcare-Audit-First-Party-Application-Access. הערך של הכותרת הזו מציין את אפליקציית המקור:

  • fhir-viewer: בקשות שמקורן ב-FHIR Viewer.
  • data-browser: בקשות שמקורן בכלי לבדיקת נתונים של Cloud Healthcare API.
  • dicom-studio: בקשות שמקורן ב-DICOM Studio של Cloud Healthcare API.

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