...
Code Block | ||
---|---|---|
| ||
{ "apiKey": 38, "type": "request", "name": "CreateDelegationTokenRequest", // Version 1 is the same as version 0. "validVersions": "0-2", "fields": [ { "name": "OwnerOwnerPrincipalType", "type": "[]CreatableOwnersstring", "versions": "2+", "nullableVersions": "2+", "about": "OwnerThe isprincipal an Kafka PrincipalType+name string, who istype of the owner of the token. If owner string is null, thenit's null it defaults to the token request principal is treated as owner"." }, { "fieldsname": [ { "name"OwnerPrincipalName", "type": "PrincipalTypestring", "typeversions": "string2+", "versionsnullableVersions": "2+", "about": "The type of principal name of the owner of the token. If it's null it defaults to the Kafkatoken request principal." }, { "name": "PrincipalNameRenewers", "type": "string[]CreatableRenewers", "versions": "20+", ""about": "TheA namelist of the Kafka principal." } ]}, those who are allowed to renew this token before it expires.", "fields": [ { "name": "RenewersPrincipalType", "type": "[]CreatableRenewersstring", "versions": "0+", "about": "AThe listtype of thosethe whoKafka are allowed to renew this token before it expires.", "fields": [ principal." }, { "name": "PrincipalTypePrincipalName", "type": "string", "versions": "0+", "about": "The typename of the Kafka principal." }, ]}, { "name": "PrincipalNameMaxLifetimeMs", "type": "stringint64", "versions": "0+", "about": "The namemaximum lifetime of the Kafkatoken principal." } ]}, { "name": "MaxLifetimeMs",in milliseconds, or -1 to use the server side default." } ] } |
Field | Description |
---|---|
Owner | Owner is an Kafka PrincipalType+name string, who is the owner of the token. If owner string is null, then token request principal is treated as owner |
CreateDelegationTokenResponse
Code Block | ||
---|---|---|
| ||
{ "apiKey": 38, "type": "int64response", "versionsname": "0+CreateDelegationTokenResponse", // Starting in version 1, on "about": "The maximum lifetime of the token in milliseconds, or -1 to use the server side default." } ] } |
...
Field
...
Description
...
Owner
...
Owner is an Kafka PrincipalType+name string, who is the owner of the token. If owner string is null, then token request principal is treated as owner
CreateDelegationTokenResponse
Code Block | ||
---|---|---|
| ||
{ "apiKey": 38, quota violation, brokers send out responses before throttling. "validVersions": "0-1", "fields": [ { "name": "ErrorCode", "type": "responseint16", "nameversions": "CreateDelegationTokenResponse0+", // Starting in version 1, on quota violation, brokers send out responses before throttling. "validVersions": "0-2", "fields": [ "about": "The top-level error, or zero if there was no error."}, { "name": "ErrorCodePrincipalType", "type": "int16string", "versions": "0+", "about": "The top-level error, or zero if there was no error."principal type of the token owner." }, { "name": "OwnerPrincipalName", "type": "CreatableOwnerstring", "versions": "20+", "about": "Owner is an Kafka PrincipalType+name string, who is the owner The name of the token owner." }, "fields": [ { "name": "PrincipalTypeTokenRequesterPrincipalType", "type": "string", "versions": "2+", "about": "The principal type of the Kafka principalrequester of the token." }, { "name": "PrincipalNameTokenRequesterPrincipalName", "type": "string", "versions": "2+", "about": "The nameprincipal type of the requester of Kafkathe principaltoken." } ]}, { "name": "TokenRequesterIssueTimestampMs", "type": "CreatableTokenRequesterint64", "versions": "20+", "about": "TokenWhen requesterthis istoken anwas Kafka PrincipalType+name string, who requested this token", "fields": [generated." }, { "name": "PrincipalTypeExpiryTimestampMs", "type": "stringint64", "versions": "20+", "about": "TheWhen typethis of the Kafka principaltoken expires." }, { "name": "PrincipalNameMaxTimestampMs", "type": "stringint64", "versions": "20+", "about": "The namemaximum lifetime of thethis Kafka principaltoken." }, ]}, { { "name": "IssueTimestampMsTokenId", "type": "int64string", "versions": "0+", "about": "When thisThe token was generatedUUID." }, { "name": "ExpiryTimestampMsHmac", "type": "int64bytes", "versions": "0+", "about": "When thisHMAC of the delegation token expires." }, { "name": "MaxTimestampMsThrottleTimeMs", "type": "int64int32", "versions": "0+", "about": "The maximumduration in lifetimemilliseconds offor thiswhich token." }, { "name": "TokenId", "type": "string", "versions": "0+", "about": "The token UUID." }, { "name": "Hmac", "type": "bytes", "versions": "0+", "about": "HMAC of the delegation token." }, { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." } ] } |
...
Field
...
Description
...
Token requester
...
Token requester is an Kafka PrincipalType+name string, who requested this token.
the request was throttled due to a quota violation, or zero if the request did not violate any quota." }
]
}
|
Field | Description |
---|---|
Token requester | Token requester is an Kafka PrincipalType+name string, who requested this token. |
CreateDelegationTokenResponse
We will bump the version of the DescribeTokensRequest API to include the "Token requester" info in response details.
Code Block | ||
---|---|---|
| ||
{
"apiKey": 41,
"type": "response",
"name": "DescribeDelegationTokenResponse",
// Starting in version 1, on quota violation, brokers send out responses before throttling.
"validVersions": "0-1",
|
CreateDelegationTokenResponse
We will bump the version of the DescribeTokensRequest API to include the "Token requester" info in response details.
Code Block | ||
---|---|---|
| ||
{ "apiKey": 41, "type": "response", "name": "DescribeDelegationTokenResponse", // Starting in version 1, on quota violation, brokers send out responses before throttling. "validVersions": "0-2", "fields": [ { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The error code, or 0 if there was no error." }, { "name": "Tokens", "type": "[]DescribedDelegationToken", "versions": "0+", "about": "The tokens.", "fields": [ { "name": "OwnerErrorCode", "type": "CreatableOwner", "versions": "2+", "about": "Owner is an Kafka PrincipalType+name string, who is the owner of the token.", ": "int16", "versions": "0+", "fieldsabout": [ "The error code, or 0 if there was no error." }, { "name": "PrincipalTypeTokens", "type": "string[]DescribedDelegationToken", "versions": "20+", "about": "The type of the Kafka principaltokens." }, "fields": [ { "name": "PrincipalNamePrincipalType", "type": "string", "versions": "20+", "about": "The nametoken of the Kafka principal." } ]principal type." }, { "name": "TokenRequesterPrincipalName", "type": "CreatableTokenRequesterstring", "versions": "20+", "about": "Token requester is an Kafka PrincipalType+name string, who requested this token", "fieldsabout": [ "The token principal name." }, { "name": "PrincipalTypeTokenRequesterPrincipalType", "type": "string", "versions": "2+", "about": "The principal type of the requester Kafkaof the principaltoken." }, { "name": "PrincipalNameTokenRequesterPrincipalName", "type": "string", "versions": "2+", "about": "The principal nametype of the requester Kafkaof the principaltoken." } ]}, { "name": "IssueTimestamp", "type": "int64", "versions": "0+", "about": "The token issue timestamp in milliseconds." }, { "name": "ExpiryTimestamp", "type": "int64", "versions": "0+", "about": "The token expiry timestamp in milliseconds." }, { "name": "MaxTimestamp", "type": "int64", "versions": "0+", "about": "The token maximum timestamp length in milliseconds." }, { "name": "TokenId", "type": "string", "versions": "0+", "about": "The token ID." }, { "name": "Hmac", "type": "bytes", "versions": "0+", "about": "The token HMAC." }, { "name": "Renewers", "type": "[]DescribedDelegationTokenRenewer", "versions": "0+", "about": "Those who are able to renew this token before it expires.", "fields": [ { "name": "PrincipalType", "type": "string", "versions": "0+", "about": "The renewer principal type" }, { "name": "PrincipalName", "type": "string", "versions": "0+", "about": "The renewer principal name" } ]} ]}, { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." } ] } |
...