Re: [Id-event] Subject Principals and Subject Principal Administrative Groupings
Dick Hardt <dick.hardt@gmail.com> Tue, 14 July 2020 16:32 UTC
Return-Path: <dick.hardt@gmail.com>
X-Original-To: id-event@ietfa.amsl.com
Delivered-To: id-event@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id D8C6D3A0A83
for <id-event@ietfa.amsl.com>; Tue, 14 Jul 2020 09:32:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001,
RCVD_IN_DNSWL_BLOCKED=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 OHNxBvsuWkwL for <id-event@ietfa.amsl.com>;
Tue, 14 Jul 2020 09:32:27 -0700 (PDT)
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
[IPv6:2a00:1450:4864:20::22f])
(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 59F653A0A7D
for <id-event@ietf.org>; Tue, 14 Jul 2020 09:32:26 -0700 (PDT)
Received: by mail-lj1-x22f.google.com with SMTP id j11so23627341ljo.7
for <id-event@ietf.org>; Tue, 14 Jul 2020 09:32:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=+G3RoRlYp+pq2y0vRS4xTVsZ5n77QkJAlreUoH2qBA8=;
b=sbtXbM1XaqUJvprFYbWnJIKk7qKh317V7qyB+T74MeCmShivVK2fGENh/RI+VbB5rB
omkh1Cur/I7aNpvn005MLXI1QDGb7FbACxpRe7g4SW8yneGZXEIrVuo9LRuHrD29vAxP
bnAFJ36accsrz3uSYugtlOob01HKiI/Uu40ZBAf04XPd2+6QvVe/p01QG45MYTU9/XK7
aaHVGmZS+siXwGm8t6gM+RzhPE9EbcJCkY8NsQySJfboMIaAuxPFRXozoaYricPTD/c9
YRZZPpwEvjb7SNqgA3Y5T+0LnUH18UXO0u8N+rie6LWxqDZzDvs+zw7v3tL4WtCH49Oq
Gpxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=+G3RoRlYp+pq2y0vRS4xTVsZ5n77QkJAlreUoH2qBA8=;
b=ZmVVciNFRBYilPlDHbHBB/KPzUkIcllQo8M0hqWh1AzQSIDrx1Aoej0iC6/rPFDQhC
Gk5Lc7D0UOiWeQ+eezKE6h7GjTfzHfhvpDrpVkYbQGSnXR5VpnYizp91EBq3XI4y/rfT
rEkmmXXg7ZVirM0Gn/W683az9iwAIZIkmvus/fsC4Rz22JdYcgLhgUfQSwpx0K2QP1wu
9o8u78scFPsMnyBW4FPHMUh9sHuGb5PyxeG5rovIyfJNOTpK0UAV6tx/RfG/+xUQj0jt
gbozA7Btr9lDv0E8mzWdTvY1tGNqIPNlF3PtbQ4mUsszon0yfeoexVIEdPL+dT1UvrA+
gqkg==
X-Gm-Message-State: AOAM531oZ4RwQJTY1r/abBzkrQQcnthMfBiKaZoJ1mw4UH/DJmm1h/em
AskEs2kA17u0BBdj813y+YYbb6lhCIZbC/XkM+Q=
X-Google-Smtp-Source: ABdhPJwy8YN66Ar6Anv/f9304N0O07JDKr9A67ReKQOYRyzhtPw5/gg7udFLiUY9BPfeyJ1dquiX6WWrB5iTqPRGeWk=
X-Received: by 2002:a2e:80c9:: with SMTP id r9mr2777659ljg.69.1594744344251;
Tue, 14 Jul 2020 09:32:24 -0700 (PDT)
MIME-Version: 1.0
References: <CH2PR00MB067812E3F5D58E5B1F029137F5610@CH2PR00MB0678.namprd00.prod.outlook.com>
In-Reply-To: <CH2PR00MB067812E3F5D58E5B1F029137F5610@CH2PR00MB0678.namprd00.prod.outlook.com>
From: Dick Hardt <dick.hardt@gmail.com>
Date: Tue, 14 Jul 2020 09:31:47 -0700
Message-ID: <CAD9ie-s_b-vfUMhaOQz23C27_6eA6Cd-KeVjvh7HBgD1TTdByg@mail.gmail.com>
To: Mike Jones <Michael.Jones@microsoft.com>
Cc: Atul Tulshibagwale <atultulshi@google.com>, SecEvent <id-event@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000025a2fd05aa695a57"
Archived-At: <https://mailarchive.ietf.org/arch/msg/id-event/hGnM00oel4hWdxQX0cJPRS4WAJg>
Subject: Re: [Id-event] Subject Principals and Subject Principal
Administrative Groupings
X-BeenThere: id-event@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A mailing list to discuss the potential solution for a common
identity event messaging format and distribution system." <id-event.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/id-event>,
<mailto:id-event-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/id-event/>
List-Post: <mailto:id-event@ietf.org>
List-Help: <mailto:id-event-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/id-event>,
<mailto:id-event-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Jul 2020 16:32:30 -0000
Well ... that was not quite what I was saying :) ... but it is another question to ask. I would lean towards it being a subject modifier (a property of the subject object) rather than somewhere else. On Tue, Jul 14, 2020 at 9:25 AM Mike Jones <Michael.Jones@microsoft.com> wrote: > I agree with Dick that a key question is whether the SPAG belongs in the > event or in the subject identifier. > > > > Note that this specification could still define a SPAG for inclusion in > SET events, even though its primary purpose is defining subject identifiers > for use in SETs. > > > > -- Mike > > > > *From:* Dick Hardt <dick.hardt@gmail.com> > *Sent:* Tuesday, July 14, 2020 8:56 AM > *To:* Atul Tulshibagwale <atultulshi@google.com> > *Cc:* Mike Jones <Michael.Jones@microsoft.com>om>; SecEvent < > id-event@ietf.org> > *Subject:* Re: [Id-event] Subject Principals and Subject Principal > Administrative Groupings > > > > Hi Atul > > > > If the SPAG has value in the event message, then it should be specified. > > > > I was proposing that the SPAG be determined at the transport layer rather > then the event/message layer. > > > > An advantage of being in the event is that it is independent of transport. > In a multi-tenant situation, where different components do different parts > of the processing, and the original transport is no longer available, the > SPAG would be always available rather than wrapping the event to include > the SPAG. > > > > > > > > > > > > On Tue, Jul 14, 2020 at 7:55 AM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > A few points / responses: > > 1. Agree with Mike that spag_id should not be a required claim unless > it's actually required for every subject. So keeping it optional (if we > decide to have it at all) is the right thing to do. > 2. IMO it will be far simpler for multi-tenanted hosts to use SPAGs > rather than manage multiple event streams (i.e. one per tenant) > 3. A multi-tenanted architecture is increasingly very common, so this > will apply to a large number of organizations. > 4. For single tenanted transmitters, the SPAG id may be inferred by > receivers. Single tenanted receivers may ignore the SPAG ids in the > subjects. So processing SPAGs in hybrid situations does not appear to be > cumbersome. > 5. The use of SPAGs is not limited to tenant-level information, since > it may be applied to OUs or groups > 6. If we agree that SPAG is a "meta concept" that applies in most > situations, then capturing it in the spec is probably important. What Dick > is proposing is a way to implement SPAGs without specifying them in a > standard, so each entity is free to define it the way they want. This > approach can cause incompatibilities. > 7. Without SPAGs in the spec, if peers need to send events about > SPAGs, then they need to use the "iss-sub" catch all to send events about > enabling or disabling events about SPAGs. Since this is not standardized, > it could also cause proprietary and incompatible implementations. > > Atul > > > > On Mon, Jul 13, 2020 at 5:23 PM Mike Jones <Michael.Jones@microsoft.com> > wrote: > > As I see it, the use cases that require a spag_id can use them when > necessary (unless the working group decides on another way to do this) but > I certainly would oppose requiring it when it’s unnecessary. > > > > -- Mike > > > > *From:* Id-event <id-event-bounces@ietf.org> *On Behalf Of *Dick Hardt > *Sent:* Monday, July 13, 2020 5:13 PM > *To:* Atul Tulshibagwale <atultulshi@google.com> > *Cc:* SecEvent <id-event@ietf.org> > *Subject:* Re: [Id-event] Subject Principals and Subject Principal > Administrative Groupings > > > > Would different URLs for each relationship not solve your issue of > maintaining secrets for each SPAG? For example: > > > > https:/example.com/secevent/SPAG_ID_1 > > > > https:/example.com/secevent/SPAG_ID_2 > > > > https:/example.com/secevent/SPAG_ID_3 > > > > Then the credential is independent of the SPAG, but we are not injecting > an identifier (spag_id) that is only relevant to orgs that want to use the > same credentials across SPAG relationships. > > > > > > > > On Mon, Jul 13, 2020 at 5:08 PM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > I am OK with making the spag_id a required claim in every subject > identifier. For single tenanted transmitters, it would be a constant value > for all events they generate. > > > > On Mon, Jul 13, 2020 at 4:01 PM Dick Hardt <dick.hardt@gmail.com> wrote: > > So the receiver is using authentication sometimes to determine SPAG, and > not at other times? > > > > I'm digging into this as I had always thought of the event being between > two parties, where they are identified by the endpoint and/or the > credentials. > > > > Adding a relationship identifier seems to be solving the problem at the > wrong layer, unless it is in all events. > > > > > > On Mon, Jul 13, 2020 at 3:54 PM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > Sorry for the terse message. > > > > If a single tenant transmitter is trusted by a multi-tenanted receiver for > a specific tenant, then the SPAG-id need not be included if the subject is > unique at the tenant level, because the receiver will automatically > identify SPAG that the subject belongs to on its end (based on the > authentication). > > > > > > > > On Mon, Jul 13, 2020 at 3:37 PM Dick Hardt <dick.hardt@gmail.com> wrote: > > Which part is not required? > > > > On Mon, Jul 13, 2020 at 3:33 PM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > Not required, since the claim is optional. > > > > On Mon, Jul 13, 2020 at 3:25 PM Dick Hardt <dick.hardt@gmail.com> wrote: > > Would a transmitter that is only in one SPAG (a single tenant system) have > to include its SPAG id in events sent to a receiver that accepts events > from multiple SPAGs? But it would not include it in sending events to other > receivers that have separate credentials for each relationship? > > > > > > > > ᐧ > > > > On Mon, Jul 13, 2020 at 3:05 PM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > That could be true but there are a few ways in which it can be avoided: > > 1. The peers leverage some higher-level trust to accept / decline > events relating to lower level SPAGs. For example, if trust is established > at a tenant level, then an OU level SPAG need not have its own > authorization. > 2. The secret required for establishing the authorization of a SPAG > may be temporary. For example: > > > 1. An administrator signs in to their tenant in the transmitter's > administrator console > 2. The admin obtains a temporary authorization (one-time code) > 3. The admin signs in to their tenant in the receiver's > administration console and pastes in the one-time code > 4. The receiver sends a request to enable the stream for the > specified SPAG with that one-time authorization. > > In the first case, there are no additional secrets required. In the second > case, the secret is temporary. > > > > > > > > On Mon, Jul 13, 2020 at 2:34 PM Dick Hardt <dick.hardt@gmail.com> wrote: > > I see the SPAG lets the transmitter and receiver provide context, as the > subject identifier may be the same across SPAGs. > > > > Now I'm trying to understand how the transmitter authenticates to the > receiver if it does not have it's own secret (assuming that authentication > model) -- IE, how does the receiver know the transmitter is authorized for > that SPAG? > > > > > > On Mon, Jul 13, 2020 at 2:08 PM Atul Tulshibagwale <atultulshi@google.com> > wrote: > > Dick, your understanding is correct. > > > > To clarify the proposal here, Here's the text I'm proposing to be added: > > > 3. Subject Principals > > Subject Principals are the management entities associated with > Subjects. These may be human or robotic principals or devices or > other entities that are managed by transmitters and receivers. For > example, the same Subject Principal may be referred to by an email > address or a phone number. A transmitter or receiver will typically > manage subject principals and organize them into sub-groupings such > as tenants, groups, organizational units, etc. > > Subjects are identified by Subject Identifiers defined below. > > 3.1. SPAGs > > Subject Principals MAY be grouped for administrative purposes into > "Subject Principal Administrative Groupings" or SPAGs. For example, > all users belonging to one customer of a "multi-tenanted" Transmitter > may be in one SPAG. Alternatively, an Organizational Unit or a group > of Subjects within a customer of a Transmitter (whether multi- > tenanted or not) may be one SPAG. SPAGs may have overlapping sets of > Subjects. > > A SPAG MAY be the Subject of certain stream update events defined > later in this spec, hence is defined as a Subject Type of its own > below.. A SPAG identifier MAY be included in other subject types to > disambiguate the subject. > > A SPAG subject identifier is agreed to offline between a transmitter > and a receiver. > > The benefits of doing this are: > > 1. Multi-tenanted hosts do not need to maintain secrets per tenant and > per transmitter tenant if each tenant has to be an event transmitter and an > event receiver of its own. > 2. An event stream may be established between two multi-tenanted > hosts, and so does not need to be managed at a per-tenant level > 3. The same subject or subject principal may be a part of multiple > SPAGs, and identifying the SPAG that an event relates to can be achieved if > the standard allows for the SPAGs to be identified. > > > > > > On Mon, Jul 13, 2020 at 11:32 AM Dick Hardt <dick.hardt@gmail.com> wrote: > > To clarify, your proposal is driven by the implementation burden of > maintaining separate secrets / streams between a transmitter and receiver? > > ᐧ > > > > On Mon, Jul 13, 2020 at 9:01 AM Atul Tulshibagwale <atultulshi= > 40google.com@dmarc.ietf.org <40google.com@dmarc..ietf.org>> wrote: > > Hi all, > > Here's a quick background for the proposal > <https://github.com/richanna/secevent/pull/1> for including Subject > Principals and Subject Principal Administrative Groupings or SPAGs in the > Subject Identifiers spec. > > > > *Use of Subject Identifiers in Shared Signals and Events*: > > The Shared Signals and Events (SSE) profile of SETs specifies that > transmitters and receivers send and receive SETs that contain Subject > Identifiers. These subject identifiers have the format that is now being > discussed as a separate specification here. > > > > *Transmitters and Receivers in SSE* > > The SSE profile defines transmitters and receivers as hosts that manage > streams between peers. The receiver authenticates to the transmitter using > OAuth, requiring the use of a secret per receiver. In a multi-tenanted host > that handles hundreds of thousands or millions of independent tenants, > maintaining such a secret per instance of a receiver is cumbersome. > Furthermore, since a transmitter and a receiver has to maintain a stream > per pair, creating such per-tenant streams can add significant > implementation overhead. > > > > *SPAGs* > > Therefore, we need a notion of a grouping of subjects within the same > transmitter and receiver to distinguish between various administrative > groupings that exist within a host. These groupings could include tenants, > organizational units or user groups.. This grouping is captured in the > notion of a SPAG. The uniqueness of a user identifier (subject identifier) > may also be limited to a SPAG. For example, if a random unique ID > represents a user, then that ID may be unique within a SPAG and not > universally across a transmitter or receiver. This is because each > transmitter and receiver may have multiple connections to other > transmitters and receivers, and ensuring uniqueness across all such peers > is probably an intractable problem. > > > > *Subject Principals* > > While what is represented within a subject identifier may be only an > aspect of the management entity, the administrative grouping is about the > management entity itself. This could be the user, device or other principal > that the subject identifier represents. Therefore, an abstract notion of a > Subject Principal is also required in order specify what the grouping > within a SPAG is about. > > > > The above is captured in the "Subject Principal" and "SPAG" sections > within the proposed PR <https://github.com/richanna/secevent/pull/1>. > > > > Thanks, > > Atul > > > > _______________________________________________ > Id-event mailing list > Id-event@ietf.org > https://www.ietf.org/mailman/listinfo/id-event > >
- [Id-event] Subject Principals and Subject Princip… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Mike Jones
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Phil Hunt
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Mike Jones
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale
- Re: [Id-event] Subject Principals and Subject Pri… Tim Cappalli
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Mike Jones
- Re: [Id-event] Subject Principals and Subject Pri… Dick Hardt
- Re: [Id-event] Subject Principals and Subject Pri… Atul Tulshibagwale