Docs 菜单
Docs 主页
/
Atlas 图表
/ /

配置嵌入身份验证提供者

在此页面上

  • Considerations
  • Atlas App Services Providers
  • Google 提供商
  • JWT 提供商
  • 步骤
  • 查看身份验证提供者
  • 添加身份验证提供者
  • 修改身份验证提供者
  • 删除身份验证提供程序
  • 生成嵌入密钥

Atlas Charts 使用通过嵌入式 SDK 传递的令牌对想要查看需要身份验证的嵌入式图表或仪表盘的用户进行身份验证。

在以下情况下,Charts 不会呈现图表或仪表盘:

  • 令牌中的详细信息与您指定的条件不匹配。

  • 令牌无效。

  • 令牌不存在。

  • 您必须是 Atlas 项目所有者才能为链接的 Charts 实例配置嵌入式身份验证提供程序。

  • Charts 支持这些身份验证提供者:

    • Atlas App Services

    • Google

    • 自定义 JSON web token

在以下情况下,Charts 会将来自 App Services 提供商的令牌视为有效:

  • 是否为语法上有效的JWT

  • 由相关机构颁发。

  • 与您配置提供商以接受的 App Services App ID 相匹配。

在以下情况下,Charts 会将 Google 提供商的令牌视为有效:

  • 是否为语法上有效的JWT

  • 由相关机构颁发。

  • 与您配置提供商以接受的 Google 客户端 ID 相匹配。

在以下情况下,Charts 会将JWT提供商的令牌视为有效:

  • 包含具有未来时间和日期的过期时间声明。

    注意

    您的应用程序必须在令牌过期之前对其进行处理。

  • 包含已发出的时间声明,其中的时间和日期均为过去。

  • 令牌生命周期小于或等于24小时。 令牌生命周期是发出时间声明与过期时间声明之间的差值。

    例子

    Charts 会拒绝包含以下声明的令牌,因为一年的令牌生命周期太长:

    {
    "iat": "1587497399",
    "exp": "1617305399"
    }

    Charts 可以接受包含以下声明的令牌,因为24小时的令牌生命周期是可以接受的:

    {
    "iat": "1585769399",
    "exp": "1586002999"
    }
  • 使用 HS256RS256签名算法进行签名。

  • 使用可以通过您在配置自定义JWT身份验证提供程序时提供的密钥进行验证的密钥进行签名。

  • 包含与您在配置提供商时指定的受众声明相匹配的受众声明(如果适用)。

要查看已配置的嵌入式身份验证提供者,请执行以下操作:

1

如果尚未显示 Atlas Charts,请单击 Atlas 用户界面中的 Charts 选项卡。

Atlas 发布关联到项目的 Charts 实例。

2

单击侧边栏中Development标题下的Embedding

显示“嵌入”页面。

3

注意

您必须是 项目所有者才能访问权限 Authentication Settings页面。作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。

单击 Authentication Settings 标签页。

显示“身份验证设置”标签页。

4

要添加嵌入式身份验证提供者,请执行以下操作:

1

如果尚未显示 Atlas Charts,请单击 Atlas 用户界面中的 Charts 选项卡。

Atlas 发布关联到项目的 Charts 实例。

2

单击侧边栏中Development标题下的Embedding

显示“嵌入”页面。

3

注意

您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。

单击 Authentication Settings 标签页。

显示“身份验证设置”标签页。

4
  1. Authentication providers部分中,单击Add

  2. Name字段中,输入提供商的描述性名称。

  3. Provider列表中,选择要添加的提供商类型。

  4. 配置 Charts 以验证来自提供商的令牌。

    您必须输入的值因所选提供商而异:

    提供商
    字段
    自定义JSON web token

    提供以下值:

    字段
    签名算法
    签名密钥

    用于验证JSON web token签名的密钥或密钥。如果令牌未签名,Charts 将其视为无效。 如果您提供的密钥不正确,Charts 将无法验证令牌签名并将其视为无效。

    您必须提供的值取决于Signing Algorithm

    • HS256:输入用于签署JSON web token的密钥。

    • RS256:选择JWK or JWKS URLPEM 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
  5. 单击 Save(连接)。

要修改嵌入式身份验证提供程序,请执行以下操作:

1

如果尚未显示 Atlas Charts,请单击 Atlas 用户界面中的 Charts 选项卡。

Atlas 发布关联到项目的 Charts 实例。

2

单击侧边栏中Development标题下的Embedding

显示“嵌入”页面。

3

注意

您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。

单击 Authentication Settings 标签页。

显示“身份验证设置”标签页。

4
  1. Embedding providers部分中,单击要修改的提供程序旁边的Edit

  2. 修改 Charts 用于验证提供商令牌的值。

    请参阅添加身份验证提供程序,了解可修改的已配置提供程序类型的值。

  3. 单击 Save(连接)。

要删除嵌入式身份验证提供者,请执行以下操作:

1

如果尚未显示 Atlas Charts,请单击 Atlas 用户界面中的 Charts 选项卡。

Atlas 发布关联到项目的 Charts 实例。

2

单击侧边栏中Development标题下的Embedding

显示“嵌入”页面。

3

注意

您必须是项目所有者才能访问权限Authentication Settings页面。 作为非管理员用户,您仍然可以使用嵌入式图表,但必须从项目所有者那里获取密钥。

单击 Authentication Settings 标签页。

显示“身份验证设置”标签页。

4

Embedding providers部分中,单击要删除的提供商旁边的Delete

5

重要

删除提供程序后,已删除提供程序通过身份验证的所有嵌入式图表将不再呈现。

注意

只有具有项目所有者角色的用户才能看到此部分。

重要

嵌入密钥已弃用,并将在未来版本中删除。 请改用嵌入式身份验证提供者嵌入式 SDK

对于生成和验证使用Verified Signature`模式嵌入的图表的数字签名,需要嵌入密钥。

要生成新的嵌入密钥,请点击页面右侧的Generate New Key按钮。

警告

如果生成新密钥,则以前的任何密钥都将失效。 确保使用旧密钥的所有现有嵌入式Atlas Charts更新为使用新密钥。

后退

开始体验