WebStorm 2021.1 Help

Code With Me 安全

Code With Me 是一个强大的工具,让您能够协作处理您的代码。有了这种能力,您就有责任保持您的代码和访问级别的安全。以下是您在 Code With Me 会话中授予计算机访问权限时可能出现的问题。

JetBrains 的服务器如何以及哪些数据正在传输?

您的项目数据正在通过 JetBrains 的服务器进行端到端加密。只有当主机和来宾验证两端的安全代码匹配时,端到端加密才是安全的。否则,端到端加密易受中间人攻击。

本地 IP 地址、项目名称和用户名无需加密即可共享,因为它们用于让 JetBrains 在主机和来宾之间建立会话。启动新的Code With Me会话时,主机通过 TLS1.2+ 与 JetBrains 服务器通信。

Code With Me通过JetBrains 创建的开源分布式协议进行通信,并使用 TLS 1.3 进行端到端加密。

如果您不希望您的数据通过 JetBrains 服务器,您可以配置本地服务器

JetBrains 访问哪些项目数据?

JetBrains 访问本地 IP 地址、项目名称和用户名。JetBrains 不会访问与项目内容相关的信息,例如源、项目文件、配置文件,因为这些信息在其服务器中以端到端加密方式流动。

在实时会话期间收集哪些数据?

JetBrains 不会检查或收集Code With Me会话期间共享的代码的任何数据,因为这些信息流经 JetBrains 服务器的端到端加密。

是否有任何文件本地存储在客人的机器上?

不,共享代码驻留在主人的机器上,不会上传或存储在云或客人的计算机中。

主机和来宾都可以在本地收集和存储日志文件,其中包括有关会话的详细信息,例如用户名、建立连接的远程地址、插入符号的移动、键入的符号、调用的操作、部分文件内容、打开的文件、文件路径等等。

访客可以访问哪些文件?它们是否仅限于特定的工作目录?

如果主持人授予权限,则在活动会话期间访问主持人项目的不同部分、执行代码或在终端工具窗口中工作没有任何限制。

如何在代理后面使用 Code With Me?

如果您在本地网络中工作,则可以使用私有本地服务器绕过代理限制。

作为替代方案,您可以将以下 url 添加到允许列表中:

  • https://code-with-me.jetbrains.com

  • https://download.jetbrains.com

  • https://download-cf.jetbrains.com

  • wss://codewithme-relay-1.europe-north1-gke.intellij.net

  • wss://codewithme-relay-2.europe-north1-gke.intellij.net

  • wss://codewithme-relay-1.us-east1-gke.intellij.net

  • wss://codewithme-relay-2.us-east1-gke.intellij.net

  • wss://codewithme-relay-1.asia-northeast1-gke.intellij.net

  • wss://codewithme-relay-2.asia-northeast1-gke.intellij.net

  • wss://codewithme-relay-1.southamerica-east1-gke.intellij.net

  • wss://codewithme-relay-2.southamerica-east1-gke.intellij.net

  • wss://codewithme-relay-1.asia-south1-gke.intellij.net

  • wss://codewithme-relay-2.asia-south1-gke.intellij.net

作为主持人,我如何运行安全的 Code With Me 会话?

仅与您信任的人共享 Code With Me 会话的邀请链接。不要接受您不认识或不确定是否要参加会议的客人。不要在代码中硬编码任何敏感信息,例如密码、用户名等。您在会话中授予的访问级别应与您对客人的信任级别相匹配。

主持人如何授权客人参加他们的会议?

主持人为 Code With Me 会话创建邀请链接并将其发送给客人。当客人接受带有两端匹配的安全代码的链接时,主人确认访问 Code With Me 会话。只有在确认后,客人才能加入会议。

主机能控制什么?

作为主持人,您可以控制客人在会议期间可以看到和访问的内容。即使访客访问了会话,您也可以删除他们。您可以隐藏某些文件的访问权限并控制对计算机终端的访问。

创建邀请链接时,您可以在发送邀请链接之前配置所有访客权限。有关更多详细信息,请参阅权限部分。

Code With Me 提供了隐藏文件功能,允许 IDE 的某些部分为特定来宾隐藏这些文件(例如,IDE 不会指示或显示这些文件)。无论访客访问级别如何,都可以使用此功能。但是,这是为了方便而不是作为保证限制而提供的,并且不会消除与来宾使用命令行界面功能相关的访问可能性。

主持人可以更改会话中某些客人的权限吗?

是的,即使在会话之前为所有客人配置了权限,主持人也可以在 Code With Me 会话期间更改个别客人的权限。

主人可以在完全访问模式下限制客人的活动吗?

是的,主持人可以在 Code With Me 会话期间隐藏某些文件以防止访问,并更改限制访问的个别客人的权限。

主机可以使用“隐藏”功能将文件放在一边,这样它们就不容易通过标准访问方式访问或找到。每个客人都收集自己的日志,但 Code With Me 不提供其他存储功能,尽管您应该知道第三方应用程序可用于记录编码会话和数据。

音频/视频通话是否加密?

默认情况下,两个参与者之间的音频和视频通话没有端到端加密,但可以在通话安全选项中启用。

两个以上参与者的音频和视频通话,例如视频会议,没有端到端加密。但是,这种加密正在开发中。

谁可以访问 Code With Me 会话中的音频或视频?

在 Code With Me 会话期间,只有主持人和接受的客人可以访问音频和视频。

Code With Me 会在会话结束后保存视频、音频或聊天记录吗?

不,Code With Me 不会保存任何视频或音频通话,也不会在会话结束后保留​​任何聊天记录。

未经授权的客人可以加入 Code With Me 会话吗?

每位客人都必须等待主持人批准才能加入 Code With Me 会话。

主人为每位客人提供一个安全码;但房东仍需负责核实客人的身份。

客户端在会话期间保留哪些类型的数据?

Code With Me 客户端以及选择的设置保留在每个客人的机器上。

通讯是如何建立的?

主机和访客通过https://code-with-me.jetbrains.com上的 API 端点交换 Code With Me 会话信息

之后,Guest 和 Host 尝试通过以下方式连接,直到成功:

  • Host打开5990-65536范围内第一个可用的TCP端口,等待Guest连接(直接连接);

  • Host 和Guest 监听一个随机的UDP 端口并尝试建立一个点对点连接(p2p 连接)。

    有关一般描述,请参阅UDP_hole_punch

    这与任何 VoIP 客户端使用的方法相同(例如,Skype、Slack、Google Meet 等)

  • 作为最后的手段,Host 和 Guest 尝试通过JetBrains 提供的中继进行通信。

语音和视频通话正在走不同的路线。Jitsi 视频会议技术提供视频/语音聊天支持。

  • 主机和访客正在尝试建立对等连接。

  • 如果失败,他们会尝试使用第三方提供的 TURN 服务器。

  • p2p 和 TURN 服务器连接的流量都是端到端加密的。

  • 对于超过 2 人的通话,视频/语音流量通过 JetBrains 提供的服务器传输。

最后修改:2021 年 11 月 19 日