LogConfig

Specifies what kind of log the caller must write

JSON representation
{

  // Union field type can be only one of the following:
  "counter": {
    object (CounterOptions)
  },
  "dataAccess": {
    object (DataAccessOptions)
  },
  "cloudAudit": {
    object (CloudAuditOptions)
  }
  // End of list of possible types for union field type.
}
Fields
Union field type. Must be set type can be only one of the following:
counter

object (CounterOptions)

Counter options.

dataAccess

object (DataAccessOptions)

Data access options.

cloudAudit

object (CloudAuditOptions)

Cloud audit options.

CounterOptions

Increment a streamz counter with the specified metric and field names.

Metric names should start with a '/', generally be lowercase-only, and end in "_count". Field names should not contain an initial slash. The actual exported metric names will have "/iam/policy" prepended.

Field names correspond to IAM request parameters and field values are their respective values.

Supported field names: - "authority", which is "[token]" if IAMContext.token is present, otherwise the value of IAMContext.authority_selector if present, and otherwise a representation of IAMContext.principal; or - "iamPrincipal", a representation of IAMContext.principal even if a token or authority selector is present; or - "" (empty string), resulting in a counter with no fields.

Examples: counter { metric: "/debug_access_count" field: "iamPrincipal" } ==> increment counter /iam/policy/debug_access_count {iamPrincipal=[value of IAMContext.principal]}

JSON representation
{
  "metric": string,
  "field": string,
  "customFields": [
    {
      object (CustomField)
    }
  ]
}
Fields
metric

string

The metric to update.

field

string

The field value to attribute.

customFields[]

object (CustomField)

Custom fields.

CustomField

Custom fields. These can be used to create a counter with arbitrary field/value pairs. See: go/rpcsp-custom-fields.

JSON representation
{
  "name": string,
  "value": string
}
Fields
name

string

Name is the field name.

value

string

Value is the field value. It is important that in contrast to the CounterOptions.field, the value here is a constant that is not derived from the IAMContext.

DataAccessOptions

Write a Data Access (Gin) log

JSON representation
{
  "logMode": enum (LogMode),
  "isDirectAuth": boolean
}
Fields
logMode

enum (LogMode)

isDirectAuth

boolean

Indicates that access was granted by a regular grant policy

CloudAuditOptions

Write a Cloud Audit log

JSON representation
{
  "logName": enum (LogName),
  "authorizationLoggingOptions": {
    object (AuthorizationLoggingOptions)
  },
  "permissionType": enum (PermissionType)
}
Fields
logName

enum (LogName)

The logName to populate in the Cloud Audit Record.

authorizationLoggingOptions

object (AuthorizationLoggingOptions)

Information used by the Cloud Audit Logging pipeline. Will be deprecated once the migration to PermissionType is complete (b/201806118).

permissionType

enum (PermissionType)

The type associated with the permission.