SPIFFE · JSON Structure
Spiffe Svid Structure
JSON Structure document describing the SPIFFE Verifiable Identity Document (SVID) data model for both X.509-SVIDs and JWT-SVIDs.
Type:
Properties: 0
AuthenticationCloud NativeGraduatedIdentitySecurityZero Trust
Spiffe Svid Structure is a JSON Structure definition published by SPIFFE.
Meta-schema:
JSON Structure
{
"title": "SPIFFE SVID Structure",
"description": "JSON Structure document describing the SPIFFE Verifiable Identity Document (SVID) data model for both X.509-SVIDs and JWT-SVIDs.",
"types": [
{
"name": "X509SVID",
"description": "X.509 SVID — a SPIFFE identity encoded as an X.509 certificate",
"fields": [
{ "name": "spiffe_id", "type": "string", "required": true, "description": "SPIFFE URI (spiffe://{trust-domain}/{path})" },
{ "name": "x509_svid", "type": "base64", "required": true, "description": "DER-encoded X.509 certificate chain (base64)" },
{ "name": "x509_svid_key", "type": "base64", "required": true, "description": "DER-encoded private key (base64)" },
{ "name": "bundle", "type": "base64", "required": true, "description": "DER-encoded trust bundle for the trust domain (base64)" },
{ "name": "hint", "type": "string", "required": false, "description": "Optional workload hint for SVID selection" }
]
},
{
"name": "JWTSVID",
"description": "JWT-SVID — a SPIFFE identity encoded as a signed JSON Web Token",
"fields": [
{ "name": "token", "type": "string", "required": true, "description": "Signed JWT token (base64url.base64url.base64url)" },
{ "name": "spiffe_id", "type": "string", "required": true, "description": "SPIFFE URI from the token subject claim" },
{ "name": "expiry_time", "type": "integer", "required": false, "description": "Unix timestamp of token expiry" }
]
},
{
"name": "TrustBundle",
"description": "SPIFFE trust bundle encoded as a JWKS document for trust domain validation",
"fields": [
{ "name": "keys", "type": "array[JWK]", "required": true, "description": "Array of JWK entries representing root CA certificates" },
{ "name": "spiffe_refresh_hint", "type": "integer", "required": true, "description": "Recommended polling interval in seconds" },
{ "name": "spiffe_sequence", "type": "integer", "required": true, "description": "Monotonically increasing bundle sequence number" }
]
},
{
"name": "JWK",
"description": "A JSON Web Key entry in a SPIFFE trust bundle",
"fields": [
{ "name": "kty", "type": "enum[EC,RSA,OKP]", "required": true, "description": "Key type" },
{ "name": "use", "type": "enum[x509-svid,jwt-svid]", "required": true, "description": "Key intended use" },
{ "name": "kid", "type": "string", "required": true, "description": "Key identifier" },
{ "name": "x5c", "type": "array[base64]", "required": false, "description": "X.509 certificate chain" }
]
}
]
}