跳到内容

OpenID身份验证连接

如果您的组织的身份验证基础设施支持OpenID Connect,则可以使用OAuth2身份验证提供程序来集卡塔尔世界杯欧洲预选赛赛程表成这两个系统。

请注意

OpenID连接认证方案基于什么OAuth2并可用于针对各种供应商进行身份验证,如Auth0、PingIdentity和许多其他实现此标准的供应商。

使用此集成,用户身份验证将由您的OpenID Connect提供者提供。您的OpenID Connect提供程序也可能提供组成员身份的详细信息。

配置示例

请注意

OAuth2配置附录包含了关于每个OpenID Connect配置选项的信息。

(认证)提供者“oauth2”(OAuth2)ClientId“0 ebfafe9 - 237 f - 4 - e38 a85b a0e5d6c06782”ClientSecret“2 ab7be07 - 84 - fe - 4569 - b04a ce8f1ebfc077”OpenIDConnectIssuer“https://example.com/issuer”RequireUsernameClaim真正的;启用此功能可以获得更好的用户体验,除非;管理大量的组是一个需要关注的问题:; GroupsAutoProvision = true;当试图排除与OpenID连接相关的问题时,;您可以通过启用以下行来启用更详细的日志记录;日志= true

配置

定义OpenID连接颁发者

英格兰vs伊朗让球RStudio Connect需要与之集成的OpenID Connect身份提供程序的元数据。这是通过配置选项指定的OAuth2。OpenIDConnectIssuer.颁发者必须是一个HTTPS URL和/ .well-known openid-configurationOpenID Connect的discovery元数据。

请注意

与颁发者URL关联的HTTPS证书必须是有效的,并与有效的证书颁发机构关联。不接受自签名证书。

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)OpenIDConnectIssuer“https://openid.example.com”

请注意

在上面的例子中,元数据URL是https://openid.example.com/.well-known/openid-configuration

获取客户端ID和客户端秘密

为了让RStudio Co英格兰vs伊朗让球nnect使用OpenID Connect身份验证,您需要一个客户端ID,并对供应商保密。

不同的供应商需要特定的步骤来获取客户端ID和客户端秘密。在此过程中,您可能会被询问一些关于RStudio Connect的信息,例如:英格兰vs伊朗让球

  • 应用程序类型:"Web Application"

  • 重定向URL:使用您的RStudio Conn英格兰vs伊朗让球ect服务器地址和路径/ __login__ /回调(即。https://HOST:PORT/__login__/callback).

  • 源URL:使用您的RStudio服务器或R英格兰vs伊朗让球Studio工作台URL(即https://HOST:PORT).

  • 授权类型:授权代码。

有关进一步信息,请参阅OpenID Connect身份验证提供者的文档。

请注意

我们建议为配置用于OpenID Connect的每个应用程序使用不同的凭证集。

将客户端ID和secret添加到配置文件中,如下例所示。

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)ClientId“客户机ID > <”ClientSecret“秘密> <客户”

OAuth2。ClientId,要么OAuth2。ClientSecretOAuth2。ClientSecretFile您可以使用您的帐号登录RStudio Connect。英格兰vs伊朗让球

请注意

ClientSecretClientSecretFile可以加密,以避免凭据泄露。看到属性类型详细信息请参见配置附录。

用户配置

当用户第一次成功登录时,将在RStudio英格兰vs伊朗让球 Connect中创建用户。通过通过RStudio Connect Server API将用户添加为用户,还可以在首次登录之前创建用户。英格兰vs伊朗让球

用户可发现性

用户搜索是根据以前登录过一次的用户列表执行的,这些用户的帐户是由管理员预先分配的,或者是通过RStudio Connect Server API创建的。英格兰vs伊朗让球

请注意

不支持搜索远程身份验证提供程序。卡塔尔世界杯欧洲预选赛赛程表

首次登录时进行注册

默认情况下,当用户第一次成功登录时,可以在RStudio Connect英格兰vs伊朗让球中创建用户。控件中指定的角色将创建帐户授权。DefaultUserRole设置(见用户角色)或通过用户角色映射如果配置。否则,角色可能在指示板内或通过RStudio Connect Server API进行修改。英格兰vs伊朗让球

禁止首次登录时注册

如果您希望禁用此功能,请设置配置设置OAuth2。RegisterOnFirstLogin

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)RegisterOnFirstLogin

