Atlas提供了一个系统,用于在 组织、项目 和 数据库 级别管理用户权限。Atlas Stream Processing扩展了该系统,提供了特定于流处理任务的额外角色和权限,以及将用户权限限制为特定流处理工作区的能力。
组织和项目访问权限
用户在项目级别管理 Stream Processing 工作区及其关联的连接注册表。为此,Atlas Stream Processing 提供了 Project Stream Processing Owner 角色。具有此角色的用户可以执行任何 Stream Processing 工作区或连接注册表管理操作,并管理项目中的数据库和数据库用户。将此角色分配给用户,使其能够执行配置 Atlas Stream Processing 项目所需的所有操作,而不会根据最小权限原则授予功能任何不必要的权限。
如有必要,您可以以具有Project Owner或Organization Owner角色的用户身份执行Project Stream Processing Owner角色授权的任何操作。
Stream Processing 工作区访问
您可以访问现有的 Stream Processing 工作区,并以数据库用户身份管理流处理器 ,这与您访问 Atlas 集群的方式类似。分配给数据库用户的角色和操作决定了他们可以在 Stream Processing 工作区中的流处理器上执行哪些操作。Atlas Stream Processing 提供以下权限操作:
processStreamProcessorcreateStreamProcessorstartStreamProcessorstopStreamProcessordropStreamProcessorlistStreamProcessorssampleStreamProcessorstreamProcessorStatslistConnections
您可以将这些权限操作准确分配给所需的数据库用户或自定义角色。或者,具有 atlasAdmin 或 readWriteAnyDatabase 权限的数据库用户可执行所有这些操作。
网络
Atlas Stream Processing支持连接到Atlas集群和外部流媒体数据源,例如Apache Kafka。Atlas内的连接不需要手动配置。要连接到外部流媒体数据源,您必须将Atlas IP地址添加到外部流媒体数据源的访问权限列表。
要确定必要的 Atlas IP 地址,请运行以下命令:
curl -H 'Accept: application/vnd.atlas.2023-11-15+json' -s \ 'https://cloud.mongodb.com/api/atlas/v2/unauth/controlPlaneIPAddresses'
这将返回按提供商和区域分组的可用 Atlas IP 地址列表。识别部署目标 Stream Processing 工作区的提供商和区域对的所有出站 IP 地址,并将其添加到外部数据源的访问列表中。要了解更多信息,请参阅支持访问 Atlas 控制平面或从 Atlas 控制平面进行访问。
配置与外部流数据源的连接时,您可以选择通过公有 IP 地址或通过 VPC 对等连接进行访问。要了解更多信息,请参阅 将连接添加到连接注册表。
限制访问特定 Stream Processing 工作区
默认情况下,具有 Atlas Stream Processing 权限操作的用户可以在所有 Stream Processing 工作区上执行相关操作。您可以将这些权限的应用限制到特定的 Stream Processing 工作区。
单击要修改权限的用户所在行的Edit 。
在模式窗口中,打开标有Restrict Access to Specific Clusters /Federated Database Instances/Stream Processing Workspaces的开关。
找到要授予用户权限的 Stream Processing 工作区的名称。选中名称旁边的复选框,授予用户该 Stream Processing 工作区的权限。取消选中该复选框,拒绝给予用户该 Stream Processing 工作区的权限。
执行配置文件
您可以将连接到 Atlas 数据库时使用的数据库用户角色配置为 $source 或 $merge 接收器。这允许您防止 Atlas Stream Processing 特定的数据库用户通过配置Stream Processing 工作区及其连接的具有更高权限的 Atlas user 的凭证,间接访问托管该数据库的集群。
注意
根据最小权限原则,定义仅具有用户执行所需操作所需权限的自定义角色。
AtlasGoStream Processing在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Streaming Data 标题下的 Stream Processing。
此时将显示 Stream Processing 页面。
在要配置的 Stream Processing 工作区的窗格中,点击 Configure。
单击Connection Registry标签页。 在要配置的 Atlas 数据库连接所在行,单击。
从Execute As下拉菜单中,选择连接到数据库时要使用的角色。
审核
Atlas Stream Processing 审核允许管理员跟踪其 Stream Processing 工作区上的身份验证和实体管理事件。每次给定的 Stream Processing 工作区发生可审核事件时,Atlas Stream Processing 都会将该事件写入Stream Processing 工作区的日志。日志在其所属的 Stream Processing 工作区的生命周期内持续存在,并且 Atlas Stream Processing 永远不会截断旧事件。如果您删除 Stream Processing 工作区,则属于该 Stream Processing 工作区的日志将额外保留 30 天。
要下载 Stream Processing 工作区的审核日志,请参阅下载审核日志。
Atlas Stream Processing 支持审核以下身份验证事件:
事件 | 说明 |
|---|---|
身份验证成功 | 当用户成功连接到 Stream Processing 工作区时发生 |
身份验证失败 | 当用户无法连接到 Stream Processing 工作区时发生 |
连接终止 | 当用户关闭连接时发生 |
Atlas Stream Processing 支持审核以下实体管理事件:
startStreamProcessor | 在用户启动流处理器时发生 |
|---|---|
createStreamProcessor | 当用户创建流处理器时发生 |
stopStreamProcessor | 当用户停止流处理器时发生 |
dropStreamProcessor | 当用户删除流处理器时出现 |
.process() | 当用户发出 .process () 时发生调用 |
.sample() | 当用户发出 .sample () 时发生调用 |
已访问审核日志 | 当用户尝试下载审核日志时发生 |