配置嵌入身份验证提供者
在此页面上
Atlas Charts 使用通过嵌入式 SDK 传递的令牌对想要查看需要身份验证的嵌入式图表或仪表盘的用户进行身份验证。
在以下情况下,Charts 不会呈现图表或仪表盘:
令牌中的详细信息与您指定的条件不匹配。
令牌无效。
令牌不存在。
Considerations
您必须是 Atlas 项目所有者才能为链接的 Charts 实例配置嵌入式身份验证提供程序。
Charts 支持这些身份验证提供者:
Google
自定义 JSON web token
Atlas App Services Providers
在以下情况下,Charts 会将来自 App Services 提供商的令牌视为有效:
是否为语法上有效的JWT 。
由相关机构颁发。
与您配置提供商以接受的 App Services App ID 相匹配。
Google 提供商
在以下情况下,Charts 会将 Google 提供商的令牌视为有效:
是否为语法上有效的JWT 。
由相关机构颁发。
与您配置提供商以接受的 Google 客户端 ID 相匹配。
JWT 提供商
在以下情况下,Charts 会将JWT提供商的令牌视为有效:
包含具有未来时间和日期的过期时间声明。
注意
您的应用程序必须在令牌过期之前对其进行处理。
包含已发出的时间声明,其中的时间和日期均为过去。
令牌生命周期小于或等于24小时。 令牌生命周期是发出时间声明与过期时间声明之间的差值。
例子
Charts 会拒绝包含以下声明的令牌,因为一年的令牌生命周期太长:
{ "iat": "1587497399", "exp": "1617305399" } Charts 可以接受包含以下声明的令牌,因为24小时的令牌生命周期是可以接受的:
{ "iat": "1585769399", "exp": "1586002999" } 使用
HS256
或RS256
签名算法进行签名。使用可以通过您在配置自定义JWT身份验证提供程序时提供的密钥进行验证的密钥进行签名。
包含与您在配置提供商时指定的受众声明相匹配的受众声明(如果适用)。
步骤
查看身份验证提供者
要查看已配置的嵌入式身份验证提供者,请执行以下操作:
GoAuthentication Settings 视图。
注意
您必须是 项目所有者才能访问权限 Authentication Settings页面。作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。
单击 Authentication Settings 标签页。
添加身份验证提供者
要添加嵌入式身份验证提供者,请执行以下操作:
GoAuthentication Settings 视图。
注意
您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。
单击 Authentication Settings 标签页。
添加身份验证提供程序。
在Authentication providers部分中,单击Add 。
在Name字段中,输入提供商的描述性名称。
从Provider列表中,选择要添加的提供商类型。
配置 Charts 以验证来自提供商的令牌。
您必须输入的值因所选提供商而异:
提供商字段自定义JSON web token提供以下值:
字段值签名算法签名密钥用于验证JSON web token签名的密钥或密钥。如果令牌未签名,Charts 将其视为无效。 如果您提供的密钥不正确,Charts 将无法验证令牌签名并将其视为无效。
您必须提供的值取决于Signing Algorithm :
HS256
:输入用于签署JSON web token的密钥。RS256
:选择JWK or JWKS URL或PEM Public Key 。如果您选择JWK or JWKS URL , Charts将从 JWK 或URL文件。然后, Charts使用该密钥来验证JSON web token。 如果文件中有多个键, Charts会尝试每个键,直到找到匹配项为止。 输入包含 JWK 或 JWKS文件的URL 。
如果您选择PEM Public Key , Charts将使用指定的公钥来验证JSON web token。 输入用于对JSON web token进行签名的密钥对的公钥。 公钥必须采用 PEM 格式 ,如下示例所示:
-----BEGIN CERTIFICATE----- MIIDfjCCAmagAwIBAgIBBzANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBsMQ8wDQYDVQQD EwZzZXJ2ZXIxDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMHTW9uZ29EQjEWMBQG A1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlvcmsxCzAJBgNVBAYT AlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp76KJeDczBqjSPJj 5f8DHdtrWpQDK9AWNDlslWpi6+pL8hMqwbX0D7hC2r3kAgccMyFoNIudPqIXfXVd 1LOh6vyY+jveRvqjKW/UZVzZeiL4Gy4bhke6R8JRC3O5aMKIAbaiQUAI1Nd8LxIt LGvH+ia/DFza1whgB8ym/uzVQB6igOifJ1qHWJbTtIhDKaW8gvjOhv5R3jzjfLEb R9r5Q0ZyE0lrO27kTkqgBnHKPmu54GSzU/r0HM3B+Sc/6UN+xNhNbuR+LZ+EvJHm r4de8jhW8wivmjTIvte33jlLibQ5nYIHrlpDLEwlzvDGaIio+OfWcgs2WuPk98MU tht0IQIDAQABoyMwITAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTAN BgkqhkiG9w0BAQUFAAOCAQEANoYxvVFsIol09BQA0fwryAye/Z4dYItvKhmwB9VS t99DsmJcyx0P5meB3Ed8SnwkD0NGCm5TkUY/YLacPP9uJ4SkbPkNZ1fRISyShCCn SGgQUJWHbCbcIEj+vssFb91c5RFJbvnenDkQokRvD2VJWspwioeLzuwtARUoMH3Y qg0k0Mn7Bx1bW1Y6xQJHeVlnZtzxfeueoFO55ZRkZ0ceAD/q7q1ohTXi0vMydYgu 1CB6VkDuibGlv56NdjbttPJm2iQoPaez8tZGpBo76N/Z1ydan0ow2pVjDXVOR84Y 2HSZgbHOGBiycNw2W3vfw7uK0OmiPRTFpJCmewDjYwZ/6w== -----END CERTIFICATE-----
受众(可选)受众声明 必须存在于JSON web token Charts中, 才能将其视为有效。Google在Client ID字段中,按以下格式输入应用程序的 Google 客户端 ID:
<prefix>.apps.googleusercontent.com Atlas App Services提供以下值:
字段值项目包含您的应用服务的项目。App Service颁发用户令牌的应用服务。使用 Atlas App Services 获取数据(可选)切换以启用 Charts 从应用服务获取用户数据和规则。
如果启用,Charts 将从您在App Service Name字段中指定的服务中检索数据。
启用此选项后,您可以在 Atlas App Services 中定义规则,控制 Charts 为特定collection或用户显示的数据。
有关详细信息,请参阅App Services文档中的筛选器传入查询。
应用服务名称应用服务中Charts用于检索图表数据的服务名称。 示例,mongodb-atlas
。单击 Save(连接)。
修改身份验证提供者
要修改嵌入式身份验证提供程序,请执行以下操作:
GoAuthentication Settings 视图。
注意
您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。
单击 Authentication Settings 标签页。
编辑嵌入提供者。
在Embedding providers部分中,单击要修改的提供程序旁边的Edit 。
修改 Charts 用于验证提供商令牌的值。
请参阅添加身份验证提供程序,了解可修改的已配置提供程序类型的值。
单击 Save(连接)。
删除身份验证提供程序
要删除嵌入式身份验证提供者,请执行以下操作:
GoAuthentication Settings 视图。
注意
您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。
单击 Authentication Settings 标签页。
重要
删除提供程序后,已删除提供程序通过身份验证的所有嵌入式图表将不再呈现。
生成嵌入密钥
注意
只有具有项目所有者角色的用户才能看到此部分。
重要
嵌入密钥已弃用,并将在未来版本中删除。 请改用嵌入式身份验证提供者和嵌入式 SDK 。
对于生成和验证使用Verified Signature`模式嵌入的图表的数字签名,需要嵌入密钥。
要生成新的嵌入密钥,请点击页面右侧的Generate New Key按钮。
警告
如果生成新密钥,则以前的任何密钥都将失效。 确保使用旧密钥的所有现有嵌入式Atlas Charts更新为使用新密钥。