身份和访问权限管理 (IAM)

STS 令牌的密钥交换

日志架构:Istio

包含审核信息的日志条目中的字段
审核元数据 审核字段名称
用户或服务身份 identity

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

目标

(调用 API 的字段和值)

resource

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

操作

(包含所执行操作的字段)

不适用
活动时间戳 time

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

操作来源 不适用
结果 不适用
其他字段 不适用

审核 Kubernetes 资源(包括创建服务账号和访问权限控制管理)的 CRUD 操作。

日志架构:KRM API

包含审核信息的日志条目中的字段
审核元数据 审核字段名称
用户或服务身份 user/username

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

目标

(调用 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"
    }

目标

(调用 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"
    }

目标

(调用 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"
    }

目标

(调用 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"
}