Re: [scim] Common attributes repeated in schemas

"Morteza Ansari (moransar)" <moransar@cisco.com> Wed, 10 September 2014 23:54 UTC

Return-Path: <moransar@cisco.com>
X-Original-To: scim@ietfa.amsl.com
Delivered-To: scim@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EB181A0408 for <scim@ietfa.amsl.com>; Wed, 10 Sep 2014 16:54:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -16.152
X-Spam-Level:
X-Spam-Status: No, score=-16.152 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.652, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 bWbeqp-lpgz6 for <scim@ietfa.amsl.com>; Wed, 10 Sep 2014 16:54:16 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 064D51A03CF for <scim@ietf.org>; Wed, 10 Sep 2014 16:54:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=19892; q=dns/txt; s=iport; t=1410393256; x=1411602856; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=I5j+6RYBGqkaS0OxKA2MmWHXGwGFEK6JHc2IICnxFZM=; b=igUMQ9QFC8HE/SzKmcbT9q23tTY/DwUsHOquMHVAs07suQ4Qjovh6l0D D/PK78f5Sop3I1akoZjYEJOcJ4l5ePXhV4FW276rvMPLsimzvKrUrrSy6 10cQcsSWzalo+8DIAucLWsP+hqYjJhe6F7G7YpSuGRyCQ5li6hHkJ4Mfp 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AiIFACvkEFStJV2d/2dsb2JhbABggkdGU1vKPAEJh00BgREWeIQDAQEBBAEBAUYlGwIBCAcKAwECKAcnCxQJCAIEARIfiCMNv0gBF4oAhTwNCgGETAWRSYszlTmDYWyBSIEHAQEB
X-IronPort-AV: E=Sophos;i="5.04,502,1406592000"; d="scan'208,217";a="354271956"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-3.cisco.com with ESMTP; 10 Sep 2014 23:54:15 +0000
Received: from xhc-aln-x15.cisco.com (xhc-aln-x15.cisco.com [173.36.12.89]) by rcdn-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id s8ANsFoc021306 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 10 Sep 2014 23:54:15 GMT
Received: from xmb-rcd-x08.cisco.com ([169.254.8.110]) by xhc-aln-x15.cisco.com ([173.36.12.89]) with mapi id 14.03.0195.001; Wed, 10 Sep 2014 18:54:14 -0500
From: "Morteza Ansari (moransar)" <moransar@cisco.com>
To: Phil Hunt <phil.hunt@oracle.com>, SCIM WG <scim@ietf.org>
Thread-Topic: [scim] Common attributes repeated in schemas
Thread-Index: AQHPy55+pz/aWVwTckeMvJpE5/yI6pv3/8iAgALsfgA=
Date: Wed, 10 Sep 2014 23:54:13 +0000
Message-ID: <D036322C.FB215%moransar@cisco.com>
References: <FC77A3AD-1B37-4D0F-92FB-70DBAED47ABF@oracle.com> <00C8B171-86B7-4FB2-88F0-541CC87DDC02@oracle.com>
In-Reply-To: <00C8B171-86B7-4FB2-88F0-541CC87DDC02@oracle.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.4.4.140807
x-originating-ip: [10.155.85.45]
Content-Type: multipart/alternative; boundary="_000_D036322CFB215moransarciscocom_"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/scim/NgMipeLaeLlOwpPkrg2Jak7W2-M
Subject: Re: [scim] Common attributes repeated in schemas
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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, 10 Sep 2014 23:54:23 -0000

Speaking as an implementor, given the small number of  resource types and small number of common attributes, I rather keep it simple and duplicate the definition.  Purely from readability/simplicity point of view.  Also I don’t think we can assume all extension types will have the same common attributes.

I do agree we should better define “meta” though.


Cheers,
Morteza

From: Phil Hunt <phil.hunt@oracle.com<mailto:phil.hunt@oracle.com>>
Date: Monday, September 8, 2014 at 1:15 PM
To: "scim@ietf.org<mailto:scim@ietf.org>" <scim@ietf.org<mailto:scim@ietf.org>>
Subject: Re: [scim] Common attributes repeated in schemas

One other issue I noticed.  While “id” and “externalId” are defined as part of User and Group, the “meta” attribute is not defined.

I propose that as part of creating this special “Common” schema, we include the complex attribute “meta” in that definition.

Phil

@independentid
www.independentid.com<http://www.independentid.com>
phil.hunt@oracle.com<mailto:phil.hunt@oracle.com>



On Sep 8, 2014, at 12:52 PM, Phil Hunt <phil.hunt@oracle.com<mailto:phil.hunt@oracle.com>> wrote:

First, some background: I am working on a new revision of the core-schema draft document that will also clean up some terminology (e.g. confusing use of ‘core’: core-schema, vs core-attributes, vs. core-resource etc) and better explain how resourceTypes are established and defined. So far, the changes have been clarifying only, but I ran into this item which suggests we may want to make some subtle changes.

Reviewing the Schema section of the core-schema draft, I see that the common attributes like id and externalId are repeated in each schema. For example in the definition for Group, we have…

  {
    "id" : "urn:ietf:params:scim:schemas:core:2.0:Group",
    "name" : "Group",
    "description" : "Group",
    "attributes" : [
      {
        "name" : "id",
        "type" : "string",
        "multiValued" : false,
        "description" : "Unique identifier for the SCIM resource as defined by the Service Provider. Each representation of the resource MUST include a non-empty id value. This identifier MUST be unique across the Service Provider's entire set of resources. It MUST be a stable, non-reassignable identifier that does not change when the same resource is returned in subsequent requests. The value of the id attribute is always issued by the Service Provider and MUST never be specified by the Service Consumer. REQUIRED.",
        "required" : true,
        "caseExact" : false,
        "mutability" : "readWrite",
        "returned" : "always",
        "uniqueness" : "server"
      },
      {
        "name" : "externalId",
        "type" : "string",
        "multiValued" : true,
        "description" : "An identifier for the Resource as defined by the Service Consumer.",
        "required" : false,
        "caseExact" : false,
        "mutability" : "readWrite",
        "returned" : "default",
        "uniqueness" : "none"
      },

…. and so on into the group specific attrs

If you look at the other schemas like the one for User, you will see these same attributes repeated.

Because of this, I am worried about the possibility that there may be conflicting definitions of attribute characteristics between schemas.  E.g. externalId is multi-valued in one, but not another. This could lead to configuration conflicts between schemas.

I’m wondering if we should create a new schema called “Common” which is a mandatory schema to any object schema. Its URI does not need to be included in the schemas attribute, but is always assumed present.

urn:ietf:params:scim:schemas:core:2.0:Common

As well, while this schema looks like an extension, all of its attributes belong at the “top” level json structure within the resource rather than in an extension URI based grouping (e.g. as we do with enterprise User extension attributes).

Maybe since there are only a couple of common attributes I am overstating the problem and this won’t be an issue in practice.

Is there a better way to express this?

Phil

@independentid
www.independentid.com<http://www.independentid.com/>
phil.hunt@oracle.com<mailto:phil.hunt@oracle.com>



_______________________________________________
scim mailing list
scim@ietf.org<mailto:scim@ietf.org>
https://www.ietf.org/mailman/listinfo/scim