curl --request GET \
--url 'https://api.example.com/v1/*/{*}/iamPolicies:batchGet'{
"policyResults": [
{
"project": "<string>",
"policy": {
"bindings": [
{
"role": "<string>",
"members": [
"<string>"
],
"condition": {
"id": "<string>",
"constExpr": {
"nullValue": "NULL_VALUE",
"boolValue": true,
"int64Value": "<string>",
"uint64Value": "<string>",
"doubleValue": 123,
"stringValue": "<string>",
"bytesValue": "<string>",
"durationValue": "<string>",
"timestampValue": "2023-11-07T05:31:56Z"
},
"identExpr": {
"name": "<string>"
},
"selectExpr": {
"operand": "<unknown>",
"field": "<string>",
"testOnly": true
},
"callExpr": {
"target": "<unknown>",
"function": "<string>",
"args": "<array>"
},
"listExpr": {
"elements": "<array>",
"optionalIndices": [
123
]
},
"structExpr": {
"messageName": "<string>",
"entries": [
{
"id": "<string>",
"fieldKey": "<string>",
"mapKey": "<unknown>",
"value": "<unknown>",
"optionalEntry": true
}
]
},
"comprehensionExpr": {
"iterVar": "<string>",
"iterVar2": "<string>",
"iterRange": "<unknown>",
"accuVar": "<string>",
"accuInit": "<unknown>",
"loopCondition": "<unknown>",
"loopStep": "<unknown>",
"result": "<unknown>"
}
},
"parsedExpr": {
"id": "<string>",
"constExpr": {
"nullValue": "NULL_VALUE",
"boolValue": true,
"int64Value": "<string>",
"uint64Value": "<string>",
"doubleValue": 123,
"stringValue": "<string>",
"bytesValue": "<string>",
"durationValue": "<string>",
"timestampValue": "2023-11-07T05:31:56Z"
},
"identExpr": {
"name": "<string>"
},
"selectExpr": {
"operand": "<unknown>",
"field": "<string>",
"testOnly": true
},
"callExpr": {
"target": "<unknown>",
"function": "<string>",
"args": "<array>"
},
"listExpr": {
"elements": "<array>",
"optionalIndices": [
123
]
},
"structExpr": {
"messageName": "<string>",
"entries": [
{
"id": "<string>",
"fieldKey": "<string>",
"mapKey": "<unknown>",
"value": "<unknown>",
"optionalEntry": true
}
]
},
"comprehensionExpr": {
"iterVar": "<string>",
"iterVar2": "<string>",
"iterRange": "<unknown>",
"accuVar": "<string>",
"accuInit": "<unknown>",
"loopCondition": "<unknown>",
"loopStep": "<unknown>",
"result": "<unknown>"
}
}
}
]
}
}
]
}Deprecated. No permission check implemented. Permissions required: None
curl --request GET \
--url 'https://api.example.com/v1/*/{*}/iamPolicies:batchGet'{
"policyResults": [
{
"project": "<string>",
"policy": {
"bindings": [
{
"role": "<string>",
"members": [
"<string>"
],
"condition": {
"id": "<string>",
"constExpr": {
"nullValue": "NULL_VALUE",
"boolValue": true,
"int64Value": "<string>",
"uint64Value": "<string>",
"doubleValue": 123,
"stringValue": "<string>",
"bytesValue": "<string>",
"durationValue": "<string>",
"timestampValue": "2023-11-07T05:31:56Z"
},
"identExpr": {
"name": "<string>"
},
"selectExpr": {
"operand": "<unknown>",
"field": "<string>",
"testOnly": true
},
"callExpr": {
"target": "<unknown>",
"function": "<string>",
"args": "<array>"
},
"listExpr": {
"elements": "<array>",
"optionalIndices": [
123
]
},
"structExpr": {
"messageName": "<string>",
"entries": [
{
"id": "<string>",
"fieldKey": "<string>",
"mapKey": "<unknown>",
"value": "<unknown>",
"optionalEntry": true
}
]
},
"comprehensionExpr": {
"iterVar": "<string>",
"iterVar2": "<string>",
"iterRange": "<unknown>",
"accuVar": "<string>",
"accuInit": "<unknown>",
"loopCondition": "<unknown>",
"loopStep": "<unknown>",
"result": "<unknown>"
}
},
"parsedExpr": {
"id": "<string>",
"constExpr": {
"nullValue": "NULL_VALUE",
"boolValue": true,
"int64Value": "<string>",
"uint64Value": "<string>",
"doubleValue": 123,
"stringValue": "<string>",
"bytesValue": "<string>",
"durationValue": "<string>",
"timestampValue": "2023-11-07T05:31:56Z"
},
"identExpr": {
"name": "<string>"
},
"selectExpr": {
"operand": "<unknown>",
"field": "<string>",
"testOnly": true
},
"callExpr": {
"target": "<unknown>",
"function": "<string>",
"args": "<array>"
},
"listExpr": {
"elements": "<array>",
"optionalIndices": [
123
]
},
"structExpr": {
"messageName": "<string>",
"entries": [
{
"id": "<string>",
"fieldKey": "<string>",
"mapKey": "<unknown>",
"value": "<unknown>",
"optionalEntry": true
}
]
},
"comprehensionExpr": {
"iterVar": "<string>",
"iterVar2": "<string>",
"iterRange": "<unknown>",
"accuVar": "<string>",
"accuInit": "<unknown>",
"loopCondition": "<unknown>",
"loopStep": "<unknown>",
"result": "<unknown>"
}
}
}
]
}
}
]
}The * id.
OK
The policy results for each requested project.
Show child attributes
The project resource name.
The IAM policy for the project.
Show child attributes
Collection of binding. A binding binds one or more members or groups to a single role.
Show child attributes
The role that is assigned to the members. Format: roles/{role}
Specifies the principals requesting access for a Bytebase resource. For users, the member should be: user:{email} For groups, the member should be: group:{email}
The condition that is associated with this binding, only used in the project IAM policy. If the condition evaluates to true, then this binding applies to the current request. If the condition evaluates to false, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec
Support variables:
resource.database: the database full name in "instances/{instance}/databases/{database}" format, used by the "roles/sqlEditorUser" role, support "==" operator.
resource.schema_name: the schema name, used by the "roles/sqlEditorUser" role, support "==" operator.
resource.table_name: the table name, used by the "roles/sqlEditorUser" role, support "==" operator.
request.time: the expiration. Only support "<" operation in request.time < timestamp("{ISO datetime string format}").
For example: resource.database == "instances/local-pg/databases/postgres" && resource.schema_name in ["public","another_schema"] resource.database == "instances/local-pg/databases/bytebase" && resource.schema_name == "public" && resource.table_name in ["audit_log"] request.time < timestamp("2025-04-26T11:24:48.655Z")
Show child attributes
Required. An id assigned to this node by the parser which is unique in a given expression tree. This is used to associate type information and other attributes to a node in the parse tree.
A literal expression.
Show child attributes
null value.
NULL_VALUE boolean value.
int64 value.
uint64 value.
double value.
string value.
bytes value.
protobuf.Duration value.
Deprecated: duration is no longer considered a builtin cel type.
protobuf.Timestamp value.
Deprecated: timestamp is no longer considered a builtin cel type.
An identifier expression.
Show child attributes
Required. Holds a single, unqualified identifier, possibly preceded by a '.'.
Qualified names are represented by the [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression.
A field selection expression, e.g. request.auth.
Show child attributes
Required. The target of the selection expression.
For example, in the select expression request.auth, the request
portion of the expression is the operand.
Required. The name of the field to select.
For example, in the select expression request.auth, the auth portion
of the expression would be the field.
Whether the select is to be interpreted as a field presence test.
This results from the macro has(request.auth).
A call expression, including calls to predefined functions and operators.
Show child attributes
The target of an method call-style expression. For example, x in
x.f().
Required. The name of the function or method being called.
The arguments.
A list creation expression.
Show child attributes
The elements part of the list.
The indices within the elements list which are marked as optional elements.
When an optional-typed value is present, the value it contains is included in the list. If the optional-typed value is absent, the list element is omitted from the CreateList result.
A map or message creation expression.
Show child attributes
The type name of the message to be created, empty when creating map literals.
The entries in the creation expression.
Show child attributes
Required. An id assigned to this node by the parser which is unique in a given expression tree. This is used to associate type information and other attributes to the node.
The field key for a message creator statement.
The key expression for a map creation statement.
Required. The value assigned to the key.
If the optional_entry field is true, the expression must resolve to an optional-typed value. If the optional value is present, the key will be set; however, if the optional value is absent, the key will be unset.
Whether the key-value pair is optional.
A comprehension expression.
Show child attributes
The name of the first iteration variable. When the iter_range is a list, this variable is the list element. When the iter_range is a map, this variable is the map entry key.
The name of the second iteration variable, empty if not set. When the iter_range is a list, this variable is the integer index. When the iter_range is a map, this variable is the map entry value. This field is only set for comprehension v2 macros.
The range over which the comprehension iterates.
The name of the variable used for accumulation of the result.
The initial value of the accumulator.
An expression which can contain iter_var, iter_var2, and accu_var.
Returns false when the result has been computed and may be used as a hint to short-circuit the remainder of the comprehension.
An expression which can contain iter_var, iter_var2, and accu_var.
Computes the next value of accu_var.
An expression which can contain accu_var.
Computes the result.
The parsed expression of the condition.
Show child attributes
Required. An id assigned to this node by the parser which is unique in a given expression tree. This is used to associate type information and other attributes to a node in the parse tree.
A literal expression.
Show child attributes
null value.
NULL_VALUE boolean value.
int64 value.
uint64 value.
double value.
string value.
bytes value.
protobuf.Duration value.
Deprecated: duration is no longer considered a builtin cel type.
protobuf.Timestamp value.
Deprecated: timestamp is no longer considered a builtin cel type.
An identifier expression.
Show child attributes
Required. Holds a single, unqualified identifier, possibly preceded by a '.'.
Qualified names are represented by the [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression.
A field selection expression, e.g. request.auth.
Show child attributes
Required. The target of the selection expression.
For example, in the select expression request.auth, the request
portion of the expression is the operand.
Required. The name of the field to select.
For example, in the select expression request.auth, the auth portion
of the expression would be the field.
Whether the select is to be interpreted as a field presence test.
This results from the macro has(request.auth).
A call expression, including calls to predefined functions and operators.
Show child attributes
The target of an method call-style expression. For example, x in
x.f().
Required. The name of the function or method being called.
The arguments.
A list creation expression.
Show child attributes
The elements part of the list.
The indices within the elements list which are marked as optional elements.
When an optional-typed value is present, the value it contains is included in the list. If the optional-typed value is absent, the list element is omitted from the CreateList result.
A map or message creation expression.
Show child attributes
The type name of the message to be created, empty when creating map literals.
The entries in the creation expression.
Show child attributes
Required. An id assigned to this node by the parser which is unique in a given expression tree. This is used to associate type information and other attributes to the node.
The field key for a message creator statement.
The key expression for a map creation statement.
Required. The value assigned to the key.
If the optional_entry field is true, the expression must resolve to an optional-typed value. If the optional value is present, the key will be set; however, if the optional value is absent, the key will be unset.
Whether the key-value pair is optional.
A comprehension expression.
Show child attributes
The name of the first iteration variable. When the iter_range is a list, this variable is the list element. When the iter_range is a map, this variable is the map entry key.
The name of the second iteration variable, empty if not set. When the iter_range is a list, this variable is the integer index. When the iter_range is a map, this variable is the map entry value. This field is only set for comprehension v2 macros.
The range over which the comprehension iterates.
The name of the variable used for accumulation of the result.
The initial value of the accumulator.
An expression which can contain iter_var, iter_var2, and accu_var.
Returns false when the result has been computed and may be used as a hint to short-circuit the remainder of the comprehension.
An expression which can contain iter_var, iter_var2, and accu_var.
Computes the next value of accu_var.
An expression which can contain accu_var.
Computes the result.
Was this page helpful?