重要的

使用此选项需要通过RStudio Connect Server API专门创建用户。英格兰vs伊朗让球

惟一的ID

中定义的属性在RStudio Connect中唯一标识用户英格兰vs伊朗让球OAuth2。UniqueIdClaim.默认为(主题)声明,它是OpenID中的标准标识符。

警告

用户由其惟一标识惟一的IDOpenID的索赔。如果R英格兰vs伊朗让球Studio Connect显示一个从未见过的惟一ID,它将创建一个新用户。

请注意

的值。OAuth2。UniqueIdClaim必须完全匹配字段unique_id用于通过Connect Server API创建新用户。一旦创建了用户,RStudio Connect标识(英格兰vs伊朗让球guid)应该用于该用户的后续API操作。

用户名

用户名是由OpenID Connect身份提供者在外部定义的。然而,RStudi英格兰vs伊朗让球o Connect对它支持的用户名施加了一些额外的限制:卡塔尔世界杯欧洲预选赛赛程表

  • 禁止使用以下值:连接应用程序用户向setpassworduser-completion确认最近报告情节未发表的设置指标令牌帮助登录欢迎注册resetpassword内容

英格兰vs伊朗让球中配置的声明值将依赖RStudio ConnectOAuth2。UsernameClaim获取用户名。默认情况下,RStudi英格兰vs伊朗让球o Connect假定会出现此声明,使用户名由身份验证提供者控制,因此不可编辑。他们是保证是唯一的。

提示

重复的用户名可能会对跟踪用户凭据的内容产生不利影响。详情请参阅证书的内容高级用户和组主题附录是这种情况下的备选方案。

请注意

当发布到英格兰vs伊朗让球同一个RStudio Connect主卡塔尔世界杯欧洲预选赛赛程表机时,RStudio Studio IDE不支持重复的用户名。但是,具有相同用户名的两个用户不太可能共享相同的IDE帐户或工作站。

生成的用户名

在没有用户名声明的情况下,将使用不带域的用户电子邮件地址进行派生。

请注意

出于安全考虑,可编辑的用户名总是唯一的,RStudio Connect将强制执行此约束。英格兰vs伊朗让球

请注意

默认情况下,派生的用户名是不可编辑的。如果要允许用户在登录后编辑自己的用户名,并允许管理员编辑所有用户名,则OAuth2。UsernameClaim设置可以定义为空白。所有用户名之间的唯一性将被强制用于任何更改,但这确实允许用户名的组成更加“友好”。

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)UsernameClaim""

需要用户名声明

如果期望您的OpenID Connect身份提供程序总是返回用户名声明,强烈建议RStudio Connect强制该声明的存在。英格兰vs伊朗让球这确保了RStudio C英格兰vs伊朗让球onnect永远不会退到从电子邮件地址派生用户名,因为这种行为有可能掩盖身份验证提供者或RStudio Connect本身的配置问题。

设置OAuth2。RequireUsernameClaim可以用于此目的,如果启用了此设置,RStudio Connect在英格兰vs伊朗让球没有用户名声明的情况下将无法对用户进行身份验证。

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)RequireUsernameClaim真正的

编辑用户属性

在RStudio Connect中,以OpenID声明形式显示的用户配置文件字段是不可编辑的。英格兰vs伊朗让球

请注意

控件在登录之前强制更新不可编辑字段usermanagerCLI的工具。看到用户管理CLI附录。

默认情况下,名、姓和电子邮件地址属性是不可编辑的,因为它们是由OpenID Connect身份提供程序提供的。如果需要更改/更新这些属性,请在OpenID Connect身份提供程序中更新用户的配置文件。这些更改将在下一次用户登录时同步到RStudio Connect英格兰vs伊朗让球中。

请注意

在RStudio Connect配置中将名、姓或电子邮件的声明设置为空白值,这将使这些字段可编辑,并且不再在每次登录时更新它们。英格兰vs伊朗让球

设置授权。用户信息EditableBy控制是否允许用户管理其用户配置文件属性。设置授权。用户信息EditableBy默认值为AdminAndSelf,允许用户和管理员管理这些用户配置文件属性。的值管理只允许管理员更改用户的配置文件。

提示

如果禁用,建议禁用OAuth2。RegisterOnFirstLogin,您也可以配置授权。用户信息EditableBy管理

编辑用户角色

用户角色仅在RStudio Connect中可编辑英格兰vs伊朗让球用户角色自动映射没有配置,并且OpenID身份验证提供程序没有配置为将角色作为用户配置文件的一部分发送进来。

用户角色自动映射

您可以配置RStudio Conne英格兰vs伊朗让球ct,以根据用户登录期间OpenID Connect身份提供程序返回的声明自动定义用户角色。这可以通过定义为用户配置文件或via的一部分的角色来完成OpenID集团会员资格。

使用组成员

重要的

此选项不适用于本地管理组

使用配置选项授权。UserRoleGroupMapping通过组启用用户角色映射。

请注意

当启用组映射时,从身份验证提供者接收角色作为用户概要信息的一部分的配置选项将被忽略,如果出现以下情况,RStudio Connect将无法启动英格兰vs伊朗让球授权。UserRoleMapping也使。

当启用时,配置选项授权。ViewerRoleMapping授权。PublisherRoleMapping,授权。管理istratorRoleMappingWill指的是群体。

在下面的示例中使用组名。有意省略查看器映射,以便根据选项为其余用户分配基于授权。DefaultUserRole它默认为查看器

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(授权)UserRoleGroupMapping真正的PublisherRoleMapping“开发人员”AdministratorRoleMapping“Dev-Leaders”AdministratorRoleMapping“it管理员”

请注意

按唯一ID分组时,角色映射应该基于组的Unique id,而不是组的名称。

使用用户配置文件角色

使用配置选项授权。UserRoleMapping启用用户角色映射。

OAuth2。RoleClaim还应该定义配置选项,以作为用户概要文件的一部分接收角色信息。

在最简单的配置中,选项OAuth2。RoleClaim引用包含其中一个值的声明查看器出版商管理员

请注意

无效的角色值默认为授权。DefaultUserRole

如果您希望将身份验证期间返回的自定义值或组名映射到RStudio Connect中的有效用户角色,您可以使用以下设置:英格兰vs伊朗让球

请注意

用户角色可以直接从身份验证提供程序使用,而不需要映射值,只要它只返回的值查看器出版商而且管理员在RStudio Connect中定义英格兰vs伊朗让球角色。

在以下示例中,身份验证提供者返回部门名称:

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(授权)UserRoleMapping真正的ViewerRoleMapping“人力资源”ViewerRoleMapping“市场营销”PublisherRoleMapping“工程”AdministratorRoleMapping“它”

请注意

如果角色被自动分配,将不能再通过仪表板编辑。

多用户角色映射

当配置的映射与身份验证提供者发送的用户或组信息之间存在多个匹配时,将选择权限最多的角色。这种行为可以很容易地将用户提升到一个新角色。

请注意

如果考虑到安全问题,可以在这些场景中使用配置选项的更严格的行为授权。UserRoleMappingRestrictive.当启用时,它将导致选择特权最小的角色。

组成员管理

使用OpenID Co卡塔尔世界杯欧洲预选赛赛程表nnect身份验证时支持组。它们可以在Dashboard中手动管理,也可以由身份验证提供者自动提供。在这两种情况下,都可以使用RStudio C英格兰vs伊朗让球onnect Server API来管理这些组。

英格兰vs伊朗让球RStudio Connect从选项中配置的声明获取用户组成员信息OAuth2。GroupsClaim

默认情况下,RStudi英格兰vs伊朗让球o Connect根据身份验证提供者发送的组名列表自动将用户分配给现有组。对于每次登录尝试,接收到的组名列表将与用户当前的成员身份进行比较,将用户添加为新列出的组的成员,并将用户从不再列出的组中删除。

请注意

身份提供程序发送的组列表将覆盖手动定义或通过RStudio Connect Server API定义的任何成员关系。英格兰vs伊朗让球但是,这些操作仍然应该在登录尝试之间使用,以保持组成员关系与IdP同步。

提示

如果组声明没有出现在身份验证中,则不会对用户可能拥有的现有组成员身份进行更改。在这种情况下,您不妨使用本地管理组在RS英格兰vs伊朗让球tudio Connect中。

手工组配置

管理员可以使用RStudio Connect仪表板中的“People”选项卡向Open英格兰vs伊朗让球ID托管组“添加”引用。RStudio Connect用户的组成英格兰vs伊朗让球员关系将只跟踪这些组,而不是从OpenID返回的整个组列表。

提示

这是默认的行为,当RStudio Connect用户与大量组相关联时,这是一个很好的选择,但其中只有一部分对内容访英格兰vs伊朗让球问控制有用。

警告

在通过仪表板中的“people”或通过Connect Server API删除组时应格外小心。删除一组也会移除所有关联吗在被删除的组和现有内容之间。

自动组配置

除了将组成员管理委托给OpenID Connect身份提供程序外,RStudio Connect还可以自动管理组本身。英格兰vs伊朗让球通过使用OAuth2。GroupsAutoProvision英格兰vs伊朗让球RStudio Connect将根据从OpenID Connect组声明中收到的组名列表自动创建和可选地删除组。

启用此选项后,当添加第一个成员时,RStudio Connect将提供组,并无限期地保留在那里,即使在删英格兰vs伊朗让球除最后一个成员之后,也会保留对这些组的未来成员的任何内容的访问。

提示

删除过时或未使用的组可以通过仪表板、RStudio Connect Server API或最终通过英格兰vs伊朗让球usermanagerCLI。

手动与自动切换组分配

通过自动配置创建的组没有所有者,而手动创建的组或通过RStudio Connect Server API创建的组总是与用户关联。英格兰vs伊朗让球

英格兰vs伊朗让球如果现有组的所有权与您的当前组配置不匹配,RStudio Connect将在启动时发出警告。

在这些情况下,要么需要删除组,要么需要调整组所有权。这可以用usermanagerCLI工具使用改变命令使用——新主人——drop-owner开关。

如果您打算在RStudio Connect中管理任何已自动配置的组,都应该为它们分配一个所有者。英格兰vs伊朗让球相反,如果您希望由身份验证提供程序管理所有组,则应该删除组的所有者。此外,您应该删除在新配置中没有意义的任何组。可以通过Connect仪表板、Connect Server API或usermanager.看到用户管理CLI附录了解更多。

本地管理组

如果您决定不配置对OpenID组的支持,您仍然可以在RS英格兰vs伊朗让球tudio Connect中使用组。卡塔尔世界杯欧洲预选赛赛程表

重要的

本地管理的组与来自OpenID的组没有关系。

这些组是RStudio Connect的本地组,可以英格兰vs伊朗让球通过仪表板或连接服务器API创建。还必须使用相同的方法管理组成员。

OAuth2。GroupsClaim设置为空值以禁用OpenID组并仅使用本地管理的组。

提示

如果在RStudio Connect中完全不需要组,请设置英格兰vs伊朗让球授权。用户组除了一个空OAuth2。GroupsClaim

匹配组的标识符

默认情况下,RStudi英格兰vs伊朗让球o Connect会将OpenID Connect身份验证提供者发送的组列表与RStudio Connect中存在的组的名称进行匹配。一些OpenID Connect提供程序不发送组名,而是发送唯一标识符(例如guid)。

组织的名字

当您的OpenID Connect身份验证提供程序发送组名时,可以使用RStudio Connect使用区分大小写的字符串比较来匹配组的默认行为。英格兰vs伊朗让球

请注意

如果在OpenID Connect身份验证提供程序中重命名组,则它们将被识别为新组。取决于设置OAuth2。GroupsAutoProvision,这些新组要么被添加,要么被忽略。在任何情况下,旧的组都不会被重命名或从内容acl中删除。您仍然可以在RStudio Connect中重命名一个组,以匹配英格兰vs伊朗让球OpenID中的组名,以保留与内容的所有关联。如果通过自动分配创建了同名的重复组,则必须首先删除这个新组。

按唯一ID分组

为了支卡塔尔世界杯欧洲预选赛赛程表持OpenID Connect身份验证提供者为组发送唯一标识符(而不是组的名称)的场景,可以通过使用该设置配置RStudio Connect来匹配这些标识符英格兰vs伊朗让球OAuth2。GroupsByUniqueId

警告

这被认为是RStudio Connect中的一个高级功能。英格兰vs伊朗让球通过标识符而不是名称来标识组需要对所有组管理工作流程使用RSt英格兰vs伊朗让球udio Connect Server API。在这个场英格兰vs伊朗让球景中,RStudio Connect Dashboard不允许组管理,除非将组与某些内容关联起来,这仍然是可能的。

必须使用RStudio Connect Server API在RStudio Connect中提供由唯一标识符标识的组。英格兰vs伊朗让球API调用允许组的关联unique_id(在身份验证过程中由OpenID Connect身份验证提供者发送的相同名称)使用本地管理的、用户友好的名称,通常与OpenID中使用的名称相同。英格兰vs伊朗让球在这种情况下,RStudio Connect不会强制使用唯一的组名。

提示

重复的组名可能会对跟踪用户凭据的内容产生不利影响。详情请参阅证书的内容高级用户和组主题附录是这种情况下的备选方案。

重要的

OAuth2。GroupsByUniqueId启用,OAuth2。GroupsAutoProvision可以被启用。这将导致在RStudio Connect中创建没有意义名称的组,因为OpenID将只提供一个惟一ID。英格兰vs伊朗让球

切换群组身份

最好,GroupsByUniqueId在RStudio Connect中有任何组之前,都应该启用。英格兰vs伊朗让球如果已经创建了任何组,并且希望使用此选项,则强烈建议运行usermanager——组织——normalize-ids命令使这些现有组在新的设置下正常工作。看到用户管理CLI附录了解更多。的usermanager如果您决定禁用,也应该运行上面的命令GroupsByUniqueId在以后的时间里。

额外的组选项

如果声明不能将组表示为不同值的列表,则可以使用OAuth2。GroupsSeparator设置以指定分隔符字符串,该字符串将用于将单个值拆分为列表。例如,如果groups属性包含表单的值,group_1 | group_2设置:

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)GroupsSeparator“|”

高级配置的笔记

定制OpenID连接

RStu英格兰vs伊朗让球dio Connect默认配置依赖标准的OpenID Connect值进行身份验证。然而,一些供应商可能使用专有值。对于OpenID来说尤其如此作用域而且索赔.英格兰vs伊朗让球RStudio Connect提供了一些选项,允许调整这些值以匹配您的OpenID Connect身份验证服务提供者。

自定义范围

英格兰vs伊朗让球RStudio卡塔尔世界杯欧洲预选赛赛程表 Connect对OpenID Connect的支持依赖于标准的OpenID Connect作用域openid电子邮件而且配置文件

如果需要,可以使用配置选项包括其他作用域OAuth2。CustomScope.您应该为每行定义一个额外的作用域。例如:

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)CustomScope“my_custom_scope1”CustomScope“my_custom_scope2”

请注意

身份验证提供者通常希望自定义作用域返回非标准声明。

定制要求

默认情况下,返回的JWT (JSON Web令牌)IDToken有效载荷或用户信息端点将返回以下声明:

  • 这将是RStudio Connect中的用户唯一标识符(UniqueID)。英格兰vs伊朗让球可通过选项进行配置OAuth2。UniqueIdClaim

  • 电子邮件-这将是RStudio Connect中的电子邮件和派生用户名。英格兰vs伊朗让球可通过选项进行配置OAuth2。电子邮件Claim

  • given_name-这将是用户在RStudio Connect中的名字。英格兰vs伊朗让球可通过选项进行配置OAuth2。FirstNameClaim

  • family_name-这将是用户在RStudio Connect中的姓氏。英格兰vs伊朗让球可通过选项进行配置OAuth2。LastNameClaim

  • preferred_username(可选)-这将是用户在RStudio Connect中的用户名。英格兰vs伊朗让球可通过选项进行配置OAuth2。UsernameClaim它是可选的,除非OAuth2。RequireUsernameClaim启用。英格兰vs伊朗让球如果用户的电子邮件地址不存在或为空,RStudio Connect将在第一次登录时从用户的电子邮件地址派生用户名。

  • (可选)-这将是RStudio Connect中的组成员。英格兰vs伊朗让球可通过选项进行配置OAuth2。GroupsClaim它是可选的。英格兰vs伊朗让球如果用户的组成员身份不存在或为空,RStudio Connect将保持不变。

请注意

已定义的返回空白用户配置文件字段的声明不能在RStudio Connect端进行编辑,并且预先存在的值将保持不变。英格兰vs伊朗让球要在RStudio Connect中手动编辑特定的用户配置文件字段,您应该将声明的相应配置选项设置为空白。英格兰vs伊朗让球在下面的例子中,名字和姓氏在Dashboard中是可编辑的:

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(OAuth2)FirstNameClaim""LastNameClaim""

已知的限制

重要的是要理解OAuth2AccessToken或者是OpenIDIDTokenJWT对任何出于安全目的可能需要使用它的内容都是可用的。