Re: [scim] Extension Schema Versioning in draft-ietf-scim-device-model

Phillip Hunt <phil.hunt@independentid.com> Wed, 13 September 2023 17:28 UTC

Return-Path: <phil.hunt@independentid.com>
X-Original-To: scim@ietfa.amsl.com
Delivered-To: scim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDDD9C135DFD for <scim@ietfa.amsl.com>; Wed, 13 Sep 2023 10:28:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.904
X-Spam-Level:
X-Spam-Status: No, score=-1.904 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=independentid-com.20230601.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IckPGs4YN1Rf for <scim@ietfa.amsl.com>; Wed, 13 Sep 2023 10:28:15 -0700 (PDT)
Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D022AC136147 for <scim@ietf.org>; Wed, 13 Sep 2023 10:28:15 -0700 (PDT)
Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1bf6ea270b2so255765ad.0 for <scim@ietf.org>; Wed, 13 Sep 2023 10:28:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=independentid-com.20230601.gappssmtp.com; s=20230601; t=1694626095; x=1695230895; darn=ietf.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=tg4u7NS0/TzC8C67Ayhiv9re0Dlx7PxZsNEgOVv+d1w=; b=fBriCYuANPLPrPYSAIX936pMAd8SSchzCTDe8sgySRWEg6N2vrEO0gSt54vWNMbJRp R4RC49AElp+ocdytxg6aNwfyYXDwfLP6zd3OuD8TRM6plJGQF8XrrvJn4aVguPTTEJJV 8lnq/GXAA3wFmXXVCqbDoxeP7+l3Qe3A1m6B7k2WQ2tGe+777Tj9Kj6x174NTf8wXn6e aHTqBt1CqEgnLiubBncSvyRq6tGUNV05Q/uGwmofgvGyAVuL8kJcmtWeH6q525cJZYS/ PAj2Ek+LUtlupwRP4+wkMW8XoEKZpqlZm0vtq/FCT83RZw52q7Yczo9fHF/GaOiRxMxj VBnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694626095; x=1695230895; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tg4u7NS0/TzC8C67Ayhiv9re0Dlx7PxZsNEgOVv+d1w=; b=jIWhrGk6Vru2gvOEHq1Q1oIgqjTBedqtbASIb/6r6/hMLvNuPO6iMHAcNV4TwFC8cu CiCwDBCXLxrWvN+CLi3IFOt/j2Wr9V27Qeo9qD0MJQLcDs32QeU0ZgTtBBVWJQFMtaIM rXh/CUxf3paVtCzXmimMAILN9Yf+0c6q+dpsNfGvARh9/hQIPTzIw95p/X3En2DHsCUl q1pu6gcau/5KuHRkHNfQzMeHQrolG1xysya6IXr3k9BvjYUnnIpW3ai6I1Dkz6kaMkt6 0OO9fvKap5i9NdEdtDCdS9aU59YaUEe/pe04oaKsw85EVHprNg7BiEImUO7yGftPXHvC xpdA==
X-Gm-Message-State: AOJu0YxEUzwDrirXAyyBxkrYmSNyfXsFNfcNr9jWPXjIqn25c2RWLydd mbJW7sZp/4kIO9GJU92eixNcHjx59VP6opAULAlNEg==
X-Google-Smtp-Source: AGHT+IGONX/Uq5Zn4EggdKQBQYBursPCWlPlQZ3kaBMY4V4KRJWoEG4Ugl7hqTl6FbHFZFj6lCoQ+A==
X-Received: by 2002:a17:902:a40c:b0:1c2:1c9f:6bd8 with SMTP id p12-20020a170902a40c00b001c21c9f6bd8mr3312603plq.27.1694626094671; Wed, 13 Sep 2023 10:28:14 -0700 (PDT)
Received: from smtpclient.apple ([2001:569:540c:4900:a96a:4793:8b43:f18c]) by smtp.gmail.com with ESMTPSA id z5-20020a170902708500b001a80ad9c599sm10695655plk.294.2023.09.13.10.28.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 13 Sep 2023 10:28:14 -0700 (PDT)
From: Phillip Hunt <phil.hunt@independentid.com>
Message-Id: <1701BFDB-BD67-49BD-9008-372EEC4E122A@independentid.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_1CC46D79-828E-4B3F-BEAA-99ECA9517992"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
Date: Wed, 13 Sep 2023 10:28:03 -0700
In-Reply-To: <CAHTXsWcifOjuQCEFNwdvR=7JA69DD+pbXPWW-bv0CD4RwCAQhA@mail.gmail.com>
Cc: scim@ietf.org, Nancy Cam-Winget <ncamwing@cisco.com>
To: Hassan <hassaniqbal931@gmail.com>
References: <CAHTXsWcifOjuQCEFNwdvR=7JA69DD+pbXPWW-bv0CD4RwCAQhA@mail.gmail.com>
X-Mailer: Apple Mail (2.3731.700.6)
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/2JyN44UMcFlIFWhkX-XDLF-KGH8>
Subject: Re: [scim] Extension Schema Versioning in draft-ietf-scim-device-model
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Simple Cloud Identity Management BOF <scim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/scim>, <mailto:scim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scim/>
List-Post: <mailto:scim@ietf.org>
List-Help: <mailto:scim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/scim>, <mailto:scim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Sep 2023 17:28:16 -0000

Hassan,

This is a great question. Actual versioning is something we (the SCIM community) have been able to avoid so far.

In my experience, the best reason to change versions is when breaking changes occur (like changing the format or name of an attribute).  If however, it is critical that participants need to understand the new attributes, then I would rev the verison (e.g. change 1.0 to 1.1).

I assume you are referring to draft-ietf-scim-device-model-00 <https://datatracker.ietf.org/doc/draft-ietf-scim-device-model/>, which means likely any updates would come from a new draft.  That would open the door to decide whether to change the version in the URN or not.  If it is not important that implementers support the new schemas, you could keep the old version number.  If it is important, is would up the dot version for backwards compatible and the major number for breaking change.

As background: In the SCIM core specs we had a major change from SCIMv1 so all the schemas have a 2.0 version because it was a breaking change from 1.0.  Note there was never a 1.0 urn because the whole idea of registerable schemas didn’t exist for SCIM v1.  :-)

Colloquially the SCIM v2 specs refer to the idea of SCIM Protocol V2 (this is actually mentioned in RFC7644 in order to support v1 and v2 endpoints), and V2 of the schemas. Technically these versions don’t need to be locked together.  If the WG decided to change the core schemas, it would be either 2.1 or 3.0 depending on breaking changes. 

The same is true for the API, v2 would be the same (for backwards compatible changes) except for a breaking change would make it likely v3.


That said, that’s just my impression of how it might be…. not necessarily what a future consensus decision would take.

Finally, some servers might be “dumb” with regards to schemas and just reject because the URNs don’t match up based on the configured ResourceType.
Example: a client wants to submit a 1.0 device to a server that supports 1.2

Some possible solutions:

1.  If the update is a “.” change, the client can just change the schema URN to 1.2 and submit it.

2.  The server could be smart and automatically upgrade a 1.0 schema to 1.2, or even a 1.x to a 2.x and so on.  

3. The server could be smart and be able to auto-switch between versions.  By default servers would always respond with the latest version, but you could use a fully qualified attribute name (includes the schema URI) to specifically request a 1.x attribute vs. a 2.x attribute assuming the server is able to transform between versions.

——>  We may want to document schema upgrade handling in a new spec.  This would be a way to describe how the ResourceType endpoint could be extended to list equivalent or upgraded schema URN values.

Phillip Hunt
phil.hunt@independentid.com





> On Sep 13, 2023, at 6:10 AM, Hassan <hassaniqbal931@gmail.com> wrote:
> 
> Hi Everyone,
> 
> The attributes in extension schemas represent the device's technology (BLE, WiFi, etc.). Given the evolution in technologies that influence extension schemas, would it be appropriate to have extension version numbers in the extension schema URIs to address potential future attribute modifications?
> 
> Thank you.
> 
> --
> Best
> Hassan Iqbal
> _______________________________________________
> scim mailing list
> scim@ietf.org
> https://www.ietf.org/mailman/listinfo/scim