华为云用户手册

  • 问题描述 VPC终端节点 (VPC Endpoint),能够将VPC私密地连接到终端节点服务,使VPC中的云资源无需弹性公网IP就能够访问终端节点服务,提高了访问效率,为您提供更加灵活、安全的组网方式。 为虚拟机类型环境纳管的E CS 安装虚拟机Agent时,可以通过已创建的VPC终端节点与LTS、 AOM 、OBS、SWR服务通信,并使用APIG通过配置好的内网 域名 调用ServiceStage、ECS、VPC、AOM的功能接口。 仅“西南-贵阳一”、“华东二”、“华南-广州”、“亚太-新加坡”、“非洲-约翰内斯堡”、“华东-上海1”区域的ServiceStage支持通过VPC终端节点访问依赖的服务。
  • 解决方法 登录ServiceStage控制台。 在区域列表选择您的业务所在区域,例如“华东二”。 在浏览器地址栏,获取“region”字段对应的值。 region取值示例如下面加粗内容所示: https://console.huaweicloud.com/servicestage/?agencyId=df****************************c1®ion=cn-east-4&locale=zh-cn#/overview 分别为SWR、APIG服务创建VPC终端节点,请参考购买连接“接口”型终端节点服务的终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表1填写各云服务对应的终端节点服务名称。 请将下表中的${region}替换为3获取到的值。 表1 连接“接口”型终端节点服务说明 云服务 终端节点服务名称 SWR com.myhuaweicloud.${region}.swr 说明: 如果您选择的是“华南-广州”区域,SWR的终端节点服务名称是:swr.cn-south-1.myhuaweicloud.com。 APIG com.myhuaweicloud.${region}.api 勾选“创建内网域名”。 虚拟私有云:根据您的实际业务需要,为表1所示的所有终端节点服务选择同一个虚拟私有云。 子网:根据您的实际业务需要,为表1所示的终端节点服务分别选择子网。 其他参数请根据实际业务需要进行设置。 为OBS服务创建VPC终端节点,请参考购买连接“网关”型终端节点服务的终端节点。 需要为表2所示的OBS服务的终端节点服务分别创建VPC终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表2填写OBS服务对应的终端节点服务名称。 表2 连接“网关”型终端节点服务说明 区域 终端节点服务名称 西南-贵阳一 cn-southwest-2.com.myhuaweicloud.v4.obsv2 cn-southwest-2.myhuaweicloud.v4.obsv2.lz05 华南-广州 cn-south-1.com.myhuaweicloud.v4.obsv2 cn-south-1.com.myhuaweicloud.v4.obsv2.lz05 cn-south-1.com.myhuaweicloud.v4.obsv2.lz08 cn-south-1.com.myhuaweicloud.v4.obsv2.lz09 华东二 com.myhuaweicloud.cn-east-4.obslb01.v4.obsv2.vxlan com.myhuaweicloud.cn-east-4.obslb01.v6.obsv2.vxlan 亚太-新加坡 ap-southeast-3.com.myhuaweicloud.v4.obsv2 ap-southeast-3.com.myhuaweicloud.v6.obsv2 非洲-约翰内斯堡 af-south-1.myhuaweicloud.v4.obsv2 af-south-1.myhuaweicloud.v6.obsv2 华东-上海一 cn-east-3.com.myhuaweicloud.v4.global.obsv2 cn-east-3.v4obsv2_new.58c9f146-63f0-4f07-98d3-18fe4874086b cn-east-3.myhuaweicloud.v4.obsv2.lz03 cn-east-3.myhuaweicloud.v4.obsv2.lz04 cn-east-3.com.myhuaweicloud.v4.obsv2.lz09 cn-east-3.com.myhuaweicloud.v4.obsv2.lz11 虚拟私有云:为表2所示的所有终端节点服务选择4所选择的虚拟私有云。 子网:根据您的实际业务需要,为表2所示的终端节点服务分别选择子网。 其他参数请根据实际业务需要进行设置。 在终端节点列表,获取4中为APIG、SWR服务创建的VPC终端节点对应的服务地址。 其中,${region}为3获取到的值。 创建内网域名,请参考创建内网域名。 域名:请分别填写以下内网域名。 请将以下内网域名中的${region}替换为3获取到的值。 servicestage.${region}.myhuaweicloud.com swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com VPC:选择4所选择的虚拟私有云。 其他参数请根据您的实际业务需要进行设置。 为7创建的所有内网域名添加记录集,请参考添加A类型记录集。 记录类型:选择“A – 将域名指向IPv4地址”。 记录值:参考下表填写。 请将下表中的${region}替换为3获取到的值。 内网域名 记录值 servicestage.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.api终端节点服务对应的服务地址。 swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.swr终端节点服务对应的服务地址。 其他参数请根据您的实际业务需要进行设置。
  • 问题描述 VPC终端节点(VPC Endpoint),能够将VPC私密地连接到终端节点服务,使VPC中的云资源无需弹性公网IP就能够访问终端节点服务,提高了访问效率,为您提供更加灵活、安全的组网方式。 在Kubernetes类型环境下创建并部署组件时的组件镜像构建过程中,可以通过已创建的VPC终端节点与OBS、SWR服务通信,并使用APIG通过配置好的内网域名调用ServiceStage的功能接口。 仅“西南-贵阳一”、“华东二”、“华南-广州”、“亚太-新加坡”、“非洲-约翰内斯堡”、“华东-上海1”区域的ServiceStage支持通过VPC终端节点访问依赖的服务。
  • 功能介绍 该接口可以用于通过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做签名。
  • 响应参数 表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等信息进行加密后的字符串。
  • 响应示例 状态码为 201 时: 创建成功。 { "credential": { "access": "NZFAT5VNWEJDGZ4PZ...", "expires_at": "2020-01-08T03:50:07.574000Z", "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...", "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..." } }
  • 请求示例 填写"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 } } } }
  • 错误码 当您调用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 各云服务定义的敏感操作 类型 服务 敏感操作 计算 弹性云服务器(ECS) 关闭、重启、删除弹性云服务器 重置弹性云服务器密码 卸载磁盘 解绑弹性公网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存储 删除个人存储目录 删除策略组 切换服务器镜像 用户服务 费用中心 订单支付 订单退订 资源释放
  • 请求示例 列举用户指定资源栈下的所有的执行计划 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/execution-plans 列举用户指定资源栈下的所有的执行计划,并提供资源栈id以校验是否与当前资源栈匹配 GET https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/execution-plans?stack_id=f689e9fd-97e7-4185-bd8a-7d5f708d45d7
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 execution_plans Array of ExecutionPlan objects 执行计划列表。默认按照生成时间降序排序,最新生成的在最前 表5 ExecutionPlan 参数 参数类型 描述 stack_name String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 stack_id String 资源栈(stack)的唯一Id。 此Id由 资源编排 服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 execution_plan_id String 执行计划(execution_plan)的唯一Id。 此Id由资源编排服务在生成执行计划的时候生成,为UUID。 由于执行计划名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的执行计划,删除,再重新创建一个同名执行计划。 对于团队并行开发,用户可能希望确保,当前我操作的执行计划就是我认为的那个,而不是其他队友删除后创建的同名执行计划。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的执行计划所对应的ID都不相同,更新不会影响ID。如果给予的execution_plan_id和当前执行计划的ID不一致,则返回400 注意: 创建执行计划后,资源编排服务持久化请求并立即返回,客户端不等待请求最终处理完成,用户无法实时感知请求处理结果 资源编排服务最终会将异步部署请求排队,在服务端空闲的情况下逐个处理。用户最大等待时长为1小时 execution_plan_name String 执行计划的名称。此名字在domain_id+区域+project_id+stack_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 description String 执行计划的描述。可用于客户识别自己的执行计划。 status String 执行计划的状态 * CREATION_IN_PROGRESS - 正在创建,请等待 * CREATION_FAILED - 创建失败,请从status_message获取错误信息汇总 * AVAILABLE - 创建完成,可以调用ApplyExecutionPlan API进行执行 * APPLY_IN_PROGRESS - 执行中,可通过GetStackMetadata查询资源栈状态,通过ListStackEvents获取执行过程中产生的资源栈事件 * APPLIED - 已执行 status_message String 当执行计划的状态为创建失败状态(即为 CREATION_FAILED 时),将会展示简要的错误信息总结以供debug create_time String 执行计划的生成时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z apply_time String 执行计划的执行时间,格式遵循RFC3339,精确到秒,UTC时区,即yyyy-mm-ddTHH:MM:SSZ,如1970-01-01T00:00:00Z 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 429 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 500 表16 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表17 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 响应示例 状态码: 200 列举执行计划成功 { "execution_plans" : [ { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "b3e7e15f-f96b-4190-94f4-bb8120f8c4dc", "execution_plan_name" : "my_third_execution_plan", "description" : "my third execution plan", "status" : "AVAILABLE", "create_time" : "2023-05-15T15:39:25Z" }, { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "3ca87537-8d5c-4c9d-9292-d19068aaacbb", "execution_plan_name" : "my_second_execution_plan", "description" : "my second execution plan", "status" : "APPLIED", "create_time" : "2023-05-15T15:32:45Z" }, { "stack_name" : "my_hello_world_stack", "stack_id" : "f689e9fd-97e7-4185-bd8a-7d5f708d45d7", "execution_plan_id" : "8c1fb31d-9eec-4ce3-a4e6-fd07059cec83", "execution_plan_name" : "my_first_execution_plan", "description" : "my first execution plan", "status" : "CREATION_FAILED", "status_message" : "Failed to init workflow due to bad template. Error: Invalid variable name A name must start with a letter or underscore and may contain only letters, digits, underscores, and dashes.", "create_time" : "2023-05-15T12:23:38Z" } ] }
  • URI GET /v1/{project_id}/stacks/{stack_name}/execution-plans 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 表2 Query参数 参数 是否必选 参数类型 描述 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400
  • 功能介绍 列举执行计划(ListExecutionPlans) 列举当前局点下用户指定资源栈下所有的执行计划 默认按照生成时间降序排序,最新生成的在最前 注意:目前暂时返回全量执行计划信息,即不支持分页 如果指定的资源栈下没有任何执行计划,则返回空list 如果指定的资源栈不存在,则返回404 ListExecutionPlans返回的只有摘要信息(具体摘要信息见ListExecutionPlansResponseBody),如果用户需要详细的执行计划元数据请调用GetExecutionPlanMetadata
  • 响应示例 状态码: 200 获取私有hook元数据成功 { "hook_name" : "my-hello-world-hook-name", "hook_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "hook_description" : "my first hello world private hook", "default_version" : "1.2.3", "configuration" : { "target_stacks" : "NONE", "failure_mode" : "WARN" }, "create_time" : "1970-01-01T00:00:00.000Z", "update_time" : "1970-01-01T00:00:00.000Z" }
  • 请求示例 获取私有hook元数据 GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata 获取私有hook元数据,并提供hook ID以校验是否与当前私有hook匹配 GET https://{endpoint}/v1/private-hooks/my-hello-world-hook-name/metadata?hook_id=ea6a4f0e-ee8a-494e-b12a-8be4a1e65af2
  • 功能介绍 获取私有hook元数据(ShowPrivateHookMetadata) 获取某个私有hook的元数据信息 具体返回的信息见ShowPrivateHookMetadataResponseBody,若想查看私有hook下全部版本,请调用ListPrivateHookVersions。 若hook_name和hook_id同时存在,则资源编排服务会检查两个是否匹配,如果不匹配则会返回400。
  • URI GET /v1/private-hooks/{hook_name}/metadata 表1 路径参数 参数 是否必选 参数类型 描述 hook_name 是 String 私有hook的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 推荐用户使用三段命名空间:{自定义hook名称}-{hook应用场景}-hook。 表2 Query参数 参数 是否必选 参数类型 描述 hook_id 否 String 私有hook(private-hook)的唯一Id。 此Id由资源编排服务在生成私有hook的时候生成,为UUID。 由于私有hook名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有hook,删除,再重新创建一个同名私有hook。 对于团队并行开发,用户可能希望确保,当前我操作的私有hook就是我认为的那个,而不是其他队友删除后创建的同名私有hook。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有hook所对应的Id都不相同,更新不会影响Id。如果给予的hook_id和当前hook的Id不一致,则返回400。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 hook_name String 私有hook的名字。此名字在domain_id+region下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。 推荐用户使用三段命名空间:{自定义hook名称}-{hook应用场景}-hook。 hook_id String 私有hook(private-hook)的唯一Id。 此Id由资源编排服务在生成私有hook的时候生成,为UUID。 由于私有hook名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有hook,删除,再重新创建一个同名私有hook。 对于团队并行开发,用户可能希望确保,当前我操作的私有hook就是我认为的那个,而不是其他队友删除后创建的同名私有hook。因此,使用Id就可以做到强匹配。 资源编排服务保证每次创建的私有hook所对应的Id都不相同,更新不会影响Id。如果给予的hook_id和当前hook的Id不一致,则返回400。 hook_description String 私有hook的描述。可用于客户识别创建的私有hook。可通过UpdatePrivateHook API更新私有hook的描述。 default_version String 私有hook的默认版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义。 configuration configuration object 私有hook配置项,可以指定私有hook生效的目标资源栈以及私有hook校验失败后资源栈的行为。可通过UpdatePrivateHook API更新私有hook配置项。 create_time String 私有Hook(private-hook)的生成时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。 update_time String 私有Hook(private-hook)的更新时间,格式为YYYY-MM-DDTHH:mm:ss.SSSZ,精确到毫秒,UTC时区,即,如1970-01-01T00:00:00.000Z。 表5 configuration 参数 参数类型 描述 target_stacks String 指定私有hook生效的目标资源栈,有效值为NONE或ALL。 NONE:指定此私有hook不会作用于任何资源栈 ALL:指定此私有hook将会应用于账号下的所有资源栈 failure_mode String 指定私有hook校验失败后的行为,有效值为FAIL或WARN。 FAIL:指定此私有hook校验失败后资源栈将停止部署,资源栈状态将更新为DEPLOYMENT_FAILED。 WARN:指定此私有hook校验失败后仅通过资源栈事件展示警告消息,但不影响资源栈部署。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表7 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表9 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表11 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表13 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 429 表14 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表15 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 500 表16 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表17 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 请求示例 继续回滚资源栈 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/rollbacks 继续回滚资源栈,并提供资源栈id以校验是否与当前资源栈匹配 POST https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack/rollbacks { "stack_id" : "8592967b-18b0-421b-b6c1-079c9ded3931" }
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 deployment_id String 继续回滚触发部署生成的唯一的deployment_id,由资源编排服务生成,通常为UUID 接受请求,进行异步处理。可以调用GetStackMetadata来获取异步请求的部署状态 注意: 资源编排服务最终会将异步部署请求排队,在服务端空闲的情况下逐个处理。用户最大等待时长为6小时 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表6 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表8 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表10 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表12 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 409 表13 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表14 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 429 表15 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表16 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 状态码: 500 表17 响应Body参数 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息 encoded_authorization_message String 包含有关未经授权请求的信息。 details Array of Detail objects 权限拒绝时服务返回的详细错误信息。 表18 Detail 参数 参数类型 描述 error_code String 响应码 error_msg String 响应消息
  • 功能介绍 继续回滚资源栈(ContinueRollbackStack) 此API用于继续回滚一个已有的资源栈 如果资源栈开启了自动回滚,在部署失败的时候则会自动回滚。但是自动回滚依然有可能失败,用户可以根据错误信息修复后,调用ContinueRollbackStack触发继续回滚,即重试回滚 如果资源栈当前可以回滚,即处于ROLLBACK_FAILED,则返回202与对应生成的deploymentId,否则将不允许回滚并返回响应的错误码 继续回滚也有可能会回滚失败。如果失败,用户可以从ListStackEvents获取对应的log,解决后可再次调用ContinueRollbackStack去继续触发回滚
  • URI POST /v1/{project_id}/stacks/{stack_name}/rollbacks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400
  • 请求示例 更新资源栈的描述信息 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "description" : "my hello world stack" } 关闭资源栈的删除保护和自动回滚 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "enable_deletion_protection" : false, "enable_auto_rollback" : false } 更新资源栈中的委托信息 PATCH https://{endpoint}/v1/ba2b9930c977f71edaeaa3a5e96a8ff1/stacks/my_hello_world_stack { "stack_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3", "agencies" : { "provider_name" : "my_hello_world_provider", "agency_name" : "my_agency" } }
  • URI PATCH /v1/{project_id}/stacks/{stack_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,可以从调用API处获取,也可以从控制台获取。 项目ID获取方式 stack_name 是 String 资源栈的名称。此名字在domain_id+区域+project_id下应唯一,可以使用中文、大小写英文、数字、下划线、中划线。首字符需为中文或者英文,区分大小写。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Client-Request-Id 是 String 用户指定的,对于此请求的唯一ID,用于定位某个请求,推荐使用UUID 表3 请求Body参数 参数 是否必选 参数类型 描述 description 否 String 资源栈的描述。可用于客户识别自己的资源栈。 stack_id 否 String 资源栈(stack)的唯一Id。 此Id由资源编排服务在生成资源栈的时候生成,为UUID。 由于资源栈名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响ID。如果给予的stack_id和当前资源栈的ID不一致,则返回400 enable_deletion_protection 否 Boolean 删除保护的标识位,如果不传默认为false,即默认不开启资源栈删除保护(删除保护开启后资源栈不允许被删除) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的删除保护属性进行更新 enable_auto_rollback 否 Boolean 自动回滚的标识位,如果不传默认为false,即默认不开启资源栈自动回滚(自动回滚开启后,如果部署失败,则会自动回滚,并返回上一个稳定状态) 在UpdateStack API中,如果该参数未在RequestBody中给予,则不会对资源栈的自动回滚属性进行更新 该属性与使用模板导入资源功能互斥,如果堆栈的自动回滚设置为true,则不允许部署包含导入资源的模板 agencies 否 Array of Agency objects 委托授权的信息。 RFS 仅在创建资源栈(触发部署)、创建执行计划、部署资源栈、删除资源栈等涉及资源操作的请求中使用委托,且该委托仅作用于与之绑定的Provider对资源的操作中。如果委托中提供的权限不足,有可能导致相关资源操作失败。 创建委托及授权方式 表4 Agency 参数 是否必选 参数类型 描述 provider_name 是 String 用户使用的provider的名字。如果用户给予的provider_name含有重复的值,则返回400 agency_name 否 String 对应provider所使用的IAM委托名称,资源编排服务会使用此委托的权限去访问、创建对应provider的资源。agency_name和agency_urn必须有且只有一个存在 agency_urn 否 String 委托URN 当用户定义Agency时,agency_name和agency_urn 必须有且只有一个存在。 推荐用户在使用信任委托时给予agency_urn,agency_name只支持接收普通委托名称,如果给予了信任委托名称,则会在部署模板时失败。
共100000条