文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Sentry 企业级数据安全解决方案-Relay 入门

2024-12-02 10:21

关注

Sentry Relay 通过提供作为应用程序和 sentry.io 之间中间层的独立服务来提供企业级数据安全性。

Relay 专门设计用于:

托管模式(managed mode) 下的 Relay 仅适用于商业和企业计划。https://sentry.io/pricing/

Relay 用例

Relay 旨在支持对个人身份信息 (PII) 的数据清理、响应时间和企业域管理具有特定企业安全要求的组织。

PII 数据清理

Sentry 已经在两个地方清除了 PII:

Relay 添加了第三个选项,可以在将数据发送到 Sentry 之前在一个中心位置清理数据。

要选择正确的数据清理位置,请考虑:

响应时间

Relay 对请求的响应非常快。在您的基础设施附近安装 Relay 将进一步缩短发送事件时的响应时间。这种安装方法可以特别减少偏远地区的往返时间。

企业域管理

默认情况下,SDK 需要使用指向 sentry.io 的数据源名称 (DSN) 进行配置。如果您需要将所有 HTTP 通信限制为自定义域名,Relay 可以充当不透明代理,将事件可靠地转发到 Sentry。

入门

开始使用 Relay 就像使用默认设置一样简单。您还可以配置 Relay 以满足您组织的需求。查看配置选项页面以获取有关操作场景的详细讨论。

Relay server 称为 relay。从 GitHub Releases 下载二进制文件。DockerHub 上提供了一个 Docker 镜像。

初始化配置

要创建初始配置,请使用 Relay 的 relay config init 命令, 该命令将配置文件放在当前工作目录下的 .relay 文件夹中。

在 Docker 中,使用 Docker 提供的标准机制提供配置目录,通过挂载 Docker volumes 或构建新容器并复制文件。

  1. # 调整配置目录的权限 
  2. docker run --rm -it                \ 
  3.   -v $(pwd)/config/:/work/.relay/  \ 
  4.   --entrypoint bash                \ 
  5.   getsentry/relay                  \ 
  6.   -c 'chown -R relay:relay /work/.relay' 
  7.  
  8. # 生成配置 
  9. docker run --rm -it                \ 
  10.   -v $(pwd)/config/:/work/.relay/  \ 
  11.   getsentry/relay                  \ 
  12.   config init 

选择默认配置以创建最小配置文件。您可以通过选择 "create custom config" 并自定义这些参数来选择覆盖默认设置:

目前,只有 proxy 和 static 模式可供所有组织使用。managed 模式下的 Relay 仅适用于商业和企业计划。https://docs.sentry.io/product/relay/modes/

设置记录在 .relay/config.yml 中。请注意,所有配置值都是可选的,并且默认为以下设置:

  1. relay: 
  2.   mode: managed 
  3.   upstream: "https://sentry.io/" 
  4.   host: 0.0.0.0 
  5.   port: 3000 
  6.   tls_port: ~ 
  7.   tls_identity_path: ~ 
  8.   tls_identity_password: ~ 

配置在配置选项中有完整记录。

创建凭证

不适用于 proxy 或 static 模式。

除了 config.yml,init 命令还创建了一个凭证文件 credentials.json,它位于同一个 .relay 目录中。此文件包含 Relay 用于与上游服务器进行身份验证的公钥和私钥。

因此,必须保护此文件不被未经授权的实体修改或查看。

典型的凭据文件类似于此示例:

  1.   "secret_key""5gkTAfwOrJ0lMy9aOAOmHKO1k6gd8ApYkAInmg5VfWk"
  2.   "public_key""nDJI79SbEYH9-8NEJAI7ezrgYfoIPW3Bnkg00k1z0fA"
  3.   "id""cde0d72e-0c4e-4550-a934-c1867d8a177c" 

在 managed 模式下运行时,使用 public_key 向上游服务器注册您的 Relay。

使用 Sentry 注册 Relay

不适用于 proxy 或 static 模式。

为了在 managed 模式下运行,Relay 从 Sentry 中的组织和项目设置中提取 PII 剥离、过滤和速率限制的配置。由于这些设置可能包含敏感信息,因此它们的访问受到 Sentry 的限制并需要授权。

向 Sentry 注册 Relay:

通过检查 credentials.json 文件或运行以下命令来复制公钥的内容:

  1. docker run --rm -it                \ 
  2.   -v $(pwd)/config/:/work/.relay/  \ 
  3.   getsentry/relay                  \ 
  4.   credentials show 

单击 Sentry 主导航中的 Settings,然后选择 Relays。

点击 New Relay Key 添加密钥并保存:

此过程向 Sentry 注册 Relay,以便准备发送消息。请参阅配置选项以了解有关 Relay 配置选项的更多信息。

运行 Relay

在 Sentry 注册 Relay 后,它就可以运行了:

  1. docker run --rm -it                \ 
  2.   -v $(pwd)/config/:/work/.relay/  \ 
  3.   -p 3000:3000                     \ 
  4.   getsentry/relay                  \ 
  5.   run 

在默认配置下,Relay 发出类似于以下内容的日志输出:

  1. INFO  relay::setup > launching relay from config folder .relay 
  2. INFO  relay::setup >   relay mode: managed 
  3. INFO  relay::setup >   relay id: cde0d72e-0c4e-4550-a934-c1867d8a177c 
  4. INFO  relay::setup >   public key: nDJI79SbEYH9-8NEJAI7ezrgYfoIPW3Bnkg00k1z0fA 
  5. ... 
  6. INFO  relay_server::actors::upstream > relay successfully registered with upstream 

INFO relay_server::actors::upstream > relay successfully registered with upstream

有关如何配置 Relay 的日志记录的更多信息,请参阅 Logging 页面。

如果您移动了 config 文件夹(例如,出于安全原因),请使用 --config 选项指定位置:

  1. docker run --rm -it                \ 
  2.   -v $(pwd)/config/:/etc/relay/    \ 
  3.   -p 3000:3000                     \ 
  4.   getsentry/relay                  \ 
  5.   run --config /etc/relay/ 

发送测试事件

一旦 Relay 运行并通过 Sentry 进行身份验证,将测试事件发送到您组织中的项目之一。

通过在 Settings > Projects > {YOUR_PROJECT_NAME} > Client Keys (DSN) 导航到您的项目设置来获取您的项目的 DSN,然后选择一个现有的 DSN,它看起来类似于:

https://12345abcdef10111213141516171819@o1.ingest.sentry.io/2345

接下来,替换部分 DSN 以匹配 Relay 可访问的地址。例如,如果 Relay 侦听 http://localhost:3000,请将 DSN 的 protocol 和 host 更改为:

http://12345abcdef10111213141516171819@localhost:3000/2345

在您的 SDK 配置中使用新的 DSN。要对此进行测试,您可以使用 sentry-cli(安装说明)发送消息:

  1. export SENTRY_DSN='http://12345abcdef10111213141516171819@127.0.0.1:3000/2345' 
  2. sentry-cli send-event -m 'A test event' 

 

几秒钟后,该事件应出现在您项目的问题流(issues stream)中。

 

来源: 黑客下午茶内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