Re: [scim] Pagination for large ​multi-valued attributes

Aleksey Chernoraenko <achernoraenko@gmail.com> Thu, 08 February 2018 05:00 UTC

Return-Path: <achernoraenko@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 B2D5F124BFA for <scim@ietfa.amsl.com>; Wed, 7 Feb 2018 21:00:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 JWGPWEJMBSok for <scim@ietfa.amsl.com>; Wed, 7 Feb 2018 21:00:04 -0800 (PST)
Received: from mail-ua0-x236.google.com (mail-ua0-x236.google.com [IPv6:2607:f8b0:400c:c08::236]) (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 527491241F3 for <scim@ietf.org>; Wed, 7 Feb 2018 21:00:04 -0800 (PST)
Received: by mail-ua0-x236.google.com with SMTP id q8so2113208uae.4 for <scim@ietf.org>; Wed, 07 Feb 2018 21:00:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=t5nV2WNPhVR0gbww1EX4kHw9F5IV4JY/noHPfQy+Nig=; b=OuCohTpK5K8x3AAiXxQZFNyTrtwwZNco8A9dtwFtD5P2JGxA4rccuCRDOhDYqBnl41 INzTaqyj5ckQQk+MgzkiFULYu9AXG7aJCJQQHQTsu7+L1tEJEqnIm/8yqoC1MQmk0UYe szX8HvnsTukIF6vMLx2oEOZnsbCOU6Bw0q7H5g5AYXz/DoUDYcIdNeu7PJ+MWhDce6gz /P9sOxi1ft5P1KFBhJMs+0Z8qfkRSU5FkkMeIJV93r+q5qAKKZIGJLu9KqyYPWptGedm JapF2VSqD74cTCmfHO8hAWKZXfKs/4KCiZwvC5sVCeDOThdapIB0pJLX40/e9hWTJUu2 VyYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=t5nV2WNPhVR0gbww1EX4kHw9F5IV4JY/noHPfQy+Nig=; b=DRq7GJDS/sSjB6HKEvqWat0zlJyn5WeSgn1ZATPejwqavye9hSWQ59PCgr/Jk22ufc UaugdGpRCQVcb5XUfqh+EqAb09Ei8MJYLE0YEbFFjMoixobIbdA6DElOPiLNEeWGBQSL wQ45lQN8sZzAXBz3BZ+EXiAiYVnjOrUoEItvxdFvVQL9UtVj4PHKcbMKrLc3PiqqyO5C CjNP1WkqrA7V9od+xvk/ahFC2oXIASe7jh0ecZAFXUH7hpG5yyKNz78rRfCXLbxLvfxZ KC/tkULhcloEeahzOkXQiNGN0QEK3w8kruHogv6FgkHN0UOP1eLnC1thGg/QGRYhL1Y4 rZMA==
X-Gm-Message-State: APf1xPBt7hcxiUwYC2sjM8KAVd0kbd9WbEO52lOkRgpQkXxQJy5o8CPM 7eFeaVLqjtZbaqOJUBbr2hWEfNiXAVUsi+ojrqsUQA==
X-Google-Smtp-Source: AH8x2259zmvbPJbikzKjnHcFrzPyRle+5rLtWtUSiXJ4f5LQh+xi0DboLozcztkYe5FK4qskmcIPjpcvkzIFZfFcebc=
X-Received: by 10.176.81.171 with SMTP id g40mr7509463uaa.150.1518066003300; Wed, 07 Feb 2018 21:00:03 -0800 (PST)
MIME-Version: 1.0
Received: by 10.176.91.88 with HTTP; Wed, 7 Feb 2018 20:59:42 -0800 (PST)
In-Reply-To: <7F2B7AC6C3EEDC4A9C067A7852FA8A2D4AA18A89@ALVMBXW01.prod.quest.corp>
References: <CAKCnT7yU5-8Gn2B6Mu=SGoDtAkgSvgSOotXhdAqp7TUa0g_Zxg@mail.gmail.com> <BN6PR04MB0339DA4DEAD2F499398CE612E2FC0@BN6PR04MB0339.namprd04.prod.outlook.com> <EA06C217-656D-4127-82DA-8398C9076366@oracle.com> <7F2B7AC6C3EEDC4A9C067A7852FA8A2D4AA18A89@ALVMBXW01.prod.quest.corp>
From: Aleksey Chernoraenko <achernoraenko@gmail.com>
Date: Wed, 07 Feb 2018 22:59:42 -0600
Message-ID: <CAKCnT7y80wqgb2xuN3GYh06r+e3Qpt_LHmkbtF9DwBhP1Cv9xg@mail.gmail.com>
To: "scim@ietf.org" <scim@ietf.org>
Content-Type: multipart/alternative; boundary="94eb2c18f980df54b60564ac4894"
Archived-At: <https://mailarchive.ietf.org/arch/msg/scim/jk3pDn7pPk9iNrjPQH-vgFcHpyg>
Subject: Re: [scim] Pagination for large ​multi-valued attributes
X-BeenThere: scim@ietf.org
X-Mailman-Version: 2.1.22
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, 08 Feb 2018 05:00:07 -0000

Matt,

“request” value for “returned” will work, and I think this should be
default for large attributes.

My initial idea was to use SCIM as a general CRUD api for all our IAM
resources, not only for the ones that are allowed for provisioning - we
wouldn't want to support another interface (e.g. OData).
If pagination for such attributes is a problem, we will have to come up
with some kind of extension.


On the other hand, addressing this in more general terms would be helpful.

---
Alexei


On Wed, Feb 7, 2018 at 3:19 PM, Matt Peterson (mpeterso) <
Matt.Peterson@oneidentity.com> wrote:

> Aleskey,
>
> I wish there were a better answer to your question than the one from
> Kelly.  Representing group memberships as multi-valued attributes is a
> material flaw in SCIM.
>
> I think that the “GetAll” scenario is much more common that the SCIM
> authors anticipated.   I would be very supportive of a draft proposing a
> better representation for group membership.  There are several well design
> patterns that could be followed.
>
> Is there anyone out there that thinks this is a problem worth addressing
> with a draft?
>
> --
> Matt
>
> From: Phil Hunt [mailto:phil.hunt@oracle.com]
> Sent: Wednesday, February 7, 2018 9:44 AM
> To: Kelly Grizzle <kelly.grizzle@sailpoint.com>
> Cc: Aleksey Chernoraenko <achernoraenko@gmail.com>; scim@ietf.org
> Subject: Re: [scim] Pagination for large ​multi-valued attributes
>
> +1
>
> There is also a practical problem of consistency. Paging in scim is
> subject to change between requests.
>
> The group discussed supporting paging with a result set for consistency,
> but the scale of intended scim usage would become challenging and expensive
> for most implementers. It also opens the door to DoS attacks because of the
> resources such calls would consume.
>
> Then there is the why question. Enumerating large groups raises privacy
> concerns. This type of action is usually quite limited to things like audit
> systems. In these cases, because paging is not consistent, it is much
> better to eat the whole elephant and get all values in one call.
>
> Phil
>
> On Feb 7, 2018, at 8:27 AM, Kelly Grizzle <mailto:kelly.grizzle@
> sailpoint.com> wrote:
> Hi Alexei – No there is a not a draft or plan to address this currently.
> It has been discussed, and the working group decided for now that service
> providers can use a “returned” value of “request” for large attributes such
> as this.  This prevents the full value from being returned on most calls,
> but does not give a great solution if you want to retrieve the full list.
>
> Also, this is one of the problems that the PATCH operation is trying to
> address.  This allows clients to update large attributes (adding or
> removing values) without having to read the entire attribute.
>
> --Kelly
>
> From: scim [mailto:scim-bounces@ietf.org] On Behalf Of Aleksey
> Chernoraenko
> Sent: Tuesday, February 6, 2018 2:06 PM
> To: mailto:scim@ietf.org
> Subject: [scim] Pagination for large ​multi-valued attributes
>
> ​​
> Hello,
>
> SCIM defines "startIndex" and "count" pagination query parameters that
> allow to control the amount of returned resources.
>
> SCIM protocol seems to represent pagination only for top level resources
> (e.g. /Users?startIndex=2&count=10) and does not address pagination for
> multi-valued attributes, like group membership.
>
> Are there any plans/draft or recommendations how to handle such use cases?
>
> ---
> Thank you,
> Alexei
> _______________________________________________
> scim mailing list
> mailto:scim@ietf.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.
> ietf.org_mailman_listinfo_scim&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIr
> MUB65eapI_JnE&r=na5FVzBTWmanqWNy4DpctyXPpuYqPk
> AI1aLcLN4KZNA&m=85am0fsWIUdt_GtySTbIxdrAiBPR9Uj7m4NCxKasMoU
> &s=gBOvAbkEpQlYlLgz-Xn119F9mavBadvf5oNyg6fICXI&e=
>



-- 
Best regards,
Aleksey Chernoraenko