多用户访问同一数据库实例——批量创建IAM 用户,及数据库用户实践

举报
虫子 发表于 2023/08/25 17:11:34 2023/08/25
【摘要】 1、安装python3,需要3.7或3.8版本。2、使用文本编辑器打开脚本文件 batchCreateIAMUserAndDatabaseUser.txt ,需要修改开头access中的内容。3、保存修改,运行脚本。4、运行窗口和日志。

1、安装python3,需要3.7或3.8版本。

2、使用文本编辑器打开脚本文件 batchCreateIAMUserAndDatabaseUser.txt ,需要修改开头access中的内容,以下为相关信息:

access = {
    'domian_name''hw_****'# 主账号名
    'domain_id''b46b***'# 主账号id
    'iamuser_name''CreateStdUser'# 子账号名,需要手动创建,并将其加入到admin用户组
    'iamuser_id''c86e3152***'# 子账号id
    'iamuser_password''****'# 子账号密码
    'endpoint''cn-north-4'# 操作的region,必须正确,涉及到授权,一般为数据库实例所在的region
    'group_name''student'# 要创建的用户组名,可自定义,不可为空
    'use_account'1# 1表示是,0表示否,是否使用名单AccoutImportTemplate.xlsx来创建iam账号,必须填写账号名称,建议填写邮箱地址,不用填写手机号,默认密码为'账号名_123',首次登录需修改密码
    'user_count'5# 要创建的iam账号的数量,如果use_account为0,必须填写正确数量,会创建user_count个名称形式为iamuser01[02,03],默认密码为'iamuser_01[02,03]_123'的IAM用户,首次登录需修改密码
    'permission_role_names': ['DAS+Administrator','DAS+FullAccess','GaussDB+ReadOnlyAccess'], # 默认,不可修改
    'gaussdbformysql_connection': {
        'usage'0# 1表示是,0表示否,是否使用gaussdbformysql,根据购买实例的引擎类型必须正确填写
        'host':'localhost'# 数据库服务地址
        'port':3306# 数据库服务端口
        'user':'root'# 创建实例时默认创建的用户,拥有最高权限,请使用该用户
        'password':'' # 数据库用户对应的密码
        },
    'gaussdb_connection': {
        'usage'0# 1表示是,0表示否,是否使用gaussdb,根据购买实例的引擎类型必须正确填写
        'host''localhost'# 数据库服务地址
        'port'5432# 数据库服务端口
        'user''postgres'# 创建实例时默认创建的用户,拥有最高权限,请使用该用户
        'password'''# 数据库用户对应的密码
        'database''finance' # 需要创建的数据库的名称,可自定义,不可为空,默认finance
        }
}

1)主账号名,主账号id

2)用于创建多用户的IAM账号名,需要提前创建,再修改相关信息。

创建IAM账号

将上述创建的账号加入到admin用户组中

修改以下信息

'iamuser_name''CreateStdUser'# 子账号名,需要手动创建,并将其加入到admin用户组
'iamuser_id''c86e31****'# 子账号id
'iamuser_password''****'# 子账号密码

3)是否使用名单文件 AccoutImportTemplate.xlsx 来创建IAM账号
'use_account'1# 1表示是,0表示否,是否使用名单AccoutImportTemplate.xlsx来创建iam账号,必须填写账号名称(学号等),建议填写邮箱地址,不用填写手机号,默认密码为'账号名_123',首次登录需修改密码
'user_count'5# 要创建的iam账号的数量,如果use_account为0,必须填写正确数量,会创建user_count个名称形式为iamuser01[02,03],默认密码为'iamuser_01[02,03]_123'的IAM用户,首次登录需修改密码

4)数据库连接信息

如果使用GaussDB(for MySQL),需要填写以下信息,未使用确保 'usage'为0

'gaussdbformysql_connection': {
        'usage'0# 1表示是,0表示否,是否使用gaussdbformysql,根据购买实例的引擎类型必须正确填写
        'host':'localhost'# 数据库服务地址
        'port':3306# 数据库服务端口
        'user':'root'# 创建实例时默认创建的用户,拥有最高权限,请使用该用户
        'password':'' # 数据库用户对应的密码
        },

如果使用GaussDB,需要填写以下信息,未使用确保 'usage'为0

'gaussdb_connection': {
        'usage'0# 1表示是,0表示否,是否使用gaussdb,根据购买实例的引擎类型必须正确填写
        'host''localhost'# 数据库服务地址
        'port'5432# 数据库服务端口
        'user''postgres'# 创建实例时默认创建的用户,拥有最高权限,请使用该用户
        'password'''# 数据库用户对应的密码
        'database''finance' # 需要创建的数据库的名称,可自定义,不可为空,默认finance
        }

如果需要通过公网连接数据库,请点击以下链接,选择相关内容参考

https://connect.huaweicloud.com/courses/learn/Learning/sp:cloudEdu_?courseNo=course-v1:HuaweiX+CBUCNXK034+Self-paced&courseType=1

GaussDB(for MySQL):  3.2 实验指导书 - 云数据库GaussDB(for MySQL)(含精讲视频)  --->  02 各种方式连接数据库实例  --->  2 通过公网连接GaussDB(for MySQL)

GaussDB:  3.3 实验指导书 - 云数据库GaussDB  --->  02 各种方式连接数据库实例  --> 2 通过公网连接GaussDB

3、保存修改,运行脚本

因上传格式限制,使用前需将文件batchCreateIAMUserAndDatabaseUser.txt 的后缀改为.py:batchCreateIAMUserAndDatabaseUser.py

双击运行

4、运行窗口和日志

1)首次运行需要安装python 模块,包括requests PyMySQL psycopg2 pandas openpyxl ,需较长时间

2)操作步骤

0、安装模块[]
1、加载账号信息
2、获取token
3、创建用户组
4、授权用户组DAS Administrator,DAS FullAccess,GaussDB ReadOnlyAccess,范围为endpoint,一般为北京四
5、创建IAM用户
6、将IAM用户添加至用户组
7、创建数据库用户

3)操作进展,报错,结束会在窗口中显示,按确认键即可关闭。出现报错需处理完报错后再次运行。

4)运行日志

运行过程会记录到与脚本同级目录下的运行日志 batchCreateUsers.log 

以下为记录的信息说明:

a.执行开始时间:

---- 执行开始 Mon Jun 26 17:22:57 2023 ----

b.执行步骤成功:

1、加载账号信息
账号信息加载完成

c.执行步骤报错:

5、创建IAM用户
创建IAM用户失败,报错信息已写入同目录下文件batchCreateUsers.log,已退出流程
请填写名单或设置use_account=0

d.记录创建的iam账号(示例账号,无实际意义):

5、创建IAM用户
创建IAM用户成功,已将创建的用户信息写入同目录下文件batchCreateUsers.log
IAM用户列表
IAM用户名,用户密码,用户邮箱(如果有)
iamuser01,iamuser01_123,0
iamuser02,iamuser02_123,0

e.记录创建的数据库账号(示例账号,无实际意义):

7、创建数据库用户创建gaussdb数据库用户成功,已将创建的用户信息写入同目录下文件batchCreateUsers.log
数据库用户列表
数据库用户名,用户密码
db_user01,db_user01@123
db_user02,db_user02@123

f.执行结束时间:

---- 执行结束 Sun Jun 25 16:57:59 2023 ----

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。