华为云用户手册

  • 响应示例 状态码为 200 时: 请求成功。 { "projects": [ { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd0...", "name": "cn-north-1", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/projects/06f1cd8ea9800ff02f26c003d93..." }, "id": "06f1cd8ea9800ff02f26c003d93...", "enabled": true }, { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd0...", "name": "MOS", "description": "", "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/projects/babf0605d15b4f9fbcacc6a8ee0f8d84" }, "id": "babf0605d15b4f9fbcacc6a8ee0f8d84", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://iam.myhuaweicloud.com/v3/users/7116d09f88fa41908676fdd4b039e95b/projects" }}
  • 响应示例 状态码为 200 时: 请求成功。 { "projects": [ { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd022...", "name": "af-south-1", "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/06f1cbbaf280106b2f14c00313a9d065" }, "id": "06f1cbbaf280106b2f14c00313a9...", "enabled": true }, { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd022...", "name": "cn-north-1", "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/065a7c66da0010992ff7c0031e5a5e7d" }, "id": "065a7c66da0010992ff7c0031e5a5e7d", "enabled": true } ], "links": { "self": "https://iam.myhuaweicloud.com/v3/auth/projects" }}
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 projects Array of objects 项目信息列表。 表3 links 参数 参数类型 描述 self String 资源链接地址。 表4 projects 参数 参数类型 描述 is_domain Boolean false. description String 项目描述信息。 links Object 项目的资源链接。 enabled Boolean 项目是否可用。 id String 项目ID。 parent_id String 如果查询自己创建的项目,则此处返回所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处返回帐号ID。 domain_id String 项目所属帐号ID。 name String 项目名称。 表5 projects.links 参数 参数类型 描述 self String 资源链接地址。
  • 响应示例 状态码为 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": { "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 } } }}
  • 响应参数 表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来获取临时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做签名。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 project 是 Object 项目信息。 表4 project 参数 是否必选 参数类型 描述 status 是 String 项目的状态信息,参数的值为"suspended"或"normal"。 status值为"suspended"时,会将项目设置为冻结状态。 status值为"normal"时,会将项目设置为正常(解冻)状态。 取值范围: suspended normal
  • 响应示例 状态码为 200 时: 请求成功。 { "project": { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "aa2d97d7e62c4b7da3ffdfc11551...", "name": "cn-north-1_IAMProject", "description": "IAMDescription", "id": "07707ab14980265e2f5fc003a02...", "enabled": true, "status": "normal" }}
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 project Object 项目信息。 表4 project 参数 参数类型 描述 domain_id String 项目所属帐号ID。 is_domain Boolean false. parent_id String 如果查询自己创建的项目,则此处返回所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处返回帐号ID。 name String 项目名称。 description String 项目描述信息。 id String 项目ID。 enabled Boolean 项目是否可用。 status String 项目状态。
  • 请求示例 创建一个名为“cn-north-1_IAMProject”且在华北-北京一的项目,项目所属帐号ID是d78cbac186b744899480f25bd0... POST https://iam.myhuaweicloud.com/v3/projects { "project": { "name": "cn-north-1_IAMProject", "parent_id": "aa2d97d7e62c4b7da3ffdfc11551f878", "domain_id": "d78cbac186b744899480f25bd0...", "description": "IAMDescription" }}
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表2 请求Body参数 参数 是否必选 参数类型 描述 project 是 Object 项目信息。 表3 project 参数 是否必选 参数类型 描述 name 是 String 项目名称。必须以存在的"区域ID_"开头,长度小于等于64。例如区域“华北-北京一”的区域ID为“cn-north-1”,在其下创建项目时,项目名应填“cn-north-1_IAMProject” parent_id 是 String 区域对应的项目ID,例如区域“华北-北京一”区域对应的项目ID为:04dd42abe48026ad2fa3c01ad7fa.....,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 domain_id 否 String 项目所属帐号ID。 description 否 String 项目描述信息,长度小于等于255字符。
  • 响应参数 表4 响应Body参数 参数 参数类型 描述 project Object 项目信息。 表5 project 参数 参数类型 描述 is_domain Boolean false. description String 项目描述信息。 links Object 项目的资源链接。 enabled Boolean 项目是否可用。 id String 项目ID。 parent_id String 区域对应的项目ID,例如区域“华北-北京一”区域对应的项目ID为:04dd42abe48026ad2fa3c01ad7fa.....。 domain_id String 项目所属帐号ID。 name String 项目名称。 表6 project.links 参数 参数类型 描述 self String 资源链接地址。
  • 响应示例 状态码为 201 时: 创建成功。 { "project": { "is_domain": false, "description": "IAMDescription", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/07707ab14980265e2f5fc003a021bbc3" }, "enabled": true, "id": "07707ab14980265e2f5fc003a021bbc3", "parent_id": "aa2d97d7e62c4b7da3ffdfc11551f878", "domain_id": "d78cbac186b744899480f25bd02...", "name": "cn-north-1_IAMProject" }}
  • URI PUT /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 domain_id 是 String 委托方的帐号ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 权限ID,获取方式请参见:获取权限ID。
  • URI HEAD /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 domain_id 是 String 委托方的帐号ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 权限ID,获取方式请参见:获取权限ID。
  • URI DELETE /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 domain_id 是 String 委托方的帐号ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 权限ID,获取方式请参见:获取权限ID。
  • 响应示例 状态码为 200 时: 查询成功 { "roles" : [ { "name" : "system_all_154", "links" : { "self" : "https://internal.iam.ctcclouddev.com/v3/roles/04570dfe267c45a3940e1ae9de868..." }, "id" : "04570dfe267c45a3940e1ae9de868..." }, { "name" : "test1_admin", "links" : { "self" : "https://internal.iam.ctcclouddev.com/v3/roles/1bf20f1adba94747a6e02e1be3810..." }, "id" : "1bf20f1adba94747a6e02e1be3810..." } ], "links" : { "self" : "https://internal.iam.ctcclouddev.com/v3.0/OSHERIT/domains/05b09b4723001dc90f27c0008f8b1.../agencies/08c6652e86801d234f01c00078308.../roles/inherited_to_projects" } }
  • URI GET /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。 domain_id 是 String 委托方帐号ID,获取方式请参见:获取帐号、IAM用户、项目、用户组、区域、委托的名称和ID。
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 identity_providers Array of objects 身份提供商信息列表。 links Object 资源链接信息。 表3 identity_providers 参数 参数类型 描述 sso_type string 身份提供商类型。当前支持如下两种: virtual_user_sso:联邦登录跳转后映射为虚拟用户。 iam_user_sso:联邦登录跳转后映射为实际存在的IAM用户。 默认配置为virtual_user_sso类型。 id String 身份提供商ID。 description String 身份提供商描述信息。 enabled Boolean 身份提供商是否启用,true为启用,false为停用,默认为false。 remote_ids Array of strings 身份提供商的联邦用户ID列表。 links Object 身份提供商的资源链接信息。 表4 identity_providers.links 参数 参数类型 描述 self String 身份提供商的资源链接地址。 protocols String 协议的资源链接地址。 表5 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址。 next String 后一邻接资源链接地址。
  • 响应示例 状态码为 200 时: 请求成功。 { "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers", "previous": null, "next": null }, "identity_providers": [ { "remote_ids": [], "enabled": true, "id": "ACME", "sso_type": "iam_user_sso", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME", "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols" }, "description": "Stores ACME identities." } ]}
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 identity_provider Object 身份提供商信息。 表4 identity_provider 参数 参数类型 描述 sso_type string 身份提供商类型。当前支持如下两种: virtual_user_sso:联邦登录跳转后映射为虚拟用户。 iam_user_sso:联邦登录跳转后映射为实际存在的IAM用户。 默认配置为virtual_user_sso类型。 id String 身份提供商ID。 description String 身份提供商描述信息。 enabled Boolean 身份提供商是否启用,true为启用,false为停用,默认为false。 remote_ids Array of strings 身份提供商的联邦用户ID列表。 links Object 身份提供商的资源链接信息。 表5 identity_provider.links 参数 参数类型 描述 self String 身份提供商的资源链接地址。 protocols String 协议的资源链接地址。
  • 响应示例 状态码为 200 时: 请求成功。 { "identity_provider": { "remote_ids": [], "enabled": true, "id": "ACME", "sso_type": "iam_user_sso", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME", "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols" }, "description": "Stores ACME identities." }}
  • 请求示例 修改SAML身份提供商为不启用。 PATCH https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/{id} { "identity_provider": { "description": "Stores ACME identities.", "enabled": false }}
  • 响应示例 状态码为 200 时: 请求成功。 { "identity_provider": { "remote_ids": [], "enabled": false, "id": "ACME", "sso_type": "iam_user_sso", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME", "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols" }, "description": "Stores ACME identities." }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 identity_provider 是 Object 身份提供商信息。 表4 identity_provider 参数 是否必选 参数类型 描述 description 否 String 身份提供商描述信息。 enabled 否 Boolean 身份提供商是否启用,true为启用,false为停用,默认为false。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 identity_provider 是 Object 身份提供商信息。 表4 identity_provider 参数 是否必选 参数类型 描述 sso_type 否 string 身份提供商类型。当前支持如下两种: virtual_user_sso:联邦登录跳转后映射为虚拟用户。 iam_user_sso:联邦登录跳转后映射为实际存在的IAM用户。如果选择该类型,请确保您已在华为云创建IAM用户。 默认配置为virtual_user_sso类型。 description 否 String 身份提供商描述信息。 enabled 否 Boolean 身份提供商是否启用,true为启用,false为停用,默认为false。
  • 响应示例 状态码为 201 时: 请求成功。 { "identity_provider": { "remote_ids": [], "enabled": true, "id": "ACME", "sso_type": "iam_user_sso", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME", "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols" }, "description": "Stores ACME identities." }}
  • 响应示例 状态码为 200 时: 创建成功。 { "openid_connect_config" : { "access_mode" : "program_console", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "authorization_endpoint" : "https://accounts.example.com/o/oauth2/v2/auth", "scope" : "openid", "response_type" : "id_token", "response_mode" : "form_post", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } 状态码为 400 时: 参数无效。 { "error_msg" : "Request body is invalid.", "error_code" : "IAM.0011" } 状态码为 401 时: 认证失败。 { "error_msg" : "Request parameter %(key)s is invalid.", "error_code" : "IAM.0007" } 状态码为 403 时: 没有操作权限。 { "error_msg" : "Policy doesn't allow %(actions)s to be performed.", "error_code" : "IAM.0003" } 状态码为 404 时: 未找到相应的资源。 { "error_msg" : "Could not find %(target)s: %(target_id)s.", "error_code" : "IAM.0004" } 状态码为 500 时: 系统内部异常。 { "error_msg" : "An unexpected error prevented the server from fulfilling your request.", "error_code" : "IAM.0006" }
  • 响应参数 状态码为 200 时: 表3 响应Body参数 参数 参数类型 描述 openid_connect_config object OpenID Connect配置详情。 表4 OpenIDConnectConfig 参数 参数类型 描述 access_mode String 访问方式。 program_console: 支持编程访问和管理控制台访问方式。 program: 支持编程访问方式 idp_url String OpenID Connect身份提供商标识, 对应ID token 中 iss字段。 client_id String 在OpenID Connect身份提供商注册的客户端ID。 authorization_endpoint String OpenID Connect身份提供商授权地址。 编程访问和管理控制台访问方式必选,编程访问方式不可选 scope String 授权请求信息范围。 编程访问和管理控制台访问方式必选,编程访问方式不可选。 枚举值: openid email profile 说明: 此字段必选值“openid”。 最少1个值,最多10个值,之间使用空格分割。 例如: "openid" 、"openid email"、 "openid profile"、 "openid email profile"。 response_type String 授权请求返回的类型。 编程访问和管理控制台访问方式必选,编程访问方式不可选。 枚举值: id_token response_mode String 授权请求返回方式。 编程访问和管理控制台访问方式必选,编程访问方式不可选。 枚举值: fragment form_post signing_key String OpenID Connect身份提供商ID Token签名的公钥。
共100000条