code: func (p *ProcessStorage) ReadIdentity(name string, role teleport.Role) (*Identity, error) {
  	if name == "" {
  		return nil, trace.BadParameter("missing parameter name")
  	}
  	item, err := p.Get(context.TODO(), backend.Key(idsPrefix, strings.ToLower(role.String()), name))
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	var res IdentityV2
  	if err := utils.UnmarshalWithSchema(GetIdentitySchema(), &res, item.Value); err != nil {
  		return nil, trace.BadParameter(err.Error())
  	}
  	return ReadIdentityFromKeyPair(&PackedKeys{
  		Key:        res.Spec.Key,
  		Cert:       res.Spec.SSHCert,
  		TLSCert:    res.Spec.TLSCert,
  		TLSCACerts: res.Spec.TLSCACerts,
  		SSHCACerts: res.Spec.SSHCACerts,
  	})
  }
docs: // ReadIdentity reads identity using identity name and role.