MongoDB工具 >MongoDB Kubernetes运营商 >部署MongoDB数据库资源 >管理数据库用户 > 使用SCRAM身份验证管理数据库用户
Kubernetes Operator支持在MongoDB部署中使用SCRAM身份验证来管理数据库用户。
当您指定SCRAM
为身份验证机制时,所用SCRAM的实现取决于:
MongoDB版本 | 数据库 | SCRAM实施 |
---|---|---|
3.6或更早版本 | 除应用程序数据库外的任何 | SCRAM-SHA-1 |
4.0或更高版本 | 除应用程序数据库外的任何 | SCRAM-SHA-256 |
任何 | 应用数据库 | SCRAM-SHA-1 |
Kubernetes Operator在其创建的部署中仅支持SCRAM和X.509身份验证机制。在操作员创建的部署中,您不能使用Ops Manager来执行以下操作:
启用SCRAM身份验证后,您可以使用Ops Manager界面或MongoDBUser CustomResourceDefinition添加SCRAM用户 。
使用下表指导您更改“机密”中突出显示的行:
键 | 类型 | 描述 | 例 |
---|---|---|---|
metadata.name |
串 | 数据库密码密码的名称。 资源名称不得超过44个字符。 |
mms-scram-user-1-password |
stringData.password |
串 | 所需用户的明文密码。 注意 使用此选项和值或 |
<my-plain-text-password> |
data.password |
串 | 所需用户的Base64编码密码。 注意
|
<my-base64-encoded-password> |
.yaml
扩展名的User Secret文件。¶使用下表指导您更改MongoDBUser YAML文件中突出显示的行:
键 | 类型 | 描述 | 例 |
---|---|---|---|
metadata.name |
串 | 数据库用户资源的名称。 资源名称不得超过44个字符。 |
mms-scram-user-1 |
spec.username |
串 | 数据库用户名。 | mms-scram-user-1 |
spec.passwordSecretKeyRef.name |
串 | metadata.name 存储用户密码的机密值。 |
my-resource |
spec.mongodbResourceRef.name |
串 | 与该用户关联的MongoDB资源的名称。 | my-resource |
spec.roles.db |
串 | 角色可以作用的数据库。 | admin |
spec.roles.name |
串 | 授予数据库用户的角色名称。角色名称可以是Cloud Manager或Ops Manager中存在的任何 内置MongoDB角色或 自定义角色。 | readWriteAnyDatabase |
您可以向该用户授予其他角色。
.yaml
扩展名保存MongoDBUser文件。¶调用以下Kubernetes命令来创建数据库用户:
您可以在Cloud Manager或Ops Manager中查看新创建的用户:
要删除数据库用户,metadata.name
请将用户MongoDBUser的传递给以下命令:
要将用户身份验证从SCRAM更改为X.509,请执行以下操作:
禁用身份验证。
在下spec.security.authentication
,更改enabled
为
false
。
重新应用用户的资源定义。
等待MongoDBResource到达running
状态。
启用SCRAM身份验证。
在下spec.security.authentication
,更改enabled
为
true
并设置modes
为["SCRAM"]
。
重新应用MongoDBUser资源。
等待MongoDBResource到达running
状态。