安全性
在此页面上
Atlas 提供了一个系统,用于在组织、项目和数据库级别管理用户权限。 Atlas Stream Processing 扩展了该系统,提供了特定于流处理任务的额外角色和特权,以及限制特定流处理实例的用户权限的功能。
组织和项目访问权限
用户在项目级别管理流处理实例及其关联的连接注册表。 Atlas Stream Processing 为此目的提供了 Project Stream Processing Owner
角色。具有此角色的用户可以执行任何流处理实例或连接注册表管理操作,并管理项目内的数据库和数据库用户。将此角色分配给用户,使他们能够执行配置 Atlas Stream Processing 项目所需的所有操作,而无需根据最小特权原则授予对功能的任何不必要的权限。
如有必要,您可以以具有Project Owner
或Organization Owner
角色的用户身份执行Project Stream Processing Owner
角色授权的任何操作。
流处理实例访问
您可以访问现有的流处理实例并以 数据库用户 的身份 管理流处理器 ,这与访问 Atlas 集群类似。分配给数据库用户的角色和操作决定了他们可以在流处理实例中的流处理器上执行哪些操作。 Atlas Stream Processing 提供以下特权动作:
processStreamProcessor
createStreamProcessor
startStreamProcessor
stopStreamProcessor
dropStreamProcessor
listStreamProcessors
sampleStreamProcessor
streamProcessorStats
listConnections
您可以将这些权限操作准确分配给所需的数据库用户或自定义角色。 或者,具有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 地址的列表,按提供商和地区分组。确定部署目标流处理实例的提供商-地区对的所有出站 IP 地址,并将这些地址添加到外部数据源的访问列表中。要了解更多信息,请参阅允许访问 Atlas 控制面或从 Atlas 控制面进行访问。
配置与外部流数据源的连接时,您可以选择通过公共 IP 地址进行访问,也可以通过VPC 对等互连进行访问。要了解更多信息,请参阅将连接添加到连接注册表。
限制对特定Atlas Stream Processing实例的访问
默认情况下,拥有Atlas Stream Processing特权操作的用户可以在所有Atlas Stream Processing实例上执行关联操作。 您可以将这些权限的应用限制为特定的Atlas Stream Processing实例。
在 AtlasDatabase Access 中,转到项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击Security标题下的Database Access 。
显示数据库访问页面。
单击要修改权限的用户所在行的Edit 。
在模式窗口中,打开标有Restrict Access to Specific Clusters /Federated Database Instances/Stream Processing Instances的开关。
查找要授予用户权限的Atlas Stream Processing实例的名称。 选中名称旁边的复选框,以授予用户该Atlas Stream Processing实例的权限。 取消选中该复选框可拒绝该Atlas Stream Processing实例的用户权限
执行配置文件
您可以将连接到 Atlas 数据库时使用的数据库用户角色配置为$source
或$merge
接收器。 这样,您就可以防止特定于Atlas Stream Processing 的数据库用户通过配置Atlas user Atlas Stream Processing实例及其连接的高特权 的档案间接访问托管该数据库的集群。
注意
根据最小权限原则,定义仅具有用户执行所需操作所需权限的自定义角色。
在 AtlasStream Processing 中,转到项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击Services标题下的Stream Processing 。
此时会显示“流处理”页面。
在要配置的Atlas Stream Processing实例的窗格中,单击 Configure。
单击Connection Registry标签页。 在要配置的 Atlas 数据库连接所在行,单击。
从Execute As下拉菜单中,选择连接到数据库时要使用的角色。
审核
Atlas Stream Processing 审核允许管理员跟踪其流处理实例上的身份验证和实体管理事件。每次给定流处理实例上发生可审核事件时,Atlas Stream Processing 都会将该事件写入该流处理实例的日志中。日志在其所属的流处理实例的生命周期内持续存在,并且 Atlas Stream Processing 从不截断旧事件。如果删除流处理实例,则属于该流处理实例的日志会再保留30天。
要下载流处理实例的审核日志,请参阅下载审核日志。
Atlas Stream Processing 支持审核以下身份验证事件:
事件 | 说明 |
---|---|
身份验证成功 | 用户成功连接流处理实例时触发 |
身份验证失败 | 用户连接流处理实例失败时触发 |
连接终止 | 当用户关闭连接时发生 |
Atlas Stream Processing 支持审核以下实体管理事件:
startStreamProcessor | 当用户启动流处理器时发生 |
---|---|
createStreamProcessor | 当用户创建流处理器时发生 |
stopStreamProcessor | 当用户停止流处理器时发生 |
dropStreamProcessor | 当用户删除流处理器时发生 |
.process() | 当用户发出.process()调用时发生 |
.sample() | 当用户发出.sample()调用时发生 |
已访问审核日志 | 当用户尝试下载审核日志时发生 |