MongoDB 需要的权限
本文介绍 MongoDB 作为源端或对端数据源迁移或同步数据时,CloudCanal 所需的账号权限。
信息
本文也同样适用于 阿里云 MongoDB、AWS DocumentDB。
作为源端
- 全量迁移:迁移 集合 的 SELECT 权限。
示例:db.createRole({
role: "sync",
privileges: [
{
resource: { db: "", collection: "" },
actions: ["listCollections", "listDatabases", "listIndexes"]
}],
roles: []
}); - 增量同步:MongoDB 实例的 ChangeStream 权限。
示例:db.createRole({
role: "sync",
privileges: [
{
resource: { db: "", collection: "" },
actions: ["find", "changeStream", "modifyChangeStreams", "listChangeStreams"]
}],
roles: []
}); - 源端心跳(可选):心跳库的 SELECT、INSERT、UPDATE 权限。
示例:db.createRole({
role: "sync",
privileges: [
{
resource: { db: "", collection: "" },
actions: ["insert", "update", "listCollections", "listDatabases", "listIndexes"]
}],
roles: []
});
作为对端
全量迁移/增量同步:迁移 集合 的 INSERT、UPDATE、DELETE 权限。
示例:
db.createRole({
role: "sync",
privileges: [
{
resource: { db: "", collection: "" },
actions: ["insert", "update", "delete"]
}],
roles: []
});