ניהול זהויות והרשאות גישה (IAM)

ביומני הביקורת של ניהול הזהויות והרשאות הגישה (IAM) ב-Google Distributed Cloud (GDC)‎ עם air gap מתועדים חילופי מפתחות של טוקנים, שינויים בגישה למשאבים ואירועים של סשנים של משתמשים. רשומות היומן האלה משתמשות ב-Istio, ב-Kubernetes Resource Model (KRM) API ובסכימות בהתאמה אישית של GKE Identity Service כדי לתעד את המטא-נתונים של הזהות, משאב המטרה והפעולה.

חילופי מפתחות לאסימון STS

סכימת יומן: Istio

שדות ברשומה ביומן שמכילים מידע על הביקורת
מטא-נתונים של ביקורת שם השדה ביומן הביקורת ערך
זהות המשתמש או השירות identity

\"user\":{\"identity\":\"system:serviceaccount:iam-test:service-account\"}

Target

(שדות וערכים ששולחים קריאה ל-API)

resource

\"resource\":\"service-accounts.zone1.google.gdch.test\"

פעולה

(שדות שמכילים את הפעולה שבוצעה)

לא רלוונטי
חותמת הזמן של האירוע time

"time": "2022-11-23T18:25:54Z"

מקור הפעולה לא רלוונטי
תוצאה לא רלוונטי
שדות אחרים לא רלוונטי

יומני ביקורת של פעולות CRUD במשאבים ב-Kubernetes, כולל יצירה של חשבונות שירות וניהול של בקרת גישה.

סכימת היומן: KRM API

שדות ברשומה ביומן שמכילים מידע על הביקורת
מטא-נתונים של ביקורת שם השדה ביומן הביקורת ערך
זהות המשתמש או השירות user/username

"user": {
    "groups": [
      "system:authenticated"
    ],
    "username": "fop-platform-admin@example.com"
  }

Target

(שדות וערכים ששולחים קריאה ל-API)

objectRef

"objectRef": {
    "resource": "projectserviceaccounts",
    "apiGroup": "resourcemanager.gdc.goog",
    "name": "service-accountt",
    "apiVersion": "v1alpha1",
    "namespace": "iam-test"
}

פעולה

(שדות שמכילים את הפעולה שבוצעה)

verb

"verb": "create"

חותמת הזמן של האירוע requestReceivedTimestamp

"requestReceivedTimestamp": "2022-11-23T18:24:26.514173Z"

מקור הפעולה sourceIPs

"sourceIPs": [
    "10.200.0.2"
  ]

תוצאה responseStatus

"responseStatus": {
    "code": 201,
    "metadata": {}
  }

שדות אחרים annotations/authorization.k8s.io/reason

"annotations": {
    "authorization.k8s.io/reason": "RBAC: allowed by RoleBinding \"platform-admin-project-iam-admin/iam-test\" of Role \"project-iam-admin\" to User \"fop-platform-admin@example.com\"",
    "authorization.k8s.io/decision": "allow"
  }

יומן ביקורת כשמשתמש יוצא מהחשבון

סכימת היומן: פורמט AIS בהתאמה אישית.

שדות ברשומה ביומן שמכילים מידע על הביקורת
מטא-נתונים של ביקורת שם השדה ביומן הביקורת ערך
זהות המשתמש או השירות payload.user

"payload": {
      "expirationTime": "2023-08-29T12:42:36.848454939+00:00",
      "groups": [],
      "id": "7a5bea7a-0821-45d8-b4a0-69f24d30ab3f",
      "issuer": "Google OIDC",
      "user": "test-user"
    }

Target

(שדות וערכים ששולחים קריאה ל-API)

לא רלוונטי

פעולה

(שדות שמכילים את הפעולה שבוצעה)

operation

"operation": "revoke"

חותמת הזמן של האירוע metadata.timestamp

"timestamp": "2023-08-29T00:42:40.000544813+00:00"

מקור הפעולה לא רלוונטי
תוצאה לא רלוונטי
שדות אחרים expirationTime

"expirationTime": "2023-08-29T12:42:36.848454939+00:00"

יומן ביקורת כשמשתמש מתחבר לחשבון

סכימת היומן: פורמט AIS בהתאמה אישית.

שדות ברשומה ביומן שמכילים מידע על הביקורת
מטא-נתונים של ביקורת שם השדה ביומן הביקורת ערך
זהות המשתמש או השירות payload.user

"payload": {
      "expirationTime": "2023-08-29T05:22:13.350779831+00:00",
      "groups": [],
      "id": "dcb7c5d9-c171-4f5b-84b6-5c92bfffb0e0",
      "issuer": "Azure AD SAML",
      "user": "test-ais-e2e-saml@byoidcloudaccountgoogle.onmicrosoft.com"
    }

Target

(שדות וערכים ששולחים קריאה ל-API)

לא רלוונטי

פעולה

(שדות שמכילים את הפעולה שבוצעה)

operation

"operation": "create"

חותמת הזמן של האירוע metadata.timestamp

"timestamp": "2023-08-28T17:22:13.351713088+00:00"

מקור הפעולה לא רלוונטי
תוצאה לא רלוונטי
שדות אחרים expirationTime

"expirationTime": "2023-08-29T05:22:13.350779831+00:00"

יומן ביקורת כש-PA מבטל סשנים של משתמש

סכימת היומן: פורמט AIS בהתאמה אישית.

שדות ברשומה ביומן שמכילים מידע על הביקורת
מטא-נתונים של ביקורת שם השדה ביומן הביקורת ערך
זהות המשתמש או השירות payload.admin / payload.user

"payload": {
      "admin": "test-user-1@gdch.com",
      "numSessionsAffected": 1,
      "peerWorkloadIdentity": "system:serviceaccount:anthos-identity-service:default",
      "peerWorkloadIdentityIssuer": "https://kubernetes.default.svc.cluster.local",
      "user": "test-user-2@gdch.com"
    }

Target

(שדות וערכים ששולחים קריאה ל-API)

resource

"resource": "session"

פעולה

(שדות שמכילים את הפעולה שבוצעה)

operation

"operation": "revoke"

חותמת הזמן של האירוע metadata.timestamp

"timestamp": "2023-08-28T17:22:24.043644569+00:00"

מקור הפעולה לא רלוונטי
תוצאה לא רלוונטי
שדות אחרים numSessionsAffected

"numSessionsAffected": 1

דוגמה ליומן IAM

{
  "pri": "46",
  "_gdch_flbProcessedTimestamp": 1669227957.340494,
  "_gdch_fluentbit_pod": "anthos-audit-logs-forwarder-vk6vx",
  "time": "2022-11-23T18:25:54Z",
  "message": "{\"time\":\"2022-11-23T18:25:54.257503516Z\",\"auditID\":\"d1c33645-bed0-47dc-8180-06b752673109\",\"user\":{\"identity\":\"system:serviceaccount:iam-test:service-accountt\"},\"resource\":\"service-accounts.zone1.google.gdch.test\",\"description\":\"{\\\"keyID\\\":\\\"f9540561-84d5-4113-983f-fd8868501596\\\",\\\"expirationTime\\\":\\\"2022-11-24T06:25:53Z\\\"}\"}",
  "ident": "/service-identity-server",
  "pid": "1",
  "msgid": "audit-log",
  "extradata": "-",
  "_gdch_cluster": "root-admin",
  "host": "serviceidentity-sa-server-55544bd9f5-nwg8m",
  "_gdch_service_name": "service-identity-audit-logs"
}