跳到内容

OneLogin集成(使用OpenID Connect)#

英格兰vs伊朗让球RStudio Connect可以通过使用OpenID Connect / OAuth2认证提供程序与OneLogin集成。

使用这种集成,用户身份验证将由OneLogin提供。群组会员资料亦可由OneLogin提供。

配置示例#

请注意

OAuth2配置附录中包含每个OpenID Connect / OAuth2配置选项的信息。

相关OneLogin文档:

;/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg(认证)提供者=“oauth2”(OAuth2)ClientId=“0 ebfafe9 - 237 f - 4 - e38 a85b a0e5d6c06782”ClientSecret=“2 ab7be07 - 84 - fe - 4569 - b04a ce8f1ebfc077”OpenIDConnectIssuer=“https://your-organization.onelogin.com/oidc/2”RequireUsernameClaim=真正的;您的OneLogin配置将需要;下面返回一个“groups”声明:;CustomScope = "groups";此外,根据值的不同,您可能需要以下内容;“团体”声称:GroupsSeparator = ";";启用此功能以获得更好的用户体验,除非;管理大量的组是一个问题:GroupsAutoProvision = true;在尝试解决与OAuth2相关的问题时,;您可以通过启用以下行来启用更详细的日志记录;Logging = true

配置#

定义OpenID连接颁发者#

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

请注意

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

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

请注意

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

获取Client ID和Client Secret#

为了让RStudio Co英格兰vs伊朗让球nnect使用OpenID Connect身份验证,你需要一个来自供应商的客户端ID和客户端秘密。

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

  • 应用程序类型:“Web应用程序”

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

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

  • 授权类型:授权码。

请查阅您的OpenID Connect身份验证提供商的文档以获取更多信息。

请注意

我们建议对配置为与OpenID Connect一起使用的每个应用程序使用一组不同的凭据。

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

;/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设置(见用户角色)或via用户角色映射如果配置。否则,可以在仪表板内或通过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中的标准标识符。

警告

用户由他们的惟一的ID在OpenID中声明。如果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 Connect将依赖于配置的声明值OAuth2。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=真正的

编辑用户属性#

作为OpenID声明的用户配置文件字段在RStudio Connect中不可编辑。英格兰vs伊朗让球

请注意

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

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

请注意

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

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

提示

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

编辑用户角色#

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

用户角色自动映射#

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

使用组成员关系#

重要的

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

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

请注意

当组映射被启用时,从身份验证提供者接收角色作为用户配置文件信息的一部分的配置选项将被忽略,并且RStudio Connect将无法启动英格兰vs伊朗让球授权。UserRoleMapping也是启用的。

启用后,配置选项授权。ViewerRoleMapping授权。PublisherRoleMapping,授权。管理istratorRoleMapping将参考组。

在下面的示例中,使用组名。查看器映射被故意忽略,这样剩下的用户将根据选项分配授权。DefaultUserRole默认为查看器

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

请注意

按唯一ID分组,角色映射应该基于组的唯一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认证时,支持组。它们可以在仪表板中手动管理,也可以由身份验证提供者自动提供。在这两种情况下,RStudio Connec英格兰vs伊朗让球t Server API也可以用来管理这些组。

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

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

请注意

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

提示

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

手动组发放#

管理员可以使用RStudio Connect仪表板中的“People”选项卡“添加”对英格兰vs伊朗让球OpenID管理组的引用。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将在启动时发出警告。

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

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

本地管理组#

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

重要的

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

这些组是RStudio Connect的本地组,它们英格兰vs伊朗让球可以通过Dashboard或Connect Server 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——groups——normalize-ids命令,以使这些现有组在新设置下正常工作。看到用户管理CLI附录了解更多信息。的usermanager如果决定禁用,也应该运行上面的命令GroupsByUniqueId在以后的时间里。

其他团体选项#

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

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

高级配置说明#

自定义OpenID Connect#

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。EmailClaim

  • 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将保持不变。

请注意

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

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

已知的限制#

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