Re: [scim] [External Sender] Re: Error extensibility in SCIM - meeting follow up

Jennifer Schreiber <jennifer.winer@workday.com> Thu, 25 January 2024 18:28 UTC

Return-Path: <prvs=375449591c=jennifer.winer@workday.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 55E86C14F5E6 for <scim@ietfa.amsl.com>; Thu, 25 Jan 2024 10:28:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.002
X-Spam-Level:
X-Spam-Status: No, score=-7.002 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, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, 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=workday.com header.b="OUzaVzUw"; dkim=pass (1024-bit key) header.d=wdinternal.onmicrosoft.com header.b="OyAlVJYo"
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 mH8cNTDSBKPe for <scim@ietfa.amsl.com>; Thu, 25 Jan 2024 10:28:46 -0800 (PST)
Received: from mx0b-001ee601.pphosted.com (mx0b-001ee601.pphosted.com [148.163.159.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9B36FC14F68E for <scim@ietf.org>; Thu, 25 Jan 2024 10:28:46 -0800 (PST)
Received: from pps.filterd (m0272038.ppops.net [127.0.0.1]) by mx0a-001ee601.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40PINrTn017284; Thu, 25 Jan 2024 10:28:45 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=workday.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=Workday; bh=0GIZnq9DEtx2+UNq8zZOF0wWL2HTvfrWbcB/1YAsaqU=; b=OUzaVzUwlPoowvodcYrEA/rwxffaIyJ4jVwnPF/jERixsEBZMasuf8cVcG0YmjOiuE/G mHdpjvJYeeTzz+Zdyrjdl1fj6xcm2sL4g8e/DPXH8QX9vx883yArWpYx3JiJ7DupiYlO 5hpdBQGUr3o753raX3+tb1vad0k4nX37cCLFC5SmXPvO96jRq135GmcbdLjbS7kLEHtK tVbstDqpklEzII1pxlCaZJ/9xLiXF9UMyK51uminCGVCVEc6hHnyyVB71HWqGaOkZ9AX cJEXVGEKzTIdumFb/voSMhy4O+Zc0rYPZdr0qvPn0twj4D+qh9AdUqJMGL+KPj9ipi4R qQ==
Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by mx0a-001ee601.pphosted.com (PPS) with ESMTPS id 3vuvvsg1fj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 25 Jan 2024 10:28:45 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V3NKo4aQe3Heq8xLqCFmdwyB1vI3PTZspjcOKeGAaj5pibsxymwfeUnPhttOYCxh43V4QWlI4JvmJ0t+umBynpCuP9lLkL4Ev8T2gUPUhsy8Q7mndUkmrhnYPrea4CMAf3odWMrpJgC36NQahuwjc6Slp6PFyaTbdebgYlsJDpubWHaE+e8n4OnKbYKGBnu4HQ4EQNphTfXkk8ekHXTV+XJu8LX4KRvOINlxLnH/769MrNdvVDEkXZo51ikvd6fBI2eGu5AQchf/y4JapaejwT6EbNt5RycjBs4LpeSeZ9gCAjrkL/6ogsRN5audFzK7oSHJsSgZDJhUb3ukcuKbzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0GIZnq9DEtx2+UNq8zZOF0wWL2HTvfrWbcB/1YAsaqU=; b=IiOXGT4lP3ujcb9stMjOJD1QhCQpLWuIhHc1eykB1WtigJE8LuUBdZJ7KeRL5Kr/kiyEKW+sYN2BAVChlplawKzI+SMhJP2zyppr1fzlYNCrdAOTh8m49vlzghMWWJyrKYk8WxQ09vMumfYTU8dYT5NhBqGSIFNuHT176g1zakWttG95nDcsDtHSs19FsSDupOVdq3OktzOqAl/4vR2PCZhnvNPreAIPwlbSSi30SjuPNe0HgBsrvkOCcg7uzBLXiMOfAgO/34001XqP5SmXZ26OadYoO6/LmaeBsIGqM7NOQoWsEI5TWV0TwHoccIFnhnISaSC+DCom6GG1yLquIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=workday.com; dmarc=pass action=none header.from=workday.com; dkim=pass header.d=workday.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wdinternal.onmicrosoft.com; s=selector2-wdinternal-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0GIZnq9DEtx2+UNq8zZOF0wWL2HTvfrWbcB/1YAsaqU=; b=OyAlVJYoGtDXEc+DQCbxWT0QDqvG1kM37NK917VOVAUu1usA6aHcLEJMYTLwT1S7/JM6LGF1J6Vgjvolwc7aKcLfsCneoS9ABp5nndkV5L/Gd7uGVdd5dylMVAS8NmFN2z3TSXDXCY8kOfASQBAefmjJGhvIiY6LXiqrBME3s0o=
Received: from CY4PR06MB3413.namprd06.prod.outlook.com (2603:10b6:910:52::38) by LV8PR06MB9470.namprd06.prod.outlook.com (2603:10b6:408:190::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.22; Thu, 25 Jan 2024 18:28:43 +0000
Received: from CY4PR06MB3413.namprd06.prod.outlook.com ([fe80::48df:71fa:dc52:621b]) by CY4PR06MB3413.namprd06.prod.outlook.com ([fe80::48df:71fa:dc52:621b%3]) with mapi id 15.20.7228.022; Thu, 25 Jan 2024 18:28:42 +0000
From: Jennifer Schreiber <jennifer.winer@workday.com>
To: Phillip Hunt <phil.hunt@independentid.com>
CC: "scim@ietf.org" <scim@ietf.org>
Thread-Topic: [External Sender] Re: [scim] Error extensibility in SCIM - meeting follow up
Thread-Index: AQHaSWFOrF9BhnktTEedJF5D2RzO6LDmZ8WAgAR8e4Q=
Date: Thu, 25 Jan 2024 18:28:42 +0000
Message-ID: <CY4PR06MB34133336A19829AB8EF4BF05967A2@CY4PR06MB3413.namprd06.prod.outlook.com>
References: <CY4PR06MB34132DAEE819AB18D45EC76996722@CY4PR06MB3413.namprd06.prod.outlook.com> <F7CB06C8-F9E7-48DC-9BD7-6F13FC3EF779@independentid.com>
In-Reply-To: <F7CB06C8-F9E7-48DC-9BD7-6F13FC3EF779@independentid.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CY4PR06MB3413:EE_|LV8PR06MB9470:EE_
x-ms-office365-filtering-correlation-id: 512d40e1-855b-4186-46a3-08dc1dd375af
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: cpHQ0Cj4BJg/P7Aprn6tVVlENx/wOfzqn0DRqYQOlA5S3g9GCzu4fwEtpWRRYlsiTxO1Sang20iaPowQbvVY1Av2kUGJ1aOYkxoDrapFWm0bkYWSO+xIqY0Setza90GCiC/TIuYn7YqIQv+xoYqPJSjpRGdN5nr93vgiOoAVWcKWxEa3aEp13aawzOSStWUvAdPQx18D9jRUH4NTKUGfRGF5owZfTGvnr93gOUDq7Sbrg62G/GiXpnwOw1s/OD8oWH8Ztzsj3U4P0M0jrJNtZQeF5O3lfLU2Ss9Ev+VyFanRqzKpO4rHMov+waG9+X+OXK+kjL3adJ+8LbLQByQXuTuYe0UYxyfZbkN8m76Q5FHmRiu8OvZ/4QCCGYp5NaHn9fwgODTBIKX7Vn5fPTbrCngZuWY+MBkQ1CumqybhK5fd7T9ArEZ9qkxCibGLTFgyAccpBf52TLBCxSOX1frHwSJEUpmUSNb/8P5Wz3sGG2n3fBEZNoo1YzgBgdMzm7wDroHqi1T7GUVECxNYVOR3/LoG9dSE0Y78IK48xACVJYH5SpDjqNiEZa7vHUpadcY+Ub7avAGR4YLaDeblEukCBgb2/X4Ryai/AstUkeX/pMONFEqaoEH3ytHJtj9t+Lem1mJFXoeeFJaLm3KZ01PIeA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR06MB3413.namprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(136003)(376002)(39850400004)(396003)(230273577357003)(230173577357003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(83380400001)(9686003)(38100700002)(122000001)(7696005)(966005)(91956017)(52536014)(4326008)(6506007)(8936002)(5660300002)(66446008)(2906002)(8676002)(26005)(53546011)(76116006)(66946007)(71200400001)(478600001)(6916009)(316002)(64756008)(66556008)(66476007)(41300700001)(166002)(86362001)(38070700009)(33656002)(66899024)(55016003); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: OqK/m/K5VQSywqhBVsxw3UXsLDy08miEqi23Knzy7mKObSNKGHN4ELwp0SrY/JG/5GNID3v+i3fnSp1sbYlCSKgAss/IuqPdA+RWU9dALn8+u33RqFRpm+w6srhweIWkG/pawgwRFiZzSp5iVk9ljJhMGvf5a2tFx/Te1OTpl3gyj01ZkoOg4g5hzbiyIUQWH6NCVsclPWOcPyAVR2EoXclwCuO7e/ap/bJ21xH6MAShVyvhgrsA/9KwkSVwtjeVw5ECc3nIxwJQStJZK1qMSqRk7NtYf0OlhZGcckor0PYjXz/l6o8vpScI2QqViGdDp3uXHCo9xagJQepN00Q6/x1nEZUQLYSLukwy/KCtTShKd6FYPqPsZ5OIbpyDTDV9rNG7H6qz/y23cgaoVWDHhm4T3iaY774kBJZICW7sUWjYxaWfI6u+YjbX7yOKaGNSSsD+f5XI/J+Swp3+8v1DzY6PywxBZyg/0AQM5BB4Xr6FXMyf7CgY0y7LccAyn4EFMXx9+7HEBnjGIVMFuzLQxYPTt7/mnNE99IVelqOjshWosjRhdTQ2rJ6HDRavQM+dkncMGrU8wSwHBVahBWCswzwLOhJb/DQ3ythnl+c/db6P+/4fuF4gCwnSMxkCruZ8B7d+0CLXwjMLJfDUsxJCd2ZhZ/FHc+rSNCylkLbMsnVs5g9oNEW3E69fLcIZmwTDtcs51vYaoQuzruXMp2NQf4vtHMwox4gLrf9FgrKR0bhTmogr0Plg6BSRl8EW3qO5k4HUKr35qee2zscQouV8/B5fzKASs0kpmdS7NTWd7TnSj76K43Tf8zD2IcvUf35NdDyqvVtM1v3K6AHwcienXiM5wi0h+Et9kG6WRGnOXbVtaby1quMnrkIMuuT0HArDTjGITNLRFYxUyN9Xu2x7FhUv7UtazF9WOa1nUc+xOLofH1Iw2OG6FT7Ec0VV6EhiPRCxcFBZsp6d/GqToMjPzkbtwVmD/O0vOg25kwjyv2wdXcSnkp1y00MaykiaotdKGoRQ6+l5YXgs5FjT46T7RDb4zbaPByEV9kSQ7zwNIfEq2gcY/7LSNxnYt1WeR/pvQ1xABGdVL/vfaTyatpa6lbHZMdcWfwk3PoCo+DGm5lY3EbpchzJekEPQrYTK6UPxDmdLgDUBvLnhQ2WqiiOE/0hr9ZEDRjO0/aCpfgOhB4V8EZ7/CicidG/SxByyRS22meRScKA4AQNgl9q2Szf4xcVUXiQtiKJf4TTuQ6EFIXG98nEqxN3JzbIYUfNpRfZn+dpv0YtCfr8zsF6mmc3AMmbsWNTpe3dV3pECQhgJ77ywDa18cbnAZnTQdZ5RNz3VgL3wxOchGFiqqOBOVbs5lEkPARy8nswbV2O6l6XEoabEmqb+vGFC5AGtLLkwoTzxu52pLWAsoQM8+N6S3VuLSHiYr3HYcoeXmAw0r695m9DVhgx2SaL5LwMzR9VlaIGJImbkDvZwVeW+Sy/T+Lt374JH/aSiBhvvpOiBnlTxot+lqxnFyV2EFOeAh6WIcMn8KoaoYlNhR8PNT9yLrgchGi+yjwI7nWtrZJGdPYf/TSI33DsO1hSYWT66EsajwgJpuuU3WFT6U64zwNhe2kko40V76ic1n+jlTizH4JegfjAte09rKc3lF2CWdh76Uja0
Content-Type: multipart/alternative; boundary="_000_CY4PR06MB34133336A19829AB8EF4BF05967A2CY4PR06MB3413namp_"
MIME-Version: 1.0
X-OriginatorOrg: workday.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CY4PR06MB3413.namprd06.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 512d40e1-855b-4186-46a3-08dc1dd375af
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2024 18:28:42.9145 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 32e232f6-4e92-46d3-b401-fe8baa3788e9
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wuSL0ugi3FMhHDm66D07zXit9ynKEUAA7acsp5MxiakKwmktpibXcoKCRrRoguyq8h+R0iDmyVY6b6wZxAhzXUvmWcGpV3WFwKcroG1qspHT1zhpWTIBTZOfnY2mKuz8
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR06MB9470
X-Proofpoint-GUID: PkXUfKnDLjEQ9oBT7053jumwcIflfL7S
X-Proofpoint-ORIG-GUID: PkXUfKnDLjEQ9oBT7053jumwcIflfL7S
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-25_11,2024-01-25_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1011 adultscore=0 bulkscore=0 mlxscore=0 priorityscore=1501 impostorscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401250133
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/47Xw_qLIgzGP57P8bo2cgXb6vYc>
Subject: Re: [scim] [External Sender] Re: Error extensibility in SCIM - meeting follow up
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: Thu, 25 Jan 2024 18:28:50 -0000

Hi Phil – no prob.

This makes sense theoretically. I still have two use case:

  *   A support tech would use an errorCode or additional error details (such as a timestamp, correlation id, longform error detail etc.) to communicate with the SCIM server support human to debug.
  *   A SCIM client may want metrics on the errors often occurring for their requests where SCIM detail would be too granular.

I am mostly finding that the current SCIM error message is too vague, making challenging for the SCIM client to easily (machine or human) debug what is going on with their failed requests. We’ve had to rely on concatenating the error detail to put more relevant information into the response which is less than ideal.



From: Phillip Hunt <phil.hunt@independentid.com>
Date: Monday, January 22, 2024 at 2:52 PM
To: Jennifer Schreiber <jennifer.winer@workday.com>
Cc: scim@ietf.org <scim@ietf.org>
Subject: [External Sender] Re: [scim] Error extensibility in SCIM - meeting follow up
Jennifer,

Sorry for not getting back to this sooner. This is important.

First, I will just zero in on your example (this may not answer your question about extending errors):

In SCIM, the expected behavior is to ignore read-only attribute updates in most cases. The best description of this is probably within the SCIM PUT.  The intent was that a relatively simply client (eg. javascript) could do a GET, change a value, and then do PUT to put the reosurce back. The value of PUT was to avoid having to pay attention to mutability.

The mutability error does apply to PATCH when the intent by the client is to “target" a read-only attribute.

With that said, if a client (or more likely a support tech) wants to know why an attribute isn’t updating, the schema endpoint is supposed to report the actual mutability.

==> the reason this was done was that the collective experience of the WG at the time was that X.500 and LDAP were far too fragile by throwing errors on everything didn’t line up perfectly.  The consensus at the time was to follow Postel’s Law (aka the Robustness Principle), which boiled down meant that SCIM servers should accept requests that are understood (but not perfect), and the client must accept the response (disclosure:  I understand many in the IETF have ‘moved on’ from favouring ‘robustness'.

This use case is an example where this robustness plays out. A client doing a PUT has a bunch of attriibutes that can’t be modified but one or two that can. The server accepts the requests and updates the modified fields.  The final state is returned to the client which tells the client what was actually accepted.

—> In this way SCIM avoids the need for a lot of complex signalling and error reporting.

Let me know if this answers your question.  Or did you still have another use case for a detailed error?

Phil
phil.hunt@independentid.com






On Jan 17, 2024, at 8:29 AM, Jennifer Schreiber <jennifer.winer=40workday.com@dmarc.ietf.org> wrote:

Thanks everyone for a great discussion yesterday at the meeting. We discussed error handling as relevant to scim events draft and RFC 7644.

Mainly, the big question that came up:
Is there any extensibility method for the error messages ("urn:ietf:params:scim:api:messages:2.0:Error"), similar to Section 3.3 of RFC 7643<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc7643*section-3.3__;Iw!!Iz9xO38YGHZK!6D6SrM5Foas-icEjP3y9gveFMQZmfYweHP_NT89JpkM3IiHNprSv_u1objVF30Hks_nADJD9soHVSaKjusq67NXECuUiPg$>? Can error messages, as well as the other scim messages defined in Section 8.2 of RFC 7644<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc7644*section-8.2__;Iw!!Iz9xO38YGHZK!6D6SrM5Foas-icEjP3y9gveFMQZmfYweHP_NT89JpkM3IiHNprSv_u1objVF30Hks_nADJD9soHVSaKjusq67NUEork4lw$> be extended?

Section 3.12 of RFC 7644<https://urldefense.com/v3/__https:/datatracker.ietf.org/doc/html/rfc7644*section-3.12__;Iw!!Iz9xO38YGHZK!6D6SrM5Foas-icEjP3y9gveFMQZmfYweHP_NT89JpkM3IiHNprSv_u1objVF30Hks_nADJD9soHVSaKjusq67NU-hbJA7w$> is a bit vague about the matter.

This came up for my internally, as the error message is not meeting my implementation needs. We're requiring an additional field, errorCode. Anjali also mentioned the need for an jsonPath field.

During the meeting, we talked through a couple ideas (that I will review in the next meeting) such as below, but we kept coming back to the same extensibility question. I wanted to open up the discussion here prior to the meeting.

```
   {
     "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error", "urn:ietf:params:scim:api:extension:messages:2.0:AdvancedError"],
     "scimType":"mutability"
     "detail":"Attribute 'id' is readOnly",
     "status": "400"
     "urn:ietf:params:scim:api:extension:messages:2.0:AdvancedError": {
         "errorCode": "ABC-1235"
     }
   }
```

Thanks,
Jen
_______________________________________________
scim mailing list
scim@ietf.org<mailto:scim@ietf.org>
https://www.ietf.org/mailman/listinfo/scim<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/scim__;!!Iz9xO38YGHZK!6D6SrM5Foas-icEjP3y9gveFMQZmfYweHP_NT89JpkM3IiHNprSv_u1objVF30Hks_nADJD9soHVSaKjusq67NUjA2dxdw$>