[scim] ExternalId Case Sensitivity

Shelley <randomshelley@gmail.com> Wed, 11 March 2020 13:26 UTC

Return-Path: <randomshelley@gmail.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 61F063A18D8 for <scim@ietfa.amsl.com>; Wed, 11 Mar 2020 06:26:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UeLTMxSMjfeV for <scim@ietfa.amsl.com>; Wed, 11 Mar 2020 06:26:05 -0700 (PDT)
Received: from mail-vs1-xe29.google.com (mail-vs1-xe29.google.com [IPv6:2607:f8b0:4864:20::e29]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 76C173A18D5 for <scim@ietf.org>; Wed, 11 Mar 2020 06:26:05 -0700 (PDT)
Received: by mail-vs1-xe29.google.com with SMTP id c18so1285239vsq.7 for <scim@ietf.org>; Wed, 11 Mar 2020 06:26:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=ozeGxwiMyg2T4NNl+qeNrBUMNOy2KoU7dPemwjVWbTA=; b=mi/I1WT3aPpEa2bctNngBm1wgIeaf9zE99dnTdCpCRs867gsO4K12Wv8xe5pn6UpoF tMSPHyRrZBDQnp3EAWNUn/7n0jMqoppleEf11ERbl+MMXwndvNZU5BuNYeJrNHNfmgUM z+RuJgqACCTX9ZCwZ5bVM97dQPJFn9L/eSHaQgUspNka8ECVJGJsVDbBaS0JKjbb0kyb Nn7r7mjQn+E1IVKrS9tWD6ecFbxwicwl8nITkDeLIlUjX4wtxAemNz7cq46pO3wjudXs 9PhQW28rOXoD6sy8P0xtEh+w/xArtDUlfXp+2ARn5Ts8X5nhxXE8sWbI37JGfKfGH7Cq d+oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ozeGxwiMyg2T4NNl+qeNrBUMNOy2KoU7dPemwjVWbTA=; b=eh80yK1dmvIqLb+4QgAUtd21wQq9sige2EhgZ7SIEfCCHQGP3JW5gIiU2Y4NhItO4O 1wrlTXaAHtCDLcRRV4y7xjL4LdvnGoLTymtjxUuIa1pB6Vg0WhzIyl3jEaJ/AjOd42NZ NfHCj75UGFZOscT45oqK1LsY41AKrrMDFsefj4YHNk9zqBHN4rK2iHHAJJ4bF7LWnquI a8bnmDo6jzEOySZ36OrbxOqaseaDZHZrhjpy8ry52bmsfA6s+wgE4r80+JgTzHufDk+G VeptnvMCZx6myPnCOTs9Q3MJf4yJSHHDH8x4gqpCTBLe+4YQt94ZVS17ZT4smf1YAhrU 0jYw==
X-Gm-Message-State: ANhLgQ1MH96EG+iJ9KVAvv6+m+xRzC4+J2lPe3cBqnHOrsvJn7FSEXjj jVx0/rwSm+aSBC0VBiFNGnSbof7RshsInbz2NuPlNi6aBvzcKw==
X-Google-Smtp-Source: ADFU+vvwxNdhSvT6vt0dX0m5EORXQ/1dTHRBm23XCvbq0arKANoCtE8kgGA4L5TmE51aAoI3x9mxcTMFX/RSXQAKFRY=
X-Received: by 2002:a67:b107:: with SMTP id w7mr2035075vsl.128.1583933162791; Wed, 11 Mar 2020 06:26:02 -0700 (PDT)
MIME-Version: 1.0
From: Shelley <randomshelley@gmail.com>
Date: Wed, 11 Mar 2020 08:25:51 -0500
Message-ID: <CAGUsYPzr9UA1r5eNFcjD0vJ-7ApNkvQ=_GE-Q28c=KFd8n4pmQ@mail.gmail.com>
To: scim@ietf.org
Content-Type: multipart/alternative; boundary="00000000000084260905a0942d17"
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/7ElDxpsgHZGRmQrXOTIR1jwuTts>
Subject: [scim] ExternalId Case Sensitivity
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.29
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, 11 Mar 2020 13:26:07 -0000

Section 3.1 indicates that "externalId" has "caseExact" as "true". However,
I would like our service provider's "externalId" attribute to be
*case-insensitive*, but since "externalId" is a "Common Attribute", service
providers cannot change its attribute characteristics [1]:

For backward compatibility, some existing schema definitions MAY list
> common attributes as part of the schema.  The attribute
> characteristics (see Section 2.2) listed here SHALL take precedence
> over older definitions that may be included in existing schemas.
>

I have a few related questions:

   - *What was the reasoning behind making externalId caseExact*?
      - From the perspective of *case preservation*, I can understand the
      use of "caseExact" for externalIds; however, for *filtering*, it
      still seems appropriate to search *case-insensitively*.
      - I've seen some past discussions where "externalId" had "caseExact"
      as "false" (e.g. [2,3]), but it seems to be "true" in the final
RFC, and I
      was unable to trace that decision back to a discussion.
      - If I'm not mistaken, externalId was case-insensitive implicitly in
      SCIM 1.1 as well.


   - More generally, perhaps future-thinking (unless this has already been
   discussed), perhaps "caseExact" may be over-simplified? There are
   potentially 3 different uses for caseExact, and they may not all share a
   value:
      - *Case Preservation*: Must the server preserve the case of the
      attribute?
      - *Uniqueness*: If the attribute is unique, must it be
      case-sensitively unique?
      - *Filtering*: Should the attribute be filtered case-sensitively?
      (Perhaps allowing clients to specify case-sensitive filter
operators may be
      more appropriate than making this part of the attribute's
characteristics?)


   - Should service providers be allowed to *change the "common attribute"
   characteristics* to account for cases such as these? The spec currently
   seems to forbid this.

[1] https://tools.ietf.org/html/rfc7643#section-3.1
[2] https://mailarchive.ietf.org/arch/msg/scim/ev7DC2ZUTtaIam4RmcbhSyCF9xE/
[3] https://mailarchive.ietf.org/arch/msg/scim/NgMipeLaeLlOwpPkrg2Jak7W2-M/