云服务器内容精选

  • 响应示例 状态码为 201 时: 创建成功。 { "credential": { "access": "NZFAT5VNWEJDGZ4PZ...", "expires_at": "2020-01-08T03:50:07.574000Z", "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...", "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..." } }
  • 响应参数 表8 响应Body参数 参数 参数类型 描述 credential Object 认证结果信息。 表9 credential 参数 参数类型 描述 expires_at String AK/SK和securitytoken的过期时间。响应参数为UTC时间格式,北京时间为UTC+8小时。 如返回: "expires_at": "2020-01-08T02:56:19.587000Z" 北京时间:2020-01-08 10:56:19.587 access String 获取的AK。 secret String 获取的SK。 securitytoken String securitytoken是将所获的AK、SK等信息进行加密后的字符串。
  • 请求示例 填写"token"参数。包含tokenId(即token)和临时访问密钥和securitytoken的有效期。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIEIgYJKoZIhvc...", "duration_seconds": "900" } } } } 不填写“token”参数(请求头中需要X-Auth-Token)。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ] } } } 填写“policy”参数。即用户自定义策略的信息,用于限制获取到的临时访问密钥和securitytoken的权限(当前仅适用限制OBS服务的权限)。如果填写此参数,则临时访问密钥和securitytoken的权限为:原Token具有的权限和policy参数限制的权限交集。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ], "policy": { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject" ], "Resource": [ "OBS:*:*:object:*" ], "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" //示例,表示限制条件值,根据实际情况填写 ] } } } ] }, "token": { "duration_seconds": 900 } } } }
  • 功能介绍 该接口可以用于通过token来获取临时AK/SK和securitytoken。临时AK/SK和securitytoken是系统颁发给 IAM 用户的临时访问令牌,有效期可在15分钟至24小时范围内设置,过期后需要重新获取。临时AK/SK和securitytoken遵循权限最小化原则。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。 使用获取到的临时AK/SK和securitytoken作为凭证访问云服务,临时AK/SK和securitytoken两者必须同时使用,请求头中需要添加“x-security-token”字段,使用方法详情请参考:使用临时AK/SK做签名。
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 1100 缺失必选参数。 缺失必选参数。 请检查请求参数。 400 1101 用户名校验失败。 用户名校验失败。 请检查用户名。 400 1102 邮箱校验失败。 邮箱校验失败。 请检查邮箱。 400 1103 密码校验失败。 密码校验失败。 请检查密码。 400 1104 手机号校验失败。 手机号校验失败。 请检查手机号。 400 1105 xuser_type必须与xdomain_type相同。 xuser_type必须与xdomain_type相同。 请确认xuser_type与xdomain_type是否相同。 400 1106 国家码、手机号必须同时存在。 国家码、手机号必须同时存在。 请检查国家码和手机号是否同时存在。 400 1107 账号管理员不能被删除。 账号管理员不能被删除。 不允许此操作。 400 1108 新密码不能与原密码相同。 新密码不能与原密码相同。 请修改新密码。 400 1109 用户名已存在。 用户名已存在。 请修改用户名。 400 1110 邮箱已存在。 邮箱已存在。 请修改邮箱。 400 1111 手机号已存在。 手机号已存在。 请修改手机号。 400 1113 xuser_id、xuser_type已存在。 xuser_id、xuser_type已存在。 请修改xuser_id和xuser_type。 400 1115 IAM用户数量达到最大限制。 IAM用户数量达到最大限制。 请修改用户配额或联系技术支持。 400 1117 用户描述校验失败。 用户描述校验失败。 请修改用户描述。 400 1118 密码是弱密码。 密码是弱密码。 重新选择密码。 400 IAM.0007 Request parameter %(key)s is invalid. 请求参数校验失败。 请检查请求参数。 400 IAM.0008 Please scan the QR code first. 请先扫描二维码。 请先扫描二维码。 400 IAM.0009 X-Subject-Token is invalid in the request. 请求中的X-Subject-Token校验失败。 请检查请求参数。 400 IAM.0010 The QR code has already been scanned by another user. 此二维码已经被其他人扫描。 无需处理。 400 IAM.0011 Request body is invalid. 请求体校验失败。 请检查请求体。 400 IAM.0072 '%(key)s' is a required property. 请求校验异常。举例:%(key)s为必填属性 请联系技术支持。 400 IAM.0073 Invalid input for field '%(key)s'. The value is '%(value)s'. 输入字段无效。 请联系技术支持。 400 IAM.0077 Invalid policy type. 策略类型错误。 请联系技术支持。 400 IAM.1000 The role must be a JSONObject. 缺少role对象。 检查请求体中是否有role对象。 400 IAM.1001 The display_name must be a string and cannot be left blank or contain spaces. 策略display_name为空或包含空格。 检查display_name字段的值是否正确。 400 IAM.1002 The length [input length] of the display name exceeds 64 characters. 策略display_name不能超过64个字符。 检查display_name字段的长度。 400 IAM.1003 The display_name contains invalid characters. 策略display_name包含非法字符。 检查display_name字段的值是否正确。 400 IAM.1004 The type must be a string and cannot be left blank or contain spaces. type为空。 检查type字段的值是否正确。 400 IAM.1005 Invalid type [input type]. 非法的type字段。 检查type字段的值是否正确。 400 IAM.1006 The custom policy does not need a catalog. 自定义策略不需要catalog。 删除catalog字段。 400 IAM.1007 The custom policy does not need a flag. 自定义策略不需要flag。 删除flag字段。 400 IAM.1008 The custom policy does not need a name. 自定义策略不需要name。 删除name字段。 400 IAM.1009 The type of a custom policy must be 'AX' or 'XA'. 自定义策略的type只能为'AX'或'XA'。 根据需求修改type字段为'AX'或'XA'。 400 IAM.1010 The catalog must be a string. catalog字段必须为字符串。 检查catalog字段的值是否正确。 400 IAM.1011 The length [input length] of the catalog exceeds 64 characters. catalog字段不能超过64个字符。 检查catalog字段的长度。 400 IAM.1012 Invalid catalog. 非法的catalog字段。 检查catalog字段的值是否正确。 400 IAM.1013 The flag must be a string. flag字段必须为字符串。 检查flag字段的值是否正确。 400 IAM.1014 The value of the flag must be 'fine_grained'. flag字段的值应为"fine_grained"。 将flag字段的值修改为"fine_grained"。 400 IAM.1015 The name must be a string and cannot be left blank or contain spaces. name字段不能为空。 系统角色的name字段必须填写。 400 IAM.1016 The length of the name [input name] cannot exceed 64 characters. name字段长度不能超过64字符。 检查name字段的值是否正确。 400 IAM.1017 Invalid name. 非法的name字段。 检查name字段的值是否正确。 400 IAM.1018 Invalid description. 非法的description字段。 检查description字段的值是否正确。 400 IAM.1019 Invalid description_cn. 非法的description_cn字段。 检查description_cn字段的值是否正确。 400 IAM.1020 The policy must be a JSONObject. 缺少policy对象。 检查请求体中是否有policy对象。 400 IAM.1021 The size [input policySize] of the policy exceeds 6,144 characters. policy对象大小超过6144字符。 检查policy对象的长度。 400 IAM.1022 The length [input id length] of the ID exceeds 128 characters. id字段大小超过128字符。 检查id字段的长度。 400 IAM.1023 Invalid ID '[input id]'. 策略id字段无效。 检查id字段的值是否正确。 400 IAM.1024 The version of a fine-grained policy must be '1.1'. 细粒度策略的version不为1.1。 细粒度策略version字段的值应改为1.1。 400 IAM.1025 Fine-grained policies do not need depends. 细粒度策略不需要depends字段。 删除depends字段。 400 IAM.1026 The version of an RBAC policy must be '1.0' or '1.1'. RBAC的verion只能为1.0和1.1。 version字段的值改为1.0或1.1。 400 IAM.1027 The Statement/Rules must be a JSONArray. statement字段不为JSONArray。 检查是否存在statement,类型为json数组。 400 IAM.1028 The number of statements [input statement size] must be greater than 0 and less than or equal to 8. statement字段长度不为1-8。 至少应填写一个statement,删除超过8个的statement。 400 IAM.1029 The value of Effect must be 'allow' or 'deny'. effect字段只能为allow或deny。 effect字段填写allow或deny。 400 IAM.1030 The Action or NotAction must be a JSONArray. action或notAction字段不合法。 检查action对象的值是否正确。 400 IAM.1031 The Action and NotAction cannot be set at the same time in a statement. action和notAction字段不能同时存在。 删除action或notAction字段。 400 IAM.1032 The OCP NotAction cannot be 'allow'. OCP的notAction不能为allow。 OCP策略如果使用notAction则只能为deny。 400 IAM.1033 The number of actions [input action size] exceeds 100. action的数量超过100。 检查action的数量,不能超过100。 400 IAM.1034 The length [input urn length] of an action URN exceeds 128 characters. action长度超过128。 检查每条action的长度,不能超过128字符。 400 IAM.1035 Action URN '[input urn]' contains invalid characters. action包含非法字符。 检查action的值是否正确。 400 IAM.1036 Action '[input action]' has not been registered. action未被注册。 通过注册中心的接口先注册action。 400 IAM.1037 The number of resource URIs [input Resource uri size ] must be greater than 0 and less than or equal to 20. resource数量只能为1-20。 检查resource的数量。 400 IAM.1038 Resource URI '[input resource uri]' is invalid. Old resources only support agencies. 非法的资源URI。 检查每条资源URI的值是否正确。 400 IAM.1039 Old policies do not support conditions. 旧格式策略不支持condition。 删除condition或使用新格式策略。 400 IAM.1040 The number of resources [input Resource size] must be greater than 0 and less than or equal to 10. 资源URI数量只能为1-10。 检查每个resource对象的URI数量。 400 IAM.1041 The resource URI cannot be left blank or contain spaces. 资源URI为空。 检查每条资源URI的值是否正确。 400 IAM.1042 The length [input uri length] of a resource URI exceeds 1,500 characters. 资源URI超过1500字符。 检查每条资源URI的长度。 400 IAM.1043 A region must be specified. 缺少资源region。 资源URI中填写region。 400 IAM.1044 Region '[input resource region ]' of resource '[input resource]' is invalid. Region字段不合法。 检查region字段的值是否正确。 400 IAM.1045 Resource URI '[input resource uri]' or service '[input resource split]' is invalid. 资源URI中服务名无效。 检查云服务名是否正确或先注册云服务。 400 IAM.1046 Resource URI '[input resource]' or resource type '[input resource split]' is invalid. 资源URI中类型无效。 检查资源类型是否正确或先注册资源类型。 400 IAM.1047 Resource URI '[input resource uri]' contains invalid characters. 资源URI不合法。 检查资源URI的值是否正确。 400 IAM.1048 Resource URI '[input resource uri]' is too long or contains invalid characters. 资源URI包含非法字符。 检查id值是否包含非法字符。 400 IAM.1049 The Resource must be a JSONObject or JSONArray. 缺少resource对象。 检查resource对象是否为json数组。 400 IAM.1050 The number of conditions [input condition size] must be greater than 0 and less than or equal to 10. 条件数量只能为1-10。 至少填写一个条件,或删除多余的条件。 400 IAM.1051 The values of Operator '[input operator]' cannot be null. 操作符为空。 填写正确的操作符。 400 IAM.1052 Invalid Attribute '[input attribute ]'. 非法的属性字段。 检查属性的值是否正确。 400 IAM.1053 Attribute '[input attribute]' must be a JSONArray. attribute不为json数组。 检查attribute对象是否为json数组。 400 IAM.1054 The number [input attribute size ] of attributes '[input attribute]' for operator '[input operator]' must be greater than 0 and less than or equal to 10. 每个操作符对应的属性数量只能为1-10。 检查每个操作符下的attribute数量是否正确。 400 IAM.1055 Attribute '[input attribute ]' does not match operator '[input operator]'. 属性与操作符不匹配。 检查attribute和操作符类型是否匹配。 400 IAM.1056 The length [condition length] of attribute '[input attribute]' for operator '[input operator]' must be greater than 0 and less than or equal to 1024 characters. condition长度只能为1-1024。 检查condition对象的总长度。 400 IAM.1057 Value [input condition] of attribute [input attributes] for operator [input operator] contains invalid characters. condition包含非法字符。 检查condtion中是否包括非法字符。 400 IAM.1058 The number of depends [input policyDepends size] exceeds 20. depends数量超过20。 删除多余的depends值。 400 IAM.1059 Invalid key '{}'. 策略包含非法的Key。 修改或删除策略请求体中非法的key。 400 IAM.1060 The value of key '{}' must be a string. 该字段必须为字符串。 display_name和name字段改为字符串类型。 400 IAM.1061 Invalid TOTP passcode. 非法的认证密钥。 请确认请求或联系技术支持。 400 IAM.1062 Login protection has been bound to mfa, the unbinding operation cannot be performed. 登录保护已经绑定MFA认证,解绑操作不能执行。 请确认请求或联系技术支持。 400 IAM.1101 The request body size %s is invalid. 请求体的大小不合规范。 请检查请求体是否为空或过大(大于32KB)。 400 IAM.1102 The %s in the request body is invalid. 请求体中的某个值错误。 请参照接口资料检查请求体中的属性值。 400 IAM.1103 The %s is required in the request body. 请求体中的必选值缺失。 请参照接口资料检查请求体。 400 IAM.1104 The access key %s is in the blacklist. 请求的AK已在黑名单中。 请确认AK是否存在。 400 IAM.1105 The access key %s has expired. 请求的AK已经过期。 请重新创建访问密钥。 400 IAM.1106 The user %s with access key %s cannot be found. 找不到AK所属用户信息。 请确认AK所属用户或委托是否存在。 400 IAM.1107 The access key %s is inactive. 请求的AK已被禁用。 重新启用AK。 400 IAM.1108 The securitytoken has expired. 临时访问密钥已过期。 请重新获取临时访问密钥。 400 IAM.1109 The project information cannot be found. 找不到project信息。 请检查请求体或者token中的project是否存在,如不能解决请联系技术支持。 401 IAM.0001 The request you have made requires authentication. 请求认证失败。 请补充或确认请求认证信息。 401 IAM.0061 Account locked. 用户被锁定。 请等待自动解锁。 401 IAM.0062 Incorrect password. 用户密码错误。 请输入正确的账号密码。 401 IAM.0063 Access token authentication failed. accesstoken认证失败。 请联系技术支持。 401 IAM.0064 The access token does not have permissions for the request. IAM用户没有权限请求。 请确认该IAM用户的权限信息。 401 IAM.0065 HUAWEI IDs registered in European countries cannot log in to HUAWEI CLOUD. 欧洲站点不允许登录。 请输入华为云支持的账号。 401 IAM.0066 The token has expired. token已过期。 传入有效期内的token。 401 IAM.0067 Invalid token. 错误的token。 传入正确的token。 403 IAM.0002 You are not authorized to perform the requested action. 请求未授权。 请确认是否授权成功。 403 IAM.0003 Policy doesn't allow %(actions)s to be performed. 策略未授权此操作。 请确认策略是否授权此操作。 403 IAM.0080 The user %s with access key %s is disabled. AK所属用户被禁用。 联系用户所属租户的安全管理员。 403 IAM.0081 This user only supports console access, not programmatic access. 用户仅支持控制台访问,不支持程序访问。 联系用户所属租户的安全管理员修改用户访问模式。 403 IAM.0082 The user %s is disabled. 用户被禁用。 请联系用户所属租户安全管理员。 403 IAM.0083 You do not have permission to access the private region %s. 你没有私有region的访问权限。 请使用其他region或者联系私有region管理员。 404 IAM.0004 Could not find %(target)s: %(target_id)s. 无法找到请求资源。 请确认请求或联系技术支持。 409 IAM.0005 Conflict occurred when attempting to store %(type)s - %(details)s. 保存请求资源时发生冲突。 请确认请求或联系技术支持。 410 IAM.0020 Original auth failover to other regions, please auth downgrade 源区域Auth服务故障转移至其他区域,系统将自动进行认证降级。 系统将自动进行认证降级。 429 IAM.0012 The throttling threshold has been reached. Threshold: %d times per %d seconds 已达到限流阈值。 请确认请求或联系技术支持。 500 IAM.0006 An unexpected error prevented the server from fulfilling your request. 系统错误。 请联系技术支持。 父主题: 附录
  • 状态码 表1 状态码 状态码 编码 说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法,请确认用户名和密码是否正确。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 策略参数 策略参数包含Version和Statement两部分,下面介绍策略参数详细说明。了解策略参数后,您可以根据场景自定义策略,如自定义策略使用样例。 表1 策略参数说明 参数 含义 值 Version 策略的版本。 1.1:代表基于策略的访问控制。 Statement: 策略的授权语句 Effect:作用 定义Action中的操作权限是否允许执行。 Allow:允许执行。 Deny:不允许执行。 说明: 当同一个Action的Effect既有Allow又有Deny时,遵循Deny优先的原则。 Action:授权项 操作权限。 格式为“服务名:资源类型:操作”。授权项支持通配符号*,通配符号*表示所有。 示例: "obs:bucket:ListAllMybuckets":表示查看OBS桶列表权限,其中obs为服务名,bucket为资源类型,ListAllMybuckets为操作。 您可以在对应服务“API参考”资料中查看该服务所有授权项,如OBS授权项。 Condition:条件 使策略生效的特定条件,包括条件键和运算符。 格式为“条件运算符:{条件键:[条件值1,条件值2]}”。 如果您设置多个条件,同时满足所有条件时,该策略才生效。 示例: "StringEndWithIfExists":{"g:UserName":["specialCharacter"]}:表示当用户输入的用户名以"specialCharacter"结尾时该条statement生效。 Resource: 资源类型 策略所作用的资源。 格式为“服务名:region:domainId:资源类型:资源路径”, 资源类型支持通配符号*,通配符号*表示所有。支持资源粒度授权的云服务和资源类型参见:支持IAM资源粒度授权的云服务。 示例: "obs:*:*:bucket:*": 表示所有的OBS桶。 "obs:*:*:object:my-bucket/my-object/*": 表示my-bucket桶my-object目录下的所有对象。 条件键 条件键表示策略语句的 Condition 元素中的键值。根据适用范围,分为全局条件键和服务条件键。 全局级条件键(前缀为g:)适用于所有操作,IAM提供两种全局条件键:通用全局条件键和其他全局条件键。 通用全局条件键:在鉴权过程中,云服务不需要提供用户身份信息,IAM将自动获取并鉴权。详情请参见:通用全局条件键。 其他全局条件键:在鉴权过程中,IAM通过云服务获取条件信息并鉴权。仅部分已对接的云服务支持其他全局条件键。 服务级条件键(前缀为服务缩写,如obs:)仅适用于对应服务的操作,详情请参见对应云服务的用户指南,如OBS请求条件。 表2 通用全局条件键 全局条件键 类型 说明 g:CurrentTime 时间 接收到鉴权请求的时间。以 ISO 8601 格式表示,例如:2012-11-11T23:59:59Z。示例参见1。 g:DomainName 字符串 请求者的账号名称。示例参见2。 g:MFAPresent 布尔值 是否使用MFA多因素认证方式 获取Token 。示例参见3。 g:MFAAge 数值 通过MFA多因素认证方式获取的Token的生效时长。该条件需要和g:MFAPresent一起使用。示例参见4。 g:PKITokenIssueTime 时间 PKI Token的签发时间。以ISO 8601格式表示,例如:2012-11-11T23:59:59Z。示例参见5。 g:ProjectName 字符串 项目名称。示例参见6。 g:UserId 字符串 IAM用户ID。示例参见7。 g:UserName 字符串 IAM用户名。示例参见8。 表3 其他全局条件键 全局条件键 类型 说明 g:SourceIp IP Address 请求用户的IP地址 g:SourceVpc String 请求用户的VPC ID g:SourceVpce String 请求用户的VPC Endpoint ID g:TagKeys String 资源标签键 g:ResourceTag/{TagKey} String 资源标签键值 g:CurrentTime 示例:表示用户在北京时间2023年3月1日8点到北京时间2023年3月30日8点可以创建IAM委托。注意:策略中g:CurrentTime条件键值的时间格式为UTC时间。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "DateGreaterThan": { "g:CurrentTime": ["2023-03-01T00:00:00Z"] }, "DateLessThan": { "g:CurrentTime": ["2023-03-30T00:00:00Z"] } } }] } g: DomainName 示例:表示仅有用户zhangsan可以创建委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "StringEquals": { "g:DomainName": ["zhangsan"] } } }] } g:MFAPresent 示例:表示请求者获取身份凭证时采用了MFA认证后才可以创建IAM委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "Bool": { "g:MFAPresent": ["true"] } } }] } g:MFAAge 示例:表示请求者获取身份凭证时采用了MFA认证的时间必须大于900s才可以创建IAM委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { " NumberGreaterThanEquals ": { "g:MFAAge": ["900"] } } }] } g:PKITokenIssueTime 示例:表示用户在北京时间2023年3月1日8点前请求签发的PKI Token可以创建IAM委托。 策略中g:PKITokenIssueTime条件键值的时间格式为UTC时间。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "DateLessThan": { "g:PKITokenIssueTime": ["2023-03-01T00:00:00Z"] } } }] } g:ProjectName 示例:表示请求者获取的凭证范围必须是在北京四时才可以创建IAM委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { " StringEquals ": { "g: ProjectName ": ["cn-north-4"] } } }] } g: UserId 示例:表示用户ID为xxxxxxxxxxx…的用户才可以创建IAM委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "StringEquals": { "g: UserId ": ["xxxxxxxxxxx…"] } } }] } g: UserName 示例:表示用户lisi才可以创建IAM委托。 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["iam:roles:createRoles"], "Condition": { "StringEquals": { "g: UserName ": ["lisi"] } } }] } 多值条件键 ForAllValues:测试请求集的每个成员的值是否为条件键集的子集。如果请求中的每个键值均与策略中的至少一个值匹配,则条件返回true。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ims:images:share" ], "Condition": { "ForAllValues:StringEquals": { "ims:TargetOrgPaths": [ "orgPath1", "orgPath2", "orgPath3" ] } } } ] } 此策略描述的是对于请求者发起共享的组织中所有组织路径必须是orgPath1、orgPath2或者orgPath3,那么允许共享。 假如请求者想共享镜像给组织路径orgPath1、orgPath3下的成员,策略匹配成功。 假如请求者想共享镜像给组织路径orgPath1、orgPath2、orgPath3、orgPath4下的成员,策略匹配失败。 ForAnyValue:测试请求值集的至少一个成员是否与条件键值集的至少一个成员匹配。如果请求中的任何一个键值与策略中的任何一个条件值匹配,则条件返回true。对于没有匹配的键或空数据集,条件返回false。 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "ims:images:share" ], "Condition": { "ForAnyValue:StringEquals": { "ims:TargetOrgPaths": [ "orgPath1", "orgPath2", "orgPath3" ] } } } ] } 此策略描述的是对于请求者发起共享的组织中任一一个组织路径是orgPath1、orgPath2或者orgPath3,那么允许共享。 假如请求者想共享镜像给组织路径orgPath1、orgPath4下的成员,策略匹配成功。 假如请求者想共享镜像给组织路径orgPath4、orgPath5下的成员,策略匹配失败。 条件键运算逻辑 图2 条件键运算逻辑示意图 对于同一条件键的多个条件值,采用OR运算逻辑,即请求值按照条件运算符匹配到任意一个条件值则返回true。 当运算符表示否定含义的时候(例如:StringNotEquals),则请求值按照条件运算符不能匹配到所有的条件值。 同一运算符下的不同条件键之间,采用AND运算逻辑。不同运算符之间,采用AND运算逻辑。
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 敏感操作有哪些 当您开启操作保护后,进行以下操作时,需要进行身份认证。 表1 各云服务定义的敏感操作 类型 服务 敏感操作 计算 弹性云服务器(E CS ) 关闭、重启、删除弹性云服务器 重置弹性云服务器密码 卸载磁盘 解绑弹性公网IP 裸金属服务器(BMS) 关机、重启裸金属服务器 重置裸金属服务器的密码 卸载磁盘 解绑弹性公网IP 弹性伸缩(AS) 删除伸缩组 存储 对象存储服务(OBS) 删除桶 创建、编辑、删除桶策略 配置对象策略 创建、编辑、删除桶ACL 配置日志记录 配置防盗链 增加、编辑桶清单 云硬盘服务(EVS) 删除云硬盘 云备份(CBR) 删除存储库 删除备份 备份恢复 删除策略 解绑资源 接受备份 CDN与智能边缘 内容分发网络(CDN) 域名 下线策略 容器 云容器引擎(CCE) 删除集群 应用编排服务 (AOS) 删除堆栈 网络 云解析服务(DNS) 修改、暂停、删除记录集 修改、删除反向解析 删除自定义线路 虚拟私有云(VPC) 释放、解绑弹性公网IP 删除对等连接 安全组 删除入(出)方向规则 修改入(出)方向规则 批量删除入(出)方向规则 弹性负载均衡(ELB) 共享型负载均衡 删除负载均衡器 删除监听器 删除证书 删除后端云服务器 解绑弹性公网IP 解绑IPv4公网/私有IP 独享型负载均衡 删除负载均衡器 删除监听器 删除证书 删除后端云服务器 解绑弹性公网IP 解绑IPv4公网/私有IP 解绑IPv6地址 移出IPv6共享带宽 弹性公网IP(EIP) 删除共享带宽 释放、解绑弹性公网IP 批量释放、批量解绑弹性公网IP NAT网关(NAT) 私网NAT网关 : 删除SNAT规则 删除DNAT规则 删除中转IP 公网NAT网关: 删除SNAT规则 删除DNAT规则 网络 虚拟专用网络 (VPN) 删除/修改VPN连接 退订包年/包月VPN网关 删除/修改 VPN网关 删除/修改对端网关 修改VPN网关规格 解绑弹性公网IP 修改服务端 删除/修改服务端证书 删除客户端CA证书 创建/删除/修改用户和用户组 批量删除用户 创建/删除/修改访问策略 重置用户密码 云专线(DC) 删除虚拟接口 安全与合规 SSL证书管理(SCM) 删除证书 吊销证书 数据加密 服务(DEW) 删除密钥 删除密钥别名 撤销密钥授权 删除凭据 删除凭据事件 删除密钥对 删除专属加密集群 删除密码服务管理集群 删除密码服务管理应用 删除密码服务管理密钥 删除管理制度 删除物理与环境信息 管理与监管 统一身份认证 服务(IAM) 关闭操作保护 关闭登录保护 修改手机号 修改邮件地址 修改登录密码 修改登录保护验证方式 删除IAM用户 停用IAM用户 删除委托 删除用户组 删除策略 删除授权 新增访问密钥 删除访问密钥 停用访问密钥 删除项目 修改访问密钥保护状态 消息通知 服务( SMN ) 删除主题 管理与监管 云日志服务(LTS) 删除日志流/组 卸载ICAgent 应用服务 分布式缓存服务(DCS) 重置密码 删除实例 清空数据 分布式消息服务Kafka版 删除实例 分布式消息服务RabbitMQ版 删除实例 分布式消息服务RocketMQ版 删除实例 专属云 专属分布式存储服务(DSS) 删除磁盘 数据库 云数据库 RDS for MySQL 重置管理员密码 删除数据库实例 删除数据库备份 通过备份文件恢复到已有实例 按指定时间点恢复到已有实例 切换主备节点 修改数据库端口 删除数据库账号 删除数据库 修改实例内网IP 解绑弹性公网IP 下载全量备份文件 数据库 云数据库 RDS for PostgreSQL 重置管理员密码 删除数据库实例 删除数据库备份 切换主备节点 修改数据库端口 修改实例内网IP 解绑弹性公网IP 下载全量备份文件 数据库 云数据库 GaussDB (for MySQL) 删除实例 重启实例 重启节点 删除只读节点 解绑弹性公网IP 删除数据库 重置数据库账号密码 删除数据库账号 重置管理员密码 修改内网域名 修改读写内网地址 将数据库实例恢复到指定时间点 数据库 文档数据库服务(DDS) 重置密码 重启、删除实例 重启节点 副本集主备切换 删除安全组规则 申请Shard或Config节点IP 备份恢复到当前实例 备份恢复到已有实例 包周期实例转按需计费 EI 企业智能 数据仓库 服务 GaussDB(DWS) 扩容、调整大小 重启 节点修复 重置密码 MapReduce服务 MRS ) 集群 删除集群 按需转包周期集群 停止所有组件 同步配置 节点 停止所有角色 隔离主机 取消隔离主机 组件: 停止服务 重启服务 滚动重启服务 停止实例 重启实例 滚动重启实例 入服 退服 保存服务配置 补丁: 安装补丁 卸载补丁 回滚补丁 云通信 消息&短信 (Message& SMS ) 签名删除 模板删除 获取app_secret 指定手机号、邮件地址绑定华为账号 指定IP白名单 续订套餐包 软件开发生产线 需求管理 CodeArts Req 删除项目 删除项目成员 修改成员信息 修改、删除权限 修改项目基本信息 删除工作项 企业应用 云桌面 Workspace 云桌面: 注销云办公服务 关闭云专线接入 关闭互联网接入 切换接入VPC 删除桌面池 桌面池重建系统盘 桌面池删除磁盘 操作桌面池(开机、关机、重启、休眠) 桌面池执行脚本 删除桌面 操作桌面(开机、关机、重启) 重建桌面 解绑用户 切换桌面网络 迁移桌面 删除专享主机 解绑桌面EIP 删除桌面快照 恢复桌面快照 删除桌面数据盘 操作用户(锁定、解锁和重置密码) 删除用户组 删除策略组 删除用户 删除桌面应用 删除站点 修改站点接入方式 取消云办公带宽 云应用: 删除应用组 启用应用 移除应用组授权 删除服务器组 删除服务器 重装服务器 关闭服务器 删除WKS存储 删除个人存储目录 删除策略组 切换服务器镜像 用户服务 费用中心 订单支付 订单退订 资源释放
  • 支持IAM资源粒度授权的云服务 如果您需要授予IAM用户特定资源的相应权限,可以创建自定义策略并选择特定资源,该IAM用户将仅拥有对应资源的使用权限。例如创建自定义策略时,选择资源类型并添加资源路径:OBS:*:*:bucket:TestBucket*,即可授予IAM用户以TestBucket命名开头的桶相应权限。 下表为当前华为云支持资源级别授权的云服务及对应资源类型。 表1 支持资源粒度授权的云服务及其资源类型 服务 资源类型 资源名称 API开放平台SaaS(Apiexplorer-saas) product 产品 portal 门户 云堡垒机 (CBH) instanceId 实例ID 云容器引擎(CCE) cluster 集群 云服务操作中心(COC) schedule 定时运维 document 文档 drillPlan 演练规划 attackTask 攻击任务 contingencyPlan 应急预案 drillTask 演练任务 accountBaseline 账号基线 faultMode 故障模式 drillRecord 演练记录 job 任务 slaTemplate sla模板 attackTargetRecord 攻击任务的攻击目标记录 parameter 配置项 凭据管理服务(CSMS) secretName 凭据名称 智能数据洞察(DataArtsInsight) workspace 工作空间 分布式缓存服务(DCS) instance 实例 文档数据库服务(DDS) instanceName 实例名称 数据湖探索 DLI ) queue 队列 database 数据库 table 表 column 列 datasourceauth 安全认证信息 jobs 作业 resource 资源包 elasticresourcepool 弹性资源池 group 资源包组 variable 全局变量 分布式消息服务(DMS) rabbitmq RabbitMQ实例 kafka Kafka实例 rocketmq RocketMQ实例 数据仓库服务(DWS) cluster 集群 弹性云服务器(ECS) instance 弹性云服务器 云硬盘(EVS) volume 云硬盘 函数工作流 服务(FunctionGraph) function 函数 trigger 触发器 图引擎服务(GES) graphName 图名称 backupName 备份名称 metadataName 元数据名称 IAM身份中心(IAM Identity Center) account 账号 permissionSet 权限集 instance 实例 智能边缘平台(IEF) product 产品 node 边缘节点 group 边缘节点组 deployment 应用部署 batchjob 批量作业 application 应用模板 appVersion 应用模板版本 IEFInstance IEF实例 设备接入(IoTDA) app 资源空间ID instance 实例ID 数据加密服务(KMS) KeyId 密钥ID MapReduce服务(MRS) cluster 集群 对象存储服务(OBS) bucket 桶 object 对象 云数据库(RDS) instance RDS实例 资源编排 服务( RFS ) privateModule 私有模块 stack 堆栈 stackSet 堆栈集 privateTemplate 私有模板 privateProvider 私有Provider 应用与 数据集成平台 ROMA Connect graph 业务流图ID 证书管理服务(SCM) cert 证书ID 安全云脑 (SecMaster) alert 告警 search 查询 playbook 剧本 workflow 流程 subscription 订购 indicator 威胁情报 alertRule 告警模型 connection 资产连接 mapping 分类映射 dataclass 数据类 report 报告 searchCondition 检索条件 agency 委托 resource 资源 layout 布局 dataobject 数据对象 emergencyVulnerability 应急漏洞 workspace 工作空间 metric 指标 dataspace 数据空间 catalogue 目录 task 待办 alertRuleTemplate 告警模板 pipe 数据管道 incident 事件 table 表 vulnerability 漏洞 容器镜像服务 (SWR) chart Chart repository 仓库 instance 企业版实例 虚拟私有云(VPC) publicip 弹性公网IP 父主题: 自定义策略
  • 创建项目 在IAM控制台的左侧导航窗格中,选择“项目”页签,单击“创建项目”。 图2 创建项目 在“所属区域”下拉列表中选择需要创建子项目的区域。 输入“项目名称”。 项目名称的格式为:区域默认项目名称_子项目名称,区域默认项目名称不允许修改。 项目名称可以由字母、数字、下划线(_)、中划线(-)组成。“区域名称_项目名称”的总长度不能大于64个字符。 (可选)输入“描述”。 单击“确定”,项目列表中显示新创建的项目。
  • 解决方法 请选择正确的登录入口。请确认您输入的账号为华为账号或华为云账号,如果您已升级华为账号,请进入“华为账号登录”入口,如图1。如果您暂未升级华为账号,请进入“华为云账号登录”入口,如图2。 如需通过华为企业合作伙伴、企业联邦用户登录华为云,请参考:登录华为云。 如果您是IAM用户,请进入“IAM用户登录”入口。如果您登录失败,请参考:IAM用户登录失败怎么办。 图1 华为账号登录 图2 华为云账号 “华为账号登录”方式登录华为云时,支持使用手机号、邮件地址、华为账号名、华为云账号名登录。“华为云账号登录”方式登录时,支持使用华为云账号名、邮件地址登录。 如果您已 注册华为账号 ,请输入华为账号绑定的手机号/邮件地址/华为账号名登录华为云,详情请参考:华为账号登录华为云。 如果您未注册华为账号、已注册华为云账号,且华为云账号暂未升级华为账号,请输入原华为云账号名登录。 如您通过华为账号登录,请输入华为账号的密码。如您通过华为云账号登录,请输入华为云账号的密码。
  • 响应示例 状态码为 200 时: 请求成功。 { "role": { "domain_id": null, "description_cn": " 漏洞扫描服务 (VSS)管理员,拥有该服务下的所有权限", "catalog": "VulnScan", "name": "wscn_adm", "description": "Vulnerability Scan Service administrator of tasks and reports.", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/roles/0af84c1502f447fa9c2fa18083fbb87e" }, "id": "0af84c1502f447fa9c2fa18083fbb87e", "display_name": "VSS Administrator", "type": "XA", "policy": { "Version": "1.0", "Statement": [ { "Action": [ "WebScan:*:*" ], "Effect": "Allow" } ], "Depends": [ { "catalog": "BASE", "display_name": "Server Administrator" }, { "catalog": "BASE", "display_name": "Tenant Guest" } ] } } }
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 role Object 权限信息。 表4 role 参数 参数类型 描述 domain_id String 权限所属账号ID。 flag String 该参数值为fine_grained时,标识此权限为系统内置的策略。 description_cn String 权限的中文描述信息,仅在创建时传入了description_cn参数,响应体中才会返回此字段。 catalog String 权限所在目录。 name String 系统内部呈现的权限名称。如云目录服务CCS普通用户权限CCS User的name为ccs_user。 携带在用户的token中,云服务根据该名称来判断用户是否有权限访问。 description String 权限描述信息。 links Object 权限的资源链接信息。 id String 权限ID。 display_name String 权限名称。 type String 权限的显示模式。 说明: AX表示在domain层显示。 XA表示在project层显示。 AA表示在domain和project层均显示。 XX表示在domain和project层均不显示。 自定义策略的显示模式只能为AX或者XA,不能在domain层和project层都显示(AA),或者在domain层和project层都不显示(XX)。 policy Object 权限的具体内容。 updated_time String 权限更新时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 created_time String 权限创建时间。 说明: UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。 表5 role.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表6 role.policy 参数 参数类型 描述 Depends Array of objects 该权限所依赖的权限。 Statement Array of objects 授权语句,描述权限的具体内容。 Version String 权限版本号。 说明: 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。 1.1:策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 表7 role.policy.Depends 参数 参数类型 描述 catalog String 权限所在目录。 display_name String 权限展示名。 表8 role.policy.Statement 参数 参数类型 描述 Action Array of strings 授权项,指对资源的具体操作权限。支持的授权项请参考各云服务《API参考》中“权限和授权项”章节。 说明: 格式为:服务名:资源类型:操作,例:vpc:ports:create。 服务名为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。 资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。 当自定义策略为委托自定义策略时,该字段值为: "Action": ["iam:agencies:assume"]。 Effect String 作用。包含两种:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。 取值范围: Allow Deny Condition Object 限制条件。如果创建此策略未传入此字段,则返回结果中也无此字段。 说明: 以请求示例中的Condition为例:条件键(obs:prefix)和字符串(public)需相等(StringEquals)。 "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } Resource Array of strings 资源。如果创建此策略时未传入此字段,则返回结果中也无此字段。规则如下: 说明: 可填 * 的五段式:::::,例:"obs:::bucket:*"。 region字段为*或用户可访问的region。service必须存在且resource属于对应service。 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 protocol 是 Object 协议信息。 表4 protocol 参数 是否必选 参数类型 描述 mapping_id 是 String 映射ID。身份提供商类型为iam_user_sso时,不需要绑定映射ID,无需传入此字段;否则此字段必填。