华为云用户手册

  • 阻止根用户的服务访问 使用以下SCP禁止成员账号使用根用户执行指定的操作。您可以根据需要修改SCP语句中的操作(Action)和资源类型(Resource)。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:*:*" ], "Resource": [ "*" ], "Condition": { "BoolIfExists": { "g:PrincipalIsRootUser": "true" } } } ] }
  • 禁止访问指定区域的资源 如下SCP表示禁止用户访问“regionid1”区域的ECS服务的全部资源。您可以根据需要修改SCP语句中的操作(Action)、资源类型(Resource)和条件(Condition)。 此SCP仅适用于项目级服务,SCP中的“regionid1”仅为区域示例,使用时请填入具体区域ID。 { "Version":"5.0", "Statement":[ { "Effect":"Deny", "Action":["ecs:*:*"], "Resource":["*"], "Condition":{ "StringEquals":{ "g:RequestedRegion":"regionid1" } } } ] }
  • 禁止共享到组织外 使用以下SCP禁止本组织内的账号给组织外账号共享资源。此SCP建议绑定至组织的根OU,使其对整个组织生效。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "ram:resourceShares:create", "ram:resourceShares:associate" ], "Resource": [ "*" ], "Condition": { "ForAnyValue:StringNotLike": { "ram:TargetOrgPaths": [ "organization_id/root_id/ou_id"【备注:此处需填写组织的路径ID】 ] } } } ] }
  • 禁止共享指定类型的资源 使用以下SCP禁止用户共享VPC子网资源。您可以根据需要修改SCP语句条件键(Condition)元素中的资源类型。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "ram:resourceShares:create" ], "Resource": [ "*" ], "Condition": { "ForAnyValue:StringEquals": { "ram:RequestedResourceType": [ "vpc:subnet"【备注:可根据需要修改此处的资源类型】 ] } } } ] }
  • 禁止组织内账号给组织外的账号进行聚合授权 使用以下SCP禁止本组织内账号给组织外的账号进行聚合授权。此SCP建议绑定至组织的根OU,使组织外账号无法获取组织内账号下的资源清单信息。您也可以将此SCP绑定给接受授权的账号(源账号),禁止该账号接受来自聚合器账号的授权请求。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "rms:aggregationAuthorizations:create" ], "Resource": [ "*" ], "Condition": { "StringNotMatch": { "rms:AuthorizedAccountOrgPath": [ "organization_id/root_id/ou_id"【备注:此处需填写组织的路径ID】 ] } } } ] }
  • 阻止成员账号退出组织 使用以下SCP阻止成员账号主动退出组织。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "organizations:organizations:leave" ], "Resource": [ "*" ] } ] }
  • 禁止根用户使用除IAM之外的云服务 使用以下SCP禁止根用户使用除IAM之外的云服务。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "NotAction": [ "iam:*:*" ], "Resource": [ "*" ], "Condition": { "Bool": { "g:PrincipalIsRootUser": [ "true" ] } } } ] }
  • 阻止IAM用户和委托进行某些修改 使用此SCP阻止IAM用户和委托对组织内所有账号创建的资源共享进行修改。 { "Version": "5.0", "Statement": [ { "Effect": "Deny", "Action": [ "ram:resourceShares:update", "ram:resourceShares:delete", "ram:resourceShares:associate", "ram:resourceShares:disassociate", "ram:resourceShares:associatePermission", "ram:resourceShares:disassociatePermission" ], "Resource": [ "ram::*:resourceShare:resource-id" ] } ] }
  • 禁止创建带有指定标签的资源 如下SCP表示禁止用户创建带有 {"team": "engineering"} 标签的资源共享实例。您可以根据需要修改SCP语句中的操作(Action)、资源类型(Resource)和条件(Condition)。 { "Version":"5.0", "Statement":[ { "Effect":"Deny", "Action":["ram:resourceShares:create"], "Resource":["*"], "Condition":{ "StringEquals":{ "g:RequestTag/team":"engineering" } } } ] }
  • 条件(Condition) 条件(Condition)是自定义SCP生效的特定条件,包括条件键和运算符。 条件键表示SCP语句的Condition元素中的键值。根据适用范围,分为全局级条件键和服务级条件键。 全局级条件键(前缀为g:)适用于所有操作,在鉴权过程中,云服务不需要提供用户身份信息,系统将自动获取并鉴权。详情请参见:全局条件键。 服务级条件键(前缀为服务缩写,如iam:)仅适用于对应服务的操作,详情请参见表4。 单值/多值表示API调用时请求中与条件关联的值数。单值条件键在API调用时的请求中最多包含一个值,多值条件键在API调用时请求可以包含多个值。例如:g:SourceVpce是单值条件键,表示仅允许通过某个VPC终端节点发起请求访问某资源,一个请求最多包含一个VPC终端节点ID值。g:TagKeys是多值条件键,表示请求中携带的所有标签的key组成的列表,当用户在调用API请求时传入标签可以传入多个值。 运算符与条件键、条件值一起构成完整的条件判断语句,当请求信息满足该条件时,SCP才能生效。支持的运算符请参见:运算符。 IAM定义了以下可以在SCP的Condition元素中使用的条件键,您可以使用这些条件键进一步细化SCP语句应用的条件。 表4 IAM支持的服务级条件键 服务级条件键 类型 单值/多值 说明 iam:PolicyURN string 单值 按照身份策略的URN筛选访问权限。 iam:ServicePrincipal string 单值 按照服务关联委托传递的云服务对应的服务标识筛选访问权限。
  • 操作步骤 修改SCP自定义策略和标签策略标签的方法类似,以SCP为例,说明修改标签的方法。 以组织管理员或管理账号的身份登录华为云,进入华为云Organizations控制台。 进入策略管理页,单击服务控制策略,进入SCP管理页。 在列表中单击自定义策略的名称,进入策略详情页。 图1 进入策略详情 选择标签页签,单击要修改标签操作列的“编辑”。 在弹窗中输入修改后标签值, 单击“确定”,完成策略的标签修改。
  • 操作(Action) 操作(Action)即为SCP中支持的授权项。 “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。 “资源类型”列指每个操作是否支持资源级权限。 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。 关于CodeArts控制台定义的资源类型的详细信息请参见资源类型(Resource)。 “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。 如果该授权项资源类型列存在值,则表示条件键仅对列举的资源类型生效。 如果该授权项资源类型列没有值(-),则表示条件键对整个授权项生效。 如果此列条件键没有值(-),表示此操作不支持指定条件键。 关于CodeArts控制台定义的条件键的详细信息请参见条件(Condition)。 您可以在SCP语句的Action元素中指定以下CodeArts控制台的相关操作。 表1 CodeArts控制台支持的授权项 授权项 描述 访问级别 资源类型(*为必须) 条件键 codearts:projectman:viewUsage 授予权限以在控制台查询项目管理服务资源用量。 read - - codearts:codehub:viewUsage 授予权限以在控制台查询代码托管服务资源用量。 read - - codearts:cloudbuild:viewUsage 授予权限以在控制台查询编译构建服务资源用量。 read - - codearts:codecheck:viewUsage 授予权限以在控制台查询代码检查服务资源用量。 read - - codearts:cloudtest:viewUsage 授予权限以在控制台查询云测-测试管理服务资源用量。 read - - codearts:apitest:viewUsage 授予权限以在控制台查询云测-接口测试服务资源用量。 read - - codearts:cloudrelease:viewUsage 授予权限以在控制台查询发布服务资源用量。 read - - codearts:cloudide:viewUsage 授予权限以在控制台查询CloudIDE服务资源用量。 read - - codearts:classroom:viewUsage 授予权限以在控制台查询Classroom服务资源用量。 read - - codearts:monthlyPackage:changeSpecification 授予权限以在控制台变更软件开发平台套餐规格。 write - - codearts:monthlyPackage:subscribe 授予权限以在控制台订购软件开发平台套餐。 write - - codearts:projectman:subscribeService 授予权限以在控制台开通按需项目管理服务。 write - - codearts:codehub:subscribeService 授予权限以在控制台开通按需代码托管服务。 write - - codearts:cloudbuild:subscribeService 授予权限以在控制台开通按需编译构建服务。 write - - codearts:codecheck:subscribeService 授予权限以在控制台开通按需代码检查服务。 write - - codearts:cloudtest:subscribeService 授予权限以在控制台开通按需云测-测试管理服务。 write - - codearts:apitest:subscribeService 授予权限以在控制台开通按需云测-接口测试服务。 write - - codearts:cloudrelease:subscribeService 授予权限以在控制台开通按需发布服务。 write - - codearts:package:subscribeService 授予权限以在控制台开通按需服务组合。 write - - codearts:cloudide:subscribeService 授予权限以在控制台开通按需CloudIDE服务。 write - - codearts:classroom:subscribeService 授予权限以在控制台开通按需Classroom服务。 write - - codearts:projectman:unsubscribeService 授予权限以在控制台取消开通按需项目管理服务。 write - - codearts:codehub:unsubscribeService 授予权限以在控制台取消开通按需代码托管服务。 write - - codearts:cloudbuild:unsubscribeService 授予权限以在控制台取消开通按需编译构建服务。 write - - codearts:codecheck:unsubscribeService 授予权限以在控制台取消开通按需代码检查服务。 write - - codearts:cloudtest:unsubscribeService 授予权限以在控制台取消开通按需云测-测试管理服务。 write - - codearts:apitest:unsubscribeService 授予权限以在控制台取消开通按需云测-接口测试服务。 write - - codearts:cloudrelease:unsubscribeService 授予权限以在控制台取消开通按需发布服务。 write - - codearts:package:unsubscribeService 授予权限以在控制台取消开通按需服务组合。 write - - codearts:cloudide:unsubscribeService 授予权限以在控制台取消开通按需CloudIDE服务。 write - - codearts:classroom:unsubscribeService 授予权限以在控制台取消开通按需Classroom服务。 write - - codearts:authorization:list 授予权限以在控制台查看租户授权列表。 list - - codearts:payPerUsePackage:listResourceDetail 授予权限以在控制台查看按需套餐包资源详情。 list - - codearts:monthlyPackage:listResourceDetail 授予权限以在控制台查看软件开发平台套餐资源详情。 list - - codearts:projectman:listResourceDetail 授予权限以在控制台查看项目管理资源列表详情。 list - - codearts:codehub:listResourceDetail 授予权限以在控制台查看仓库托管资源列表详情。 list - - codearts:cloudbuild:listResourceDetail 授予权限以在控制台查看构建资源列表详情。 list - - codearts:codecheck:listResourceDetail 授予权限以在控制台查看代码检查资源列表详情。 list - - codearts:cloudtest:listResourceDetail 授予权限以在控制台查看云测-测试管理资源列表详情。 list - - codearts:cloudrelease:listResourceDetail 授予权限以在控制台查看发布资源列表详情。 list - - codearts:cloudide:listResourceDetail 授予权限以在控制台查看CloudIDE资源列表详情。 list - - codearts:classroom:listResourceDetail 授予权限以在控制台查看Classroom资源列表详情。 list - - codearts:agileDevopsTrainingServices:listResourceDetail 授予权限以在控制台查看敏捷与DevOps培训服务资源列表详情。 list - - codearts:projectman:listSubscriptionHistory 授予权限以在控制台查看项目管理服务开通记录。 list - - codearts:codehub:listSubscriptionHistory 授予权限以在控制台查看代码托管服务开通记录。 list - - codearts:cloudbuild:listSubscriptionHistory 授予权限以在控制台查看编译构建服务开通记录。 list - - codearts:codecheck:listSubscriptionHistory 授予权限以在控制台查看代码检查服务开通记录。 list - - codearts:cloudtest:listSubscriptionHistory 授予权限以在控制台查看云测-测试管理服务开通记录。 list - - codearts:apitest:listSubscriptionHistory 授予权限以在控制台查看云测-接口测试服务开通记录。 list - - codearts:cloudrelease:listSubscriptionHistory 授予权限以在控制台查看发布服务开通记录。 list - - codearts:package:listSubscriptionHistory 授予权限以在控制台查看按需服务组合开通记录。 list - - codearts:cloudide:listSubscriptionHistory 授予权限以在控制台查看CloudIDE服务开通记录。 list - - codearts:classroom:listSubscriptionHistory 授予权限以在控制台查看Classroom服务开通记录。 list - - codearts:authorization:create 授予权限以在控制台新增企业账户授权。 permissions - - codearts:authorization:cancel 授予权限以在控制台取消企业账户授权。 permissions - - codearts:authorization:update 授予权限以在控制台同意或拒绝企业账户授权。 permissions - -
  • 操作(Action) 操作(Action)即为SCP中支持的操作项。 “访问级别”列描述如何对操作进行分类(list、read和write等)。此分类可帮助您了解在SCP中相应操作对应的访问级别。 “资源类型”列指每个操作是否支持资源级权限。 资源类型支持通配符号*表示所有。如果此列没有值(-),则必须在SCP语句的Resource元素中指定所有资源类型(“*”)。 如果该列包含资源类型,则必须在具有该操作的语句中指定该资源的URN。 资源类型列中必需资源在表中用星号(*)标识,表示使用此操作必须指定该资源类型。 关于CodeartsPipeline定义的资源类型的详细信息请参见资源类型(Resource)。 “条件键”列包括了可以在SCP语句的Condition元素中支持指定的键值。 如果该操作项资源类型列存在值,则表示条件键仅对列举的资源类型生效。 如果该操作项资源类型列没有值(-),则表示条件键对整个操作项生效。 如果此列没有值(-),表示此操作不支持指定条件键。 关于CodeartsPipeline定义的条件键的详细信息请参见条件(Condition)。 您可以在自定义SCP语句的Action元素中指定以下CodeartsPipeline的相关操作。 表1 CodeartsPipeline支持的操作项 操作项 描述 访问级别 资源类型(*为必须) 条件键 codeartspipeline:pipelinetemplate:create 授予权限以创建流水线模板。 write - - codeartspipeline:pipelinetemplate:update 授予权限以更新流水线模板。 write - - codeartspipeline:pipelinetemplate:delete 授予权限以删除流水线模板。 write - - codeartspipeline:pipelinetemplate:get 授予权限以查看流水线模板。 read - - codeartspipeline:pipelinetemplate:list 授予权限以查看流水线模板列表。 list - - codeartspipeline:rule:create 授予权限以创建规则。 write - - codeartspipeline:rule:update 授予权限以更新规则。 write - - codeartspipeline:rule:delete 授予权限以删除规则。 write - - codeartspipeline:rule:get 授予权限以查看规则。 read - - codeartspipeline:rule:list 授予权限以查看规则列表。 list - - codeartspipeline:strategy:create 授予权限以创建策略。 write - - codeartspipeline:strategy:update 授予权限以更新策略。 write - - codeartspipeline:strategy:delete 授予权限以删除策略。 write - - codeartspipeline:strategy:get 授予权限以查看策略。 read - - codeartspipeline:strategy:list 授予权限以查看策略列表。 list - - codeartspipeline:extension:create 授予权限以创建插件。 write - - codeartspipeline:extension:update 授予权限以更新插件。 write - - codeartspipeline:extension:delete 授予权限以删除插件。 write - - codeartspipeline:extension:get 授予权限以查看插件。 read - - codeartspipeline:extension:list 授予权限以查看插件列表。 list - - CodeartsPipeline的API通常对应着一个或多个操作项。表2展示了API与操作项的关系,以及该API需要依赖的操作项。 表2 API与操作项的关系 API 对应的操作项 依赖的操作项 POST /v5/{tenant_id}/api/pipeline-templates codeartspipeline:pipelinetemplate:create - PUT /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:update - DELETE /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:delete - GET /v5/{tenant_id}/api/pipeline-templates/{template_id} codeartspipeline:pipelinetemplate:get - POST /v5/{tenant_id}/api/pipeline-templates/list codeartspipeline:pipelinetemplate:list - POST /v2/{domain_id}/rules/create codeartspipeline:rule:create - PUT /v2/{domain_id}/rules/{rule_id}/update codeartspipeline:rule:update - DELETE /v2/{domain_id}/rules/{rule_id}/delete codeartspipeline:rule:delete - GET /v2/{domain_id}/rules/{rule_id}/detail codeartspipeline:rule:get - GET /v2/{domain_id}/rules/query codeartspipeline:rule:list - POST /v2/{domain_id}/tenant/rule-sets/create codeartspipeline:strategy:create - PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/update codeartspipeline:strategy:update - DELETE /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/delete codeartspipeline:strategy:delete - GET /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/detail codeartspipeline:strategy:get - GET /v2/{project_id}/rule-sets/{rule_set_id}/gray/detail codeartspipeline:strategy:get - GET /v2/{domain_id}/tenant/rule-sets/query codeartspipeline:strategy:list - GET /v2/{project_id}/rule-sets/query codeartspipeline:strategy:list - PUT /v2/{domain_id}/tenant/rule-sets/{rule_set_id}/switch codeartspipeline:strategy:update - POST /v1/{domain_id}/agent-plugin/create codeartspipeline:extension:create - POST /v1/{domain_id}/agent-plugin/create-draft codeartspipeline:extension:create - POST /v1/{domain_id}/publisher/create codeartspipeline:extension:create - POST /v1/{domain_id}/agent-plugin/edit-draft codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-draft codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/update-info codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-plugin-bind codeartspipeline:extension:update - POST /v1/{domain_id}/agent-plugin/publish-plugin codeartspipeline:extension:update - POST /v1/{domain_id}/common/upload-plugin-icon codeartspipeline:extension:update - POST /v1/{domain_id}/common/upload-publisher-icon codeartspipeline:extension:update - DELETE /v1/{domain_id}/agent-plugin/delete-draft codeartspipeline:extension:delete - GET /v1/{domain_id}/publisher/query-all codeartspipeline:extension:list - GET /v1/{domain_id}/publisher/optional-publisher codeartspipeline:extension:list - POST /v1/{domain_id}/relation/stage-plugins codeartspipeline:extension:list - GET /v1/{domain_id}/relation/plugin/single codeartspipeline:extension:list - POST /v1/{domain_id}/agent-plugin/query-all codeartspipeline:extension:list - POST /v1/{domain_id}/agent-plugin/plugin-metrics codeartspipeline:extension:get - POST /v1/{domain_id}/agent-plugin/plugin-input codeartspipeline:extension:get - POST /v1/{domain_id}/agent-plugin/plugin-output codeartspipeline:extension:get - GET /v1/{domain_id}/agent-plugin/query codeartspipeline:extension:list - GET /v1/{domain_id}/agent-plugin/detail codeartspipeline:extension:get - GET /v1/{domain_id}/agent-plugin/all-version codeartspipeline:extension:list - DELETE /v1/{domain_id}/publisher/delete codeartspipeline:extension:delete - POST /v1/{domain_id}/publisher/detail codeartspipeline:extension:get - POST /v3/{domain_id}/extension/info/add codeartspipeline:extension:create - POST /v3/{domain_id}/extension/info/update codeartspipeline:extension:update - DELETE /v3/{domain_id}/extension/info/delete codeartspipeline:extension:delete - POST /v3/{domain_id}/extension/upload codeartspipeline:extension:update - GET /v3/{domain_id}/extension/detail codeartspipeline:extension:get - POST /v1/{domain_id}/relation/plugins codeartspipeline:extension:list -
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 最小值:1 表3 请求Body参数 参数 是否必选 参数类型 描述 tags 是 Array of TagDto objects 要添加到指定资源的标签列表。 数组长度:1 - 20 表4 TagDto 参数 是否必选 参数类型 描述 key 是 String 标签键的密钥标识符或名称。 最小长度:1 最大长度:128 value 是 String 与标签键关联的字符串值。您可以将标签的值设置为空字符串,但不能将标签的值设置为NULL。 最小长度:0 最大长度:255
  • URI POST /v1/organizations/{resource_type}/{resource_id}/tags/delete 表1 路径参数 参数 是否必选 参数类型 描述 resource_type 是 String 资源类型。枚举值:organizations:policies(服务策略)、organizations:ous(组织OU)、organizations:accounts(账号信息) 、organizations:roots:(根)。 枚举值: organizations:policies organizations:ous organizations:accounts organizations:roots resource_id 是 String 根、组织单元、账号或策略的唯一标识符(ID)。 最大长度:130
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 entities Array of EntityDto objects 组织中的根、组织单元和账号的列表。 page_info PageInfoDto object 分页信息 表4 EntityDto 参数 参数类型 描述 name String 实体的名称。 最小长度:1 最大长度:64 id String 实体的唯一标识符(ID)。 最大长度:100 type String 实体的类型。account:账号;organizational_unit:组织单元;root:根。 最小长度:1 最大长度:64 表5 PageInfoDto 参数 参数类型 描述 next_marker String 如果存在,则表示可用的输出比当前响应中包含的输出多。在对操作的后续调用中,在标签请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null。 current_count Integer 本页返回条目数量 最小值:1 最大值:2000
  • URI GET /v1/organizations/entities 表1 Query参数 参数 是否必选 参数类型 描述 parent_id 否 String 父节点(根或组织单元)的唯一标识符(ID)。 最大长度:100 child_id 否 String 子节点(组织单元)的唯一标识符(ID)。 最大长度:100 limit 否 Integer 页面中最大结果数量。 最小值:1 最大值:2000 缺省值:200 marker 否 String 分页标记。 最小长度:4 最大长度:400
  • 响应示例 状态码: 200 Successful. { "handshakes" : [ { "id" : "h-2tnfkrhe64qokwripd2kqrhd7d3079u5", "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:ou:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/ou-fi0rv9jbjgc6nifokh65jjo8c24fnujv", "updated_at" : "2022-09-23T07:38:15Z", "created_at" : "2022-09-23T07:38:15Z", "management_account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "management_account_name" : "paas_iam_573331", "organization_id" : "o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv", "notes" : "test-notes", "target" : { "type" : "account", "entity" : "644c579bea6d473e8ce386e0e8ec449d" }, "status" : "cancelled" } ], "page_info" : { "next_marker" : "ou-taowxgy4xbme6m4x3c2iijbxw7yj8fcw", "current_count" : 100 } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 handshakes Array of HandshakeDto objects 邀请(握手)对象的列表,其中包含与指定账号关联的每个邀请(握手)的详细信息。 page_info PageInfoDto object 分页信息 表4 HandshakeDto 参数 参数类型 描述 id String 邀请(握手)的唯一标识符(ID)。源账号在发起邀请(握手)时创建ID。 最大长度:34 urn String 邀请(握手)的统一资源名称。 最小长度:1 最大长度:1500 updated_at String 邀请(握手)请求被接受、取消、拒绝或到期的日期和时间。 created_at String 提出邀请(握手)请求的日期和时间。 management_account_id String 组织管理账号的唯一标识符(ID)。 最大长度:36 management_account_name String 组织管理账号的名称。 最大长度:64 organization_id String 组织的唯一标识符(ID)。 最大长度:34 notes String 给收件账号所有者的邮件中的附加信息。 最大长度:1024 target TargetDto object 要邀请加入组织的账号的标识符(ID)。 status String 邀请(握手)的当前状态, pending:邀请中;accepted:接受邀请;cancelled:取消邀请;declined:拒绝邀请;expired:邀请过期。 最小长度:1 最大长度:64 表5 TargetDto 参数 参数类型 描述 type String 目标类型,account:账号,email:邮箱。 最小长度:1 最大长度:64 entity String 如果指定 "type:account",则必须提供账号ID作为实体。如果指定"type:email",则必须指定与账号关联的电子邮件地址。 最大长度:100 表6 PageInfoDto 参数 参数类型 描述 next_marker String 如果存在,则表示可用的输出比当前响应中包含的输出多。在对操作的后续调用中,在标签请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null。 current_count Integer 本页返回条目数量 最小值:1 最大值:2000
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of TagsDTO objects 自定义标签键值对。 表4 TagsDTO 参数 参数类型 描述 key String 键。最大长度127个unicode字符。 key不能为空。 最小长度:1 最大长度:128 values Array of strings 值列表。每个值最大长度255个unicode字符。 最小长度:0 最大长度:255 数组长度:0 - 10
  • URI GET /v1/organizations/{resource_type}/tags 表1 路径参数 参数 是否必选 参数类型 描述 resource_type 是 String 资源类型。枚举值:organizations:policies(服务策略)、organizations:ous(组织OU)、organizations:accounts(账号信息) 、organizations:roots:(根)。 枚举值: organizations:policies organizations:ous organizations:accounts organizations:roots
  • 获取账号、IAM用户、项目的名称和ID 从控制台获取账号名、账号ID、用户名、用户ID、项目名称、项目ID 在华为云首页右上角,单击“控制台”。 在右上角的用户名中选择“我的凭证”。 图1 进入我的凭证 在“我的凭证”界面,API凭证页签中,查看账号名、账号ID、用户名、用户ID、项目名称、项目ID。 每个区域的项目ID有所不同,需要根据业务所在的区域获取对应的项目ID。 图2 查看账号名、账号ID、用户名、用户ID、项目名称、项目ID 调用API获取用户ID、项目ID 获取用户ID请参考:管理员查询IAM用户列表。 获取项目ID请参考:查询指定条件下的项目列表。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Security-Token 否 String 如果正在使用临时安全凭据,则此header是必需的,该值是临时安全凭据的安全令牌(会话令牌)。 最小值:1 表2 请求Body参数 参数 是否必选 参数类型 描述 target 是 TargetDto object 要邀请加入组织的账号的标识符(ID)。 notes 是 String 给收件账号所有者的邮件中的附加信息。 最大长度:1024 tags 否 Array of TagDto objects 要绑定到新创建的账号的标签列表。 表3 TargetDto 参数 是否必选 参数类型 描述 type 是 String 目标类型,account:账号,email:邮箱。 最小长度:1 最大长度:64 entity 是 String 如果指定 "type:account",则必须提供账号ID作为实体。如果指定"type:email",则必须指定与账号关联的电子邮件地址。 最大长度:100 表4 TagDto 参数 是否必选 参数类型 描述 key 是 String 标签键的密钥标识符或名称。 最小长度:1 最大长度:128 value 是 String 与标签键关联的字符串值。您可以将标签的值设置为空字符串,但不能将标签的值设置为NULL。 最小长度:0 最大长度:255
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 handshake HandshakeDto object 两个账号(发起者和接收者)之间为了能安全地建立关系,所需要交换的信息。例如,当管理账号(发起者)邀请另一个账号(接收者)加入其组织时,两个账号一系列邀请(握手)请求和响应交换信息。 表6 HandshakeDto 参数 参数类型 描述 id String 邀请(握手)的唯一标识符(ID)。源账号在发起邀请(握手)时创建ID。 最大长度:34 urn String 邀请(握手)的统一资源名称。 最小长度:1 最大长度:1500 updated_at String 邀请(握手)请求被接受、取消、拒绝或到期的日期和时间。 created_at String 提出邀请(握手)请求的日期和时间。 management_account_id String 组织管理账号的唯一标识符(ID)。 最大长度:36 management_account_name String 组织管理账号的名称。 最大长度:64 organization_id String 组织的唯一标识符(ID)。 最大长度:34 notes String 给收件账号所有者的邮件中的附加信息。 最大长度:1024 target TargetDto object 要邀请加入组织的账号的标识符(ID)。 status String 邀请(握手)的当前状态, pending:邀请中;accepted:接受邀请;cancelled:取消邀请;declined:拒绝邀请;expired:邀请过期。 最小长度:1 最大长度:64 表7 TargetDto 参数 参数类型 描述 type String 目标类型,account:账号,email:邮箱。 最小长度:1 最大长度:64 entity String 如果指定 "type:account",则必须提供账号ID作为实体。如果指定"type:email",则必须指定与账号关联的电子邮件地址。 最大长度:100
  • 请求示例 邀请账号加入组织 POST https://{hostname}/v1/organizations/accounts/invite { "target" : { "type" : "account", "entity" : "05c734152f00d4200f2bc0179ac6c5e0" }, "notes" : "test-notes", "tags" : [ { "key" : "keystring", "value" : "valuestring" } ] }
  • 响应示例 状态码: 200 Successful. { "handshake" : { "id" : "h-awjp43m7bz3b8jgy5v61jrfwakt3og8w", "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:policy:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/service_control_policy/p-b4wpejd02o66g0pvfinvsatp4t9krfum", "updated_at" : "2022-08-25T08:11:53Z", "created_at" : "2022-08-25T08:11:20Z", "management_account_id" : "0a6d25d23900d45c0faac010e0fb4de0", "management_account_name" : "paas_iam_573331", "organization_id" : "o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv", "notes" : "test-notes", "target" : { "type" : "account", "entity" : "05c734152f00d4200f2bc0179ac6c5e0" }, "status" : "pending" } }
  • 响应示例 状态码: 200 Successful. { "accounts" : [ { "id" : "05261f923e80d3890f33c0056e9b3f80", "urn" : "organizations::0a6d25d23900d45c0faac010e0fb4de0:account:o-fhkmi6mek7wlqdp6nideqhb47qwtjdsv/05261f923e80d3890f33c0056e9b3f80", "join_method" : "invited", "joined_at" : "2022-08-24T06:41:15Z", "name" : "paas_iam_573331", "status" : "active" } ], "page_info" : { "next_marker" : "ou-taowxgy4xbme6m4x3c2iijbxw7yj8fcw", "current_count" : 100 } }
  • URI GET /v1/organizations/accounts 表1 Query参数 参数 是否必选 参数类型 描述 parent_id 否 String 父节点(根或组织单元)的唯一标识符(ID)。 最大长度:100 limit 否 Integer 页面中最大结果数量。 最小值:1 最大值:2000 缺省值:200 marker 否 String 分页标记。 最小长度:4 最大长度:400
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 accounts Array of AccountDto objects 组织中的账号列表。 page_info PageInfoDto object 分页信息 表4 AccountDto 参数 参数类型 描述 id String 账号的唯一标识符(ID)。 最大长度:36 urn String 账号的统一资源名称。 最小长度:1 最大长度:1500 join_method String 账号加入组织的方式。invited:邀请加入,created:创建加入。 最小长度:1 最大长度:64 status String 账号当前的状态。active:有效; suspended:已关闭; pending_closure:关闭中。 最小长度:1 最大长度:64 joined_at String 账号加入组织的日期。 name String 账号名称 最大长度:64 表5 PageInfoDto 参数 参数类型 描述 next_marker String 如果存在,则表示可用的输出比当前响应中包含的输出多。在对操作的后续调用中,在标签请求参数中使用此值,以获取输出的下一部分。您应该重复此操作,直到next_marker响应元素返回为null。 current_count Integer 本页返回条目数量 最小值:1 最大值:2000
  • 响应示例 状态码: 200 Successful. { "attached_entities" : [ { "name" : "paas_iam_573331", "id" : "05261f923e80d3890f33c0056e9b3f80", "type" : "account" } ], "page_info" : { "next_marker" : "ou-taowxgy4xbme6m4x3c2iijbxw7yj8fcw", "current_count" : 100 } }
共100000条