云服务器内容精选

  • 响应示例 状态码: 201 Successful { "id" : "ac6aa714-daa7-1aaa-aaa2-6715aaaa4dd9", "externalId" : "123456", "meta" : { "resourceType" : "User", "created" : "2023-04-08T14:53:43Z", "lastModified" : "2023-04-08T14:53:43Z" }, "schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName" : "xxx", "name" : { "formatted" : "xxx", "familyName" : "xxx", "givenName" : "xxx", "middleName" : "xxx", "honorificPrefix" : "xxx", "honorificSuffix" : "xxx" }, "displayName" : "xxx", "nickName" : "xxx", "title" : "xxx", "userType" : "xxx", "preferredLanguage" : "zh-CN", "locale" : "zh-CN", "timezone" : "xxx", "active" : true, "emails" : [ { "value" : "xxx", "type" : "work", "primary" : true } ], "addresses" : [ { "formatted" : "xxx", "streetAddress" : "xxx", "locality" : "xxx", "region" : "xxx", "postalCode" : "123456", "country" : "xxx", "type" : "work", "primary" : true } ], "phoneNumbers" : [ { "value" : "xxx", "type" : "work", "primary" : true } ] }
  • 请求示例 创建用户 POST https://{hostname}/{tenant_id}/scim/v2/Users { "externalId" : "123456", "userName" : "xxx", "name" : { "formatted" : "xxx", "familyName" : "xxx", "givenName" : "xxx", "middleName" : "xxx", "honorificPrefix" : "xxx", "honorificSuffix" : "xxx" }, "displayName" : "xxx", "nickName" : "xxx", "profileUrl" : "xxx", "emails" : [ { "value" : "xxx", "type" : "work", "primary" : true } ], "addresses" : [ { "formatted" : "xxx", "streetAddress" : "xxx", "locality" : "xxx", "region" : "xxx", "postalCode" : "123456", "country" : "xxx", "type" : "work", "primary" : true } ], "phoneNumbers" : [ { "value" : "xxx", "type" : "work", "primary" : true } ], "userType" : "xxx", "title" : "xxx", "preferredLanguage" : "zh-CN", "locale" : "zh-CN", "timezone" : "xxx", "active" : true, "schemas" : [ "urn:ietf:params:scim:schemas:core:2.0:User" ] }
  • 响应参数 状态码: 201 表10 响应Body参数 参数 参数类型 描述 id String 用户的全局唯一标识符(ID)。 externalId String 外部标识符。 meta Object 元数据。 schemas Array of strings 概要。 userName String 用户名,用于标识用户的唯一字符串。 name Object 包含用户姓名信息的对象。 displayName String 包含用户显示名称的字符串。 nickName String 包含用户昵称的字符串。 title String 包含用户头衔的字符串。 userType String 指示用户类型的字符串。 preferredLanguage String 包含用户首选语言的字符串。 locale String 包含用户地理区域或位置的字符串。 timezone String 包含用户时区的字符串。 active Boolean 表示用户是否启用。 emails Array of objects 包含用户的电子邮箱信息的对象列表。 addresses Array of objects 包含用户地址信息的对象列表。 phoneNumbers Array of objects 包含用户电话号码信息的对象列表。 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User Object 包含用户工作相关信息的对象。 表11 meta 参数 参数类型 描述 resourceType String 资源类型。 created String 资源创建时间。 lastModified String 资源最后更新时间。 表12 name 参数 参数类型 描述 formatted String 包含要显示的名称的格式化版本的字符串。 familyName String 用户的姓氏。 givenName String 用户的名字。 middleName String 用户的中间名。 honorificPrefix String 用户的尊称前缀。 honorificSuffix String 用户的尊称后缀。 表13 emails 参数 参数类型 描述 value String 包含电子邮箱地址的字符串。 type String 表示电子邮箱类型的字符串。 primary Boolean 一个布尔值,表示这是否为用户的主电子邮箱。 表14 addresses 参数 参数类型 描述 formatted String 包含要显示的地址的格式化版本的字符串。 streetAddress String 街道。 locality String 地址位置。 region String 区域。 postalCode String 邮政编码。 country String 国家或地区。 type String 表示地址类型的字符串。 primary Boolean 一个布尔值,表示这是否为用户的主地址。 表15 phoneNumbers 参数 参数类型 描述 value String 包含电话号码的字符串。 type String 表示电话号码类型的字符串。 primary Boolean 一个布尔值,表示这是否为用户的主电话号码。 表16 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User 参数 参数类型 描述 costCenter String 成本中心。 最小长度:1 最大长度:1024 department String 部门。 最小长度:1 最大长度:1024 division String 分部。 最小长度:1 最大长度:1024 employeeNumber String 员工编号。 最小长度:1 最大长度:1024 manager Object 经理。 organization String 组织。 最小长度:1 最大长度:1024 表17 manager 参数 参数类型 描述 value String 经理。 最小长度:1 最大长度:1024 状态码: 400 表18 响应Body参数 参数 参数类型 描述 schema String 概要。 schemas Array of strings 概要列表。 detail String 异常详情。 status Integer 状态码。 timeStamp String 时间戳。 状态码: 403 表19 响应Body参数 参数 参数类型 描述 schema String 概要。 schemas Array of strings 概要列表。 detail String 异常详情。 status Integer 状态码。 timeStamp String 时间戳。 状态码: 404 表20 响应Body参数 参数 参数类型 描述 schema String 概要。 schemas Array of strings 概要列表。 detail String 异常详情。 status Integer 状态码。 timeStamp String 时间戳。 状态码: 409 表21 响应Body参数 参数 参数类型 描述 schema String 概要。 schemas Array of strings 概要列表。 detail String 异常详情。 status Integer 状态码。 timeStamp String 时间戳。 状态码: 500 表22 响应Body参数 参数 参数类型 描述 schema String 概要。 schemas Array of strings 概要列表。 detail String 异常详情。 status Integer 状态码。 timeStamp String 时间戳。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 是 String 承载令牌。 表3 请求Body参数 参数 是否必选 参数类型 描述 externalId 否 String 外部标识符。 userName 否 String 用户名,用于标识用户的唯一字符串。 name 否 Object 包含用户姓名信息的对象。 displayName 否 String 包含用户显示名称的字符串。 nickName 否 String 包含用户昵称的字符串。 profileUrl 否 String 包含可能与用户关联的URL的字符串。 emails 否 Array of objects 包含用户的电子邮箱信息的对象列表。 addresses 否 Array of objects 包含用户地址信息的对象列表。 phoneNumbers 否 Array of objects 包含用户电话号码信息的对象列表。 userType 否 String 指示用户类型的字符串。 title 否 String 包含用户头衔的字符串。 preferredLanguage 否 String 包含用户首选语言的字符串。 locale 否 String 包含用户地理区域或位置的字符串。 timezone 否 String 包含用户时区的字符串。 active 否 Boolean 表示用户是否启用。 schemas 否 Array of strings 概要。 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User 否 Object 包含用户工作相关信息的对象。 表4 name 参数 是否必选 参数类型 描述 formatted 否 String 包含要显示的名称的格式化版本的字符串。 familyName 否 String 用户的姓氏。 givenName 否 String 用户的名字。 middleName 否 String 用户的中间名。 honorificPrefix 否 String 用户的尊称前缀。 honorificSuffix 否 String 用户的尊称后缀。 表5 emails 参数 是否必选 参数类型 描述 value 是 String 包含电子邮箱地址的字符串。 type 否 String 表示电子邮箱类型的字符串。 primary 是 Boolean 一个布尔值,表示这是否为用户的主电子邮箱。 表6 addresses 参数 是否必选 参数类型 描述 formatted 否 String 包含要显示的地址的格式化版本的字符串。 streetAddress 否 String 街道。 locality 否 String 地址位置。 region 否 String 区域。 postalCode 否 String 邮政编码。 country 否 String 国家或地区。 type 否 String 表示地址类型的字符串。 primary 否 Boolean 一个布尔值,表示这是否为用户的主地址。 表7 phoneNumbers 参数 是否必选 参数类型 描述 value 否 String 包含电话号码的字符串。 type 否 String 表示电话号码类型的字符串。 primary 否 Boolean 一个布尔值,表示这是否为用户的主电话号码。 表8 urn:ietf:params:scim:schemas:extension:enterprise:2.0:User 参数 是否必选 参数类型 描述 costCenter 否 String 成本中心。 最小长度:1 最大长度:1024 department 否 String 部门。 最小长度:1 最大长度:1024 division 否 String 分部。 最小长度:1 最大长度:1024 employeeNumber 否 String 员工编号。 最小长度:1 最大长度:1024 manager 否 Object 经理。 organization 否 String 组织。 最小长度:1 最大长度:1024 表9 manager 参数 是否必选 参数类型 描述 value 否 String 经理。 最小长度:1 最大长度:1024
  • 请求示例 在指定的身份源中创建一个 IAM 身份中心用户。 POST https://{hostname}/v1/identity-stores/{identity_store_id}/users { "user_name" : "用户名u1", "display_name" : "用户显示名", "emails" : [ { "primary" : true, "type" : "Work", "value" : "email@example.com" } ], "name" : { "family_name" : "姓氏", "given_name" : "名字" }, "password_mode" : "OTP" }
  • 响应参数 状态码: 201 表10 响应Body参数 参数 参数类型 描述 identity_store_id String 身份源的全局唯一标识符(ID)。 最小长度:1 最大长度:36 user_id String 身份源中IAM身份中心用户的全局唯一标识符(ID)。 最小长度:1 最大长度:47 password String 用于初始化密码的一次性密码。 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求ID。 encoded_authorization_message String 鉴权信息。 状态码: 403 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求ID。 encoded_authorization_message String 鉴权信息。 状态码: 409 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 request_id String 请求ID。 encoded_authorization_message String 鉴权信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 最大长度:2048 表3 请求Body参数 参数 是否必选 参数类型 描述 addresses 否 Array of objects 用户的地址信息列表。 数组长度:1-1 display_name 是 String 用户的显示名称。 最小长度:1 最大长度:1024 emails 是 Array of objects 用户的电子邮箱信息列表。 数组长度:1-1 locale 否 String 用户的地理区域或位置信息。 最小长度:1 最大长度:1024 name 是 Object 包含用户姓名信息的对象。 nickname 否 String 用户昵称。 最小长度:1 最大长度:1024 phone_numbers 否 Array of objects 用户的电话号码信息列表。 数组长度:1-1 preferred_language 否 String 用户语言首选项。 最小长度:1 最大长度:1024 profile_url 否 String 与用户关联的URL。 最小长度:1 最大长度:1024 timezone 否 String 用户时区。 最小长度:1 最大长度:1024 title 否 String 用户头衔。 最小长度:1 最大长度:1024 user_name 是 String 用户名,用于标识用户的唯一字符串。 最小长度:2 最大长度:128 user_type 否 String 用户类型。 最小长度:1 最大长度:1024 password_mode 是 String 初始化密码方式,一次性密码/邮箱。 枚举值: OTP EMAIL enterprise 否 Object 包含用户工作相关信息的对象。 表4 addresses 参数 是否必选 参数类型 描述 country 否 String 国家/地区。 最小长度:1 最大长度:1024 formatted 否 String 包含要显示的地址的格式化版本的字符串。 最小长度:1 最大长度:1024 locality 否 String 地址位置。 最小长度:1 最大长度:1024 postal_code 否 String 邮政编码。 最小长度:1 最大长度:1024 primary 否 Boolean 一个布尔值,表示这是否为用户的主地址。 region 否 String 区域。 最小长度:1 最大长度:1024 street_address 否 String 街道。 最小长度:1 最大长度:1024 type 否 String 表示地址类型的字符串。 最小长度:1 最大长度:1024 表5 emails 参数 是否必选 参数类型 描述 primary 是 Boolean 一个布尔值,表示这是否为用户的主电子邮箱。 type 是 String 表示电子邮箱类型的字符串。 最小长度:1 最大长度:1024 value 是 String 包含电子邮箱地址的字符串。 最小长度:1 最大长度:1024 verification_status 否 String 电子邮箱地址的验证状态。 枚举值: NOT_VERIFIED VERIFIED 表6 name 参数 是否必选 参数类型 描述 family_name 是 String 用户的姓氏。 最小长度:1 最大长度:1024 formatted 否 String 包含要显示的名称的格式化版本的字符串。 最小长度:1 最大长度:1024 given_name 是 String 用户的名字。 最小长度:1 最大长度:1024 honorific_prefix 否 String 用户的尊称前缀。 最小长度:1 最大长度:1024 honorific_suffix 否 String 用户的尊称后缀。 最小长度:1 最大长度:1024 middle_name 否 String 用户的中间名。 最小长度:1 最大长度:1024 表7 phone_numbers 参数 是否必选 参数类型 描述 primary 否 Boolean 一个布尔值,表示这是否为用户的主电话号码。 type 否 String 表示电话号码类型的字符串。 最小长度:1 最大长度:1024 value 否 String 包含电话号码的字符串。 最小长度:1 最大长度:1024 表8 enterprise 参数 是否必选 参数类型 描述 cost_center 否 String 成本中心。 最小长度:1 最大长度:1024 department 否 String 部门。 最小长度:1 最大长度:1024 division 否 String 分部。 最小长度:1 最大长度:1024 employee_number 否 String 员工编号。 最小长度:1 最大长度:1024 manager 否 Object 经理。 organization 否 String 组织。 最小长度:1 最大长度:1024 表9 manager 参数 是否必选 参数类型 描述 value 否 String 经理。 最小长度:1 最大长度:1024
  • 操作场景 SMN 的终端节点订阅主题且确认订阅后,终端节点才能够接收到向该主题发布的所有消息。当用户在多个区域均需要创建同样的订阅时,终端节点会多次收到确认订阅信息,且需要在每一条订阅消息内确认订阅。为防止这种场景下对终端节点的消息干扰,建议使用订阅用户功能,一次创建用户后即可导入其他区域的订阅。 订阅用户是提供跨区域统一管理订阅者信息的功能。订阅者可以先创建多个订阅用户,当主题需要添加订阅时,再将订阅用户批量添加到该主题上。 当前订阅用户数据仅支持存储在国内,且仅支持国内站点查询订阅用户数据。 当订阅者需要创建订阅用户时,可参考本章节。
  • 示例 创建用户时不同数据库赋予不同角色 使用db.createUser()在products数据库中创建accountAdmin01用户。 use products db.createUser( { user: "accountAdmin01", pwd: "Changeme_123", customData: { employeeId: 12345 }, roles: [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite"] }, { w: "majority" , wtimeout: 5000 } ) 以上操作赋予用户accountAdmin01以下角色: 在admin数据库中角色为clusterAdmin和readAnyDatabase。 在products数据库中角色为readWrite。 创建用户时同一数据库赋予多个角色 以下操作创建一个在products数据库中角色为readWrite和dbAdmin的用户,用户名为accountUser。 use products db.createUser( { user: "accountUser", pwd: "Changeme_123", roles: [ "readWrite", "dbAdmin" ] } ) 创建用户时不赋予角色 以下操作在admin数据库中创建一个用户名为reportsUser的用户,但是没有赋予用户角色。 use admin db.createUser( { user: "reportsUser", pwd: "Chagneme_123", roles: [ ] } ) 创建管理员用户并赋予角色 下面的操作将在admin 数据库中创建名为appAdmin的用户,并赋予该用户对config数据库的读写访问权限,使用户可以更改分片群集的某些设置,如分片均衡器设置。 use admin db.createUser( { user: "appAdmin", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "config" }, "clusterAdmin" ] } ) 创建有身份验证限制的用户 以下操作将在管理员数据库中创建一个名为restricted的用户。该用户只能从IP地址192.0.2.0连接到IP地址198.51.100.0时才能进行身份验证。 use admin db.createUser( { user: "restricted", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "reporting" } ], authenticationRestrictions: [ { clientSource: ["192.0.2.0"], serverAddress: ["198.51.100.0"] } ] } ) 仅使用SC RAM -SHA-256证书创建用户 下面的操作将创建一个只有SCRAM-SHA-256凭据的用户。 use reporting db.createUser( { user: "reportUser256", pwd: "Changeme_123", roles: [ { role: "readWrite", db: "reporting" } ], mechanisms: [ "SCRAM-SHA-256" ] } ) 如果设置了authenticationMechanisms参数,mechanisms字段只能包含authenticationMechanisms参数中指定的值。
  • 操作须知 下面所有操作都对权限要求,默认rwuser用户具备所需权限,如果通过客户自定义用户进行管理,则需要关注是否具备操作权限。 使用具备权限的用户(可使用rwuser)连接到数据库实例。 通过createUser创建所需的用户,通过设置合适的角色来控制对应用户的权限。其中需要注意的是"passwordDigestor" 参数必须是 "server",否则命令会执行失败,增加这个约束是为了避免安全隐患。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 Authorization 是 String 认证凭据,值:Bearer {access_token},access_token通过“获取访问凭据”接口获取。 表3 请求Body参数 参数 是否必选 参数类型 描述 password 是 String 新密码。 old_password 是 String 原密码。
  • 请求示例 校验原密码修改用户密码。 PUT https://{domain_name}/api/v2/tenant/users/{user_id}/change-password-verify Authorization: Bearer 334963fc-1e4a-473b-9096-52a929140... { "password":"N******8", "old_password":"O******4" }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 users Array of objects IAM用户信息列表。 表4 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表5 users 参数 参数类型 描述 name String IAM用户名。 links Object IAM用户的资源链接信息。 domain_id String IAM用户所属账号ID。 enabled Boolean IAM用户是否启用。true表示启用,false表示停用,默认为true。 id String IAM用户ID。 password_expires_at String IAM用户密码过期时间,“null”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssss,日期和时间戳格式如:2023-06-28T08:56:33.710000。 description String IAM用户描述信息。 access_mode String IAM用户访问方式。 default:默认访问模式,编程访问和管理控制台访问。 programmatic:编程访问。 console:管理控制台访问。 pwd_status Boolean IAM用户密码状态。true:需要修改密码,false:正常。如果密码未设置,此字段可能不返回。 last_project_id String IAM用户退出系统前,在控制台最后访问的项目ID,如果用户无访问记录,此字段可能不返回。 pwd_strength String IAM用户的密码强度。high:密码强度高;mid:密码强度中等;low:密码强度低。如果用户未设置密码,此字段可能不返回。 表6 users.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。
  • 响应示例 状态码为 200 时: 请求成功。 { "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/users" }, "users": [ { "domain_id": "d78cbac186b744899480f25bd02...", "name": "IAMUserA", "description": "IAMDescriptionA", "password_expires_at": null, "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/users/07667db96a00265f1fc0c003a3..." }, "id": "07667db96a00265f1fc0c003a...", "enabled": true }, { "pwd_status": true, "domain_id": "d78cbac186b744899480f25bd02...", "last_project_id": "065a7c66da0010992ff7c0031e5a...", "name": "IAMUserB", "description": "IAMDescriptionB", "password_expires_at": null, "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/users/07609fb9358010e21f7bc003751c7..." }, "id": "07609fb9358010e21f7bc003751c7...", "enabled": true } ] }
  • URI GET /v3/users 表1 Query参数 参数 是否必选 参数类型 描述 domain_id 否 String IAM用户所属账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 enabled 否 Boolean 是否启用IAM用户,true为启用,false为停用,默认为true。 name 否 String IAM用户名。 password_expires_at 否 String 密码过期时间。该值为null表示未设置密码过期时间。 格式为:password_expires_at={operator}:{timestamp}。 timestamp格式为:YYYY-MM-DDTHH:mm:ssZ。示例: password_expires_at=lt:2016-12-08T22:02:00Z 说明: operator取值范围:lt,lte,gt,gte,eq,neq。 lt:过期时间小于timestamp。 lte:过期时间小于等于timestamp。 gt:过期时间大于timestamp。 gte:过期时间大于等于timestamp。 eq:过期时间等于timestamp。 neq:过期时间不等于timestamp。