Skip to content

Define more Entity Type Identifiers / Split federation_entity #262

@zachmann

Description

@zachmann

I know that this was already discussed at some point in time, but I really would like to see this happen and therefore bring it back on the table to have some discussion about this.

I feel that the general federation_entity Entity Type is extremely general and mixes different purposes. It contains metadata for Trust Anchors / Intermediates, Trust Mark Issuers, and every other entity in the federation.

I would suggest to define new Entity Type Identifiers:

  • federation_trust_mark_issuer for Trust Mark Issuers.
  • federation_authority (or something else, I'm open for better terms) for Trust Anchors / Intermediates.
  • federation_resolver for an Entity implementing a resolve endpoint.
    Also keeping federation_entity for the broad and general "Entity in a Federation".

I would split the existing metadata in the following way:

  • federation_trust_mark_issuer: Adopts all the trust mark related metadata, namely:
    • federation_trust_mark_status_endpoint
    • federation_trust_mark_list_endpoint
    • federation_trust_mark_endpoint
  • federation_authority: Adopts all the metadata related to subordinates, namely:
    • federation_fetch_endpoint
    • federation_list_endpoint
  • federation_resolver adopts the resolver related metadata, namely:
    • federation_resolve_endpoint
  • federation_entity would keep all other metadata, including all information metadata parameters and:
    • federation_historical_keys_endpoint
    • endpoint_auth_signing_alg_values_supported

I think that this differentiation between those entity types makes sense because:

  • it is semantically more clear
  • it allows better filtering capabilities based on entity type, e.g. in the subordinate listing endpoint
  • it allows better usage of metadata_policies and constraints, e.g. the allowed_entity_types constraint.

I know that this would require breaking changes to implementations, however we also did some breaking changes recently with trust_mark_id/type and I believe that it would be beneficial to have more semantic entity types when it comes to the roles in a federation.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions