华为云用户手册
-
URI GET /v3.0/OS-AGENCY/agencies 表1 Query参数 参数 是否必选 参数类型 描述 domain_id 是 String 委托方账号ID,获取方式请参见:获取账号、 IAM 用户、项目、用户组、区域、委托的名称和ID。 说明: X-Auth-Token字段填写拥有策略权限的token时,domain_id非必选。 name 否 String 委托名,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 trust_domain_id 否 String 被委托方账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 page 否 Integer 分页查询时数据的页数,查询值最小为1。需要与per_page同时存在。 per_page 否 Integer 分页查询时每页的数据个数,取值范围为[1,500]。需要与page同时存在。
-
响应示例 状态码为 200 时: 请求成功。 { "agencies": [ { "create_time": "2020-01-04T03:37:16.000000", "description": "", "domain_id": "d78cbac186b744899480f25b...8", "duration": "FOREVER", "expire_time": null, "id": "0760a9e2a60026664f1fc0031f9f2...", "name": "IAMAgency", "agency_urn": "iam::d78cbac186b744899480f25b...8:agency:IAMAgency", "trust_domain_id": "a2cd82a33fb043dc9304bf72...", "trust_domain_name": "IAMDomainB" } ]}
-
响应示例 状态码为 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." }}
-
请求示例 修改SAML身份提供商为不启用。 PATCH https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/{id} { "identity_provider": { "description": "Stores ACME identities.", "enabled": false }}
-
URI DELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id} 表1 路径参数 参数 是否必选 参数类型 描述 agency_id 是 String 委托ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 project_id 是 String 委托方的项目ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 role_id 是 String 项目服务权限ID,获取方式请参见:获取权限ID。
-
请求参数 表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。
-
响应参数 状态码为 201 时: 表5 响应Body参数 参数 参数类型 描述 openid_connect_config object OpenID Connect配置详情。 表6 openid_connect_config 参数 参数类型 描述 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身份提供商授权地址。 访问方式为program方式时返回null。 scope String 授权请求信息范围。 访问方式为program方式时返回null。 枚举值: openid email profile 说明: 此字段必选值“openid”。 最少1个值,最多10个值,之间使用空格分割。 例如: "openid" 、"openid email"、 "openid profile"、 "openid email profile"。 response_type String 授权请求返回的类型。 访问方式为program方式时返回null。 枚举值: id_token response_mode String 授权请求返回方式。 访问方式为program方式时返回null。 枚举值: fragment form_post signing_key String OpenID Connect身份提供商ID Token签名的公钥。
-
请求示例 创建支持编程访问配置的OpenID Connect身份提供商。 POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config { "openid_connect_config" : { "access_mode" : "program", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } 创建支持编程访问和管理控制台访问配置的OpenID Connect身份提供商。 POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config { "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\"}]}" } }
-
响应示例 状态码为 201 时: 创建成功。 示例 1 { "openid_connect_config" : { "access_mode" : "program", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } 示例 2 { "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\"}]}" } }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 openid_connect_config 是 object OpenID Connect配置详情。 表4 CreateOpenIDConnectConfig 参数 是否必选 参数类型 描述 access_mode 是 String 访问方式。 program_console: 支持编程访问和管理控制台访问方式。 program: 支持编程访问方式 idp_url 是 String OpenID Connect身份提供商标识,对应ID token中iss字段。 最小长度:10。最大长度:255。 client_id 是 String 在OpenID Connect身份提供商注册的客户端ID。 最小长度:5。最大长度:255。 authorization_endpoint 否 String OpenID Connect身份提供商授权地址。 访问方式为program_console必选。 最小长度:10。最大长度:255。 scope 否 String 授权请求信息范围。 访问方式为program_console必选。 枚举值: openid email profile 说明: 此字段必选值“openid”。 最少1个值,最多10个值,之间使用空格分割。 例如: "openid" 、"openid email"、 "openid profile"、 "openid email profile"。 response_type 否 String 授权请求返回的类型。 访问方式为program_console必选。 枚举值: id_token response_mode 否 String 授权请求返回方式。 访问方式为program_console必选。 枚举值: fragment form_post signing_key 是 String OpenID Connect身份提供商ID Token签名的公钥。 最小长度:10。最大长度:30000。 格式示例: { "keys":[ { "kid":"d05ef20c4512645vv1..." , "n":"cws_cnjiwsbvweolwn_-vnl...", "e":"AQAB", "kty":"RSA", "use":"sig", "alg":"RS256" } ]}
-
响应示例 状态码为 200 时: 请求成功。 { "mappings": [ { "rules": [ { "local": [ { "user": { "name": "LocalUser" } }, { "group": { "name": "LocalGroup" } } ], "remote": [ { "type": "UserName" }, { "type": "orgPersonType", "not_any_of": [ "Contractor", "Guest" ] } ] } ], "id": "ACME", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/ACME" } } ], "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings", "previous": null, "next": null }}
-
响应参数 表10 响应Body参数 参数 参数类型 描述 mapping Object 映射信息。 表11 mapping 参数 参数类型 描述 id String 映射ID。 links Object 映射的资源链接信息。 rules Array of objects 将联邦用户映射为本地用户的规则列表。 表12 mapping.links 参数 参数类型 描述 self String 资源链接地址。 表13 mappings.rules 参数 参数类型 描述 local Array of objects 表示联邦用户在本系统中的用户信息。 user:联邦用户在本系统中的用户名称。group:联邦用户在本系统中所属用户组。 remote Array of objects 表示联邦用户在IdP中的用户信息。使用SAML协议时,由断言属性及运算符组成的表达式,取值由断言决定。使用OIDC协议时,取值由ID token决定。 表14 mappings.rules.local 参数 参数类型 描述 user user object 联邦用户在本系统中的用户名称 group group object 联邦用户在本系统中所属用户组 表15 mappings.rules.local.user 名称 类型 描述 name String 联邦用户在本系统中的用户名称 表16 mappings.rules.local.group 名称 类型 描述 name String 联邦用户在本系统中所属用户组 表17 mapping.rules.remote 参数 参数类型 描述 type String 表示IdP断言(SAML协议)或ID token(OIDC协议)中的属性。 any_one_of Array of strings 输入属性值中包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数组元素中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。 not_any_of Array of strings 输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。not_any_of与any_one_of互斥,两者至多填写一个,不能同时填写。
-
请求示例 注册映射。 PUT https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/{id} { "mapping": { "rules": [ { "local": [ { "user": { "name": "LocalUser" } }, { "group": { "name": "LocalGroup" } } ], "remote": [ { "type": "UserName" }, { "type": "orgPersonType", "not_any_of": [ "Contractor", "Guest" ] } ] } ] }}
-
响应示例 状态码为 201 时: 创建成功。 { "mapping": { "rules": [ { "local": [ { "user": { "name": "LocalUser" } }, { "group": { "name": "LocalGroup" } } ], "remote": [ { "type": "UserName" }, { "type": "orgPersonType", "not_any_of": [ "Contractor", "Guest" ] } ] } ], "id": "ACME", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/ACME" } }}
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。 表3 请求Body参数 参数 是否必选 参数类型 描述 mapping 是 Object 映射信息。 表4 mapping 参数 是否必选 参数类型 描述 rules 是 Array of objects 将联邦用户映射为本地用户的规则列表。 表5 mapping.rules 参数 是否必选 参数类型 描述 local 是 Array of RulesLocal objects 表示联邦用户在本系统中的用户信息。 user:联邦用户在本系统中的用户名称。group:联邦用户在本系统中所属用户组。 remote 是 Array of objects 表示联邦用户在IdP中的用户信息。使用SAML协议时,由断言属性及运算符组成的表达式,取值由断言决定。使用OIDC协议时,取值由ID token决定。 表6 mappings.rules.local 参数 是否必选 参数类型 描述 user 否 user object 联邦用户在本系统中的用户名称 group 否 group object 联邦用户在本系统中所属用户组 表7 mappings.rules.local.user 名称 是否必选 类型 描述 name 是 String 联邦用户在本系统中的用户名称 表8 mappings.rules.local.group 名称 是否必选 类型 描述 name 是 String 联邦用户在本系统中所属用户组 表9 mapping.rules.remote 参数 是否必选 参数类型 描述 type 是 String 表示IdP断言(SAML协议)或ID token(OIDC协议)中的属性。 any_one_of 否 Array of strings 输入属性值中包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。 not_any_of 否 Array of strings 输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。not_any_of与any_one_of互斥,两者至多填写一个,不能同时填写。
-
响应参数 表3 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 protocols Array of objects 协议信息列表。 表4 links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表5 protocols 参数 参数类型 描述 id String 协议ID。 mapping_id String 映射ID。 links Object 协议的资源链接信息。 表6 protocols.links 参数 参数类型 描述 identity_provider String 身份提供商的资源链接地址。 self String 资源链接地址。
-
响应示例 状态码为 200 时: 请求成功。 { "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/protocols", "previous": null, "next": null }, "protocols": [ { "mapping_id": "ACME", "id": "saml", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols/saml", "identity_provider": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME" } } ]}
-
响应参数 表3 响应Body参数 参数 参数类型 描述 id String Metadata的ID。 idp_id String 身份提供商名称。 entity_id String Metadata文件中的entityID字段。 protocol_id String 协议ID。 domain_id String 用户所属账号ID。 xaccount_type String 账号来源,默认为空。 update_time String 导入或更新Metadata文件的时间。 说明: UTC时间,格式为YYYY-MM-DD HH:mm:ss。 data String Metadata文件的内容。
-
响应示例 状态码为 201 时: 创建成功。 示例1:由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A整个账号的token。 示例2:由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A的项目“cn-north-1”,且返回的响应体中将不显示catalog信息的token。 示例 1 响应Header参数:X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数:{ "token": { "expires_at": "2020-01-05T05:05:17.429000Z", "methods": [ "assume_role" ], "catalog": [ { "endpoints": [ { "id": "33e1cbdd86d34e89a63cf8ad16a5f49f", "interface": "public", "region": "*", "region_id": "*", "url": "https://iam.myhuaweicloud.com/v3.0" } ], "id": "100a6a3477f1495286579b819d399e36", "name": "iam", "type": "iam" } ], "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "roles": [ { "id": "0", "name": "op_gated_eip_ipv6" }, { "id": "0", "name": "op_gated_rds_mcs" } ], "issued_at": "2020-01-04T05:05:17.429000Z", "user": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "0760a9e2a60026664f1fc0031f9f205e", "name": "IAMDomainA/IAMAgency" }, "assumed_by": { "user": { "domain": { "id": "a2cd82a33fb043dc9304bf72a0f38f00", "name": "IAMDomainB" }, "id": "0760a0bdee8026601f44c006524b17a9", "name": "IAMUserB", "password_expires_at": "" } } }} 示例 2 响应Header参数:X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB... 响应Body参数:{ "token": { "expires_at": "2020-01-05T06:49:28.094000Z", "methods": [ "assume_role" ], "catalog": [], "roles": [ { "id": "0", "name": "op_gated_eip_ipv6" }, { "id": "0", "name": "op_gated_rds_mcs" } ], "project": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "aa2d97d7e62c4b7da3ffdfc11551f878", "name": "cn-north-1" }, "issued_at": "2020-01-04T06:49:28.094000Z", "user": { "domain": { "id": "d78cbac186b744899480f25bd022f468", "name": "IAMDomainA" }, "id": "0760a9e2a60026664f1fc0031f9f205e", "name": "IAMDomainA/IAMAgency" }, "assumed_by": { "user": { "domain": { "id": "a2cd82a33fb043dc9304bf72a0f38f00", "name": "IAMDomainB" }, "id": "0760a0bdee8026601f44c006524b17a9", "name": "IAMUserB", "password_expires_at": "" } } }} 状态码为 400 时: 参数无效。 { "error": { "code": 400, "message": "The request body is invalid", "title": "Bad Request" }} 状态码为 401 时: 认证失败。 { "error": { "code": 401, "message": "The X-Auth-Token is invalid!", "title": "Unauthorized" }} 状态码为 403 时: 没有操作权限。 可能原因:被委托方B中用户B的用户token(即X-Auth-Token填写的token)缺少Agent Operator权限,请添加权限。 { "error": { "code": 403, "message": "You have no right to do this action", "title": "Forbidden" }}
-
响应参数 表10 响应Header参数 参数 参数类型 描述 X-Subject-Token String 签名后的token。 表11 响应Body参数 参数 参数类型 描述 token Object token信息列表。 表12 token 参数 参数类型 描述 methods Array of strings 获取token的方式。 expires_at String token到期时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 issued_at String token下发时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 assumed_by Object 被委托方B的相关信息。 catalog Array of objects 服务目录信息。 domain Object 委托方A的账号信息。如果获取token时请求体中scope参数设置为domain,则返回该字段。 project Object 委托方A的项目信息。如果获取token时请求体中scope参数设置为project,则返回该字段。 roles Array of objects 委托token的权限信息。 user Object 委托方A所创建的委托的信息。 表13 token.assumed_by 参数 参数类型 描述 user Object 被委托方B中IAM用户的用户信息。 表14 token.assumed_by.user 参数 参数类型 描述 name String 被委托方B中IAM用户的用户名。 id String 被委托方B中IAM用户的用户ID。 domain Object 被委托方B的账号信息。 password_expires_at String 被委托方B中IAM用户的密码过期时间,“”表示密码不过期。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 表15 token.assumed_by.user.domain 参数 参数类型 描述 name String 被委托方B的账号名称。 id String 被委托方B的账号ID。 表16 token.catalog 参数 参数类型 描述 endpoints Array of objects 终端节点。 id String 服务ID。 name String 服务名称。 type String 该接口所属服务。 表17 token.catalog.endpoints 参数 参数类型 描述 id String 终端节点ID。 interface String 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 region String 终端节点所属区域。 region_id String 终端节点所属区域ID。 url String 终端节点的URL。 表18 token.domain 参数 参数类型 描述 name String 委托方A的账号名称。 id String 委托方A的账号ID。 表19 token.project 参数 参数类型 描述 name String 委托方A的项目名称。 id String 委托方A的项目ID。 domain Object 委托方A的账号信息。 表20 token.project.domain 参数 参数类型 描述 name String 委托方A的账号名称。 id String 委托方A的账号ID。 表21 token.roles 参数 参数类型 描述 name String 权限名称。 id String 权限ID。默认显示为0,非真实权限ID。 表22 token.user 参数 参数类型 描述 name String 委托方A账号名/委托名。 id String 委托ID。 domain Object 委托方A的账号信息。 表23 token.user.domain 参数 参数类型 描述 id String 委托方A的账号ID。 name String 委托方A的账号名称。
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-Auth-Token 是 String 被委托方B账号中的IAM用户token,且该token具有Agent Operator权限。 表3 请求Body参数 参数 是否必选 参数类型 描述 auth 是 Object 认证信息。 表4 auth 参数 是否必选 参数类型 描述 identity 是 Object 认证参数。 scope 是 Object token的使用范围,需要填写委托方A的project或domain,填写其中任一即可。 说明: 如果您将scope设置为domain,该Token适用于全局级服务;如果将scope设置为project,该Token适用于项目级服务。 如果您将scope同时设置为project和domain,将以project参数为准,获取到项目级服务的Token。 如果您将scope置空,将获取到全局级服务的Token。建议您按需要填写Token使用范围。 表5 auth.identity 参数 是否必选 参数类型 描述 methods 是 Array of strings token的获取方式,该字段内容为["assume_role"]。 取值范围: assume_role assume_role 是 Object assume_role的具体信息。 表6 auth.identity.assume_role 参数 是否必选 参数类型 描述 domain_id 否 String 委托方A的账号ID。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 委托方A可以参考获取账号、IAM用户、项目、用户组、区域、委托的名称和ID获取账号ID。 domain_name 否 String 委托方A的账号名称。“domain_id”与“domain_name”至少填写一个,建议选择“domain_id”。 您可以在IAM控制台委托列表中查看委托方A的账号名称。 agency_name 是 String 委托方A创建的委托名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 表7 auth.scope 参数 是否必选 参数类型 描述 domain 否 Object 取值为domain时,表示获取的Token可以作用于全局服务,全局服务不区分项目或区域,如OBS服务。如需了解服务作用范围,请参考系统权限。domain支持id和name,二选一即可,建议选择“domain_id”。 project 否 Object 取值为project时,表示获取的Token可以作用于项目级服务,仅能访问指定project下的资源,如E CS 服务。如需了解服务作用范围,请参考系统权限。project支持id和name,二选一即可。 表8 auth.scope.domain 参数 是否必选 参数类型 描述 id 否 String 委托方A的账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 name 否 String 委托方A的账号名,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 表9 auth.scope.project 参数 是否必选 参数类型 描述 id 否 String 委托方A项目的ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。 name 否 String 委托方A项目的名称,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。id和name,二选一即可。
-
请求示例 由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A的项目“cn-north-1”,且返回的响应体中将不显示catalog信息的token。 POST https://iam.myhuaweicloud.com/v3/auth/tokens?nocatalog=true { "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", //委托方IAM用户A所属账号名称 "agency_name": "IAMAgency" //委托方IAM用户A创建的委托名称 } }, "scope": { "project": { "name": "cn-north-1" //项目名称 } } }} 由被委托方B(账号名为IAMDomainB)中的IAM用户B(用户名IAMUserB,请求头中的X-Auth-Token字段需要填写IAMUserB的用户token,且该token需要具有Agent Operator权限),获取委托方A(账号名为IAMDomainA)创建的委托名为IAMAgency,作用范围为委托方A整个账号的token。 POST https://iam.myhuaweicloud.com/v3/auth/tokens { "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", //委托方IAM用户A所属账号名称 "agency_name": "IAMAgency" //委托方IAM用户A创建的委托名称 } }, "scope": { "domain": { "name": "IAMDomainA" //委托方IAM用户A所属账号名称 } } }}
-
功能介绍 该接口可以用于获取委托方的token。 例如:A账号希望B账号管理自己的某些资源,所以A账号创建了委托给B账号,则A账号为委托方,B账号为被委托方。那么B账号可以通过该接口获取委托token。B账号仅能使用该token管理A账号的委托资源,不能管理自己账号中的资源。如果B账号需要管理自己账号中的资源,则需要获取自己的用户token。详情请参考:委托其他账号管理资源。 token是系统颁发给用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的token进行鉴权。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。 token的有效期为24小时,建议进行缓存,避免频繁调用。 使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。
-
响应参数 表3 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 roles Array of objects 权限信息列表。 total_number Integer 返回权限的总数。 表4 links 参数 参数类型 描述 self String 资源链接。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表5 roles 参数 参数类型 描述 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。 表6 roles.links 参数 参数类型 描述 self String 资源链接地址。 previous String 前一邻接资源链接地址,不存在时为null。 next String 后一邻接资源链接地址,不存在时为null。 表7 roles.policy 参数 参数类型 描述 Depends Array of objects 该权限所依赖的权限。 Statement Array of objects 授权语句,描述权限的具体内容。 Version String 权限版本号。 说明: 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。 1.1:策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 表8 roles.policy.Depends 参数 参数类型 描述 catalog String 权限所在目录。 display_name String 权限展示名。 表9 roles.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 Object 资源。如果创建此策略时未传入此字段,则返回结果中也无此字段。规则如下: 说明: 可填 * 的五段式:::::,例:"obs:::bucket:*"。 region字段为*或用户可访问的region。service必须存在且resource属于对应service。 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}。 表10 roles.policy.Statement.Condition.operator 参数 参数类型 描述 attribute Array of strings 条件键。key为与运算符有对应关系的合法属性。 该参数类型为自定义字符串数组。
-
响应示例 状态码为 200 时: 请求成功。 { "roles" : [ { "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" } ] } }, { "domain_id" : null, "flag" : "fine_grained", "description_cn" : "微服务引擎服务管理员权限", "catalog" : "CSE", "name" : "system_all_34", "description" : "All permissions of CSE service.", "links" : { "next" : null, "previous" : null, "self" : "https://iam.myhuaweicloud.com/v3/roles/0b5ea44ebdc64a24a9c372b2317f7e39" }, "id" : "0b5ea44ebdc64a24a9c372b2317f7e39", "display_name" : "CSE Admin", "type" : "XA", "policy" : { "Version" : "1.1", "Statement" : [ { "Action" : [ "cse:*:*", "ecs:*:*", "evs:*:*", "vpc:*:*" ], "Effect" : "Allow" } ] } } ], "links" : { "next" : null, "previous" : null, "self" : "https://iam.myhuaweicloud.com/v3/roles" }, "total_number" : 300}
-
URI GET /v3/roles 表1 Query参数 参数 是否必选 参数类型 描述 domain_id 否 String 账号ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 说明: 如果填写此参数,则返回账号下所有自定义策略。 如果不填写此参数,则返回所有系统权限(包含系统策略和系统角色)。 permission_type 否 String 区分系统权限类型的参数。当domain_id参数为空时生效。 policy:返回系统策略 role:返回系统角色。 name 否 String 系统内部呈现的权限名称。如云目录服务CCS普通用户权限CCS User的name为ccs_user。 建议您传参display_name,不传name参数。 display_name 否 String 权限名称或过滤条件。该参数可以传入控制台或系统权限显示的权限名称。 权限名称:如传参为ECS FullAccess,则返回该权限相关信息。 过滤条件:如传参为Administrator,则返回满足条件的所有管理员权限。 page 否 Integer 分页查询时数据的页数,查询值最小为1。需要与per_page同时存在。传入domain_id参数查询自定义策略时,可配套使用。 per_page 否 Integer 分页查询时每页的数据个数,取值范围为[1,300],默认值为300。需要与page同时存在。 不传page和per_page参数时,每页最多返回300个权限。 type 否 String 过滤权限的显示模式。取值范围:domain,project,all。type为domain时,返回type=AA或AX的权限;type为project时,返回type=AA或XA的权限;type为all时返回type为AA、AX、XA的权限。 说明: AX表示在domain层显示。 XA表示在project层显示。 AA表示在domain和project层均显示。 XX表示在domain和project层均不显示。 catalog 否 String 权限所在目录。catalog值精确匹配策略的catalog字段(可以过滤服务的策略、或者自定义策略)。
-
响应参数 表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 资源链接地址。
-
响应示例 状态码为 200 时: 请求成功。 { "projects": [ { "domain_id": "d78cbac186b744899480f25...", "is_domain": false, "parent_id": "d78cbac186b744899480f2...", "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": "d78cbac186b744899480f25bd0...", "name": "cn-north-1", "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/065a7c66da0010992ff7c0031e..." }, "id": "065a7c66da0010992ff7c0031e5...", "enabled": true } ], "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/projects" }}
-
响应示例 状态码为 200 时: 请求成功。 { "mapping": { "rules": [ { "local": [ { "user": { "name": "LocalUser" } }, { "group": { "name": "LocalGroup" } } ], "remote": [ { "type": "UserName" }, { "type": "orgPersonType", "not_any_of": [ "Contractor", "Guest" ] } ] } ], "id": "ACME", "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/ACME" } }}
-
响应参数 表3 响应Body参数 参数 参数类型 描述 password_policy object 密码策略。 表4 password_policy 参数 参数类型 描述 maximum_consecutive_identical_chars Integer 同一字符连续出现的最大次数。 maximum_password_length Integer 密码最大字符数。 minimum_password_age Integer 密码最短使用时间(分钟)。 minimum_password_length Integer 密码最小字符数。 number_of_recent_passwords_disallowed Integer 密码不能与历史密码重复次数。 password_not_username_or_invert Boolean 密码是否可以是用户名或用户名的反序。 password_requirements String 设置密码必须包含的字符要求。 password_validity_period Integer 密码有效期(天)。 password_char_combination Integer 至少包含字符种类的个数,取值区间[2,4]。
共99354条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- ...
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3311
推荐文章