From bdc1f338a26feac75b4cfc239d659cecdf20b8d8 Mon Sep 17 00:00:00 2001 From: "Wei, Hongmin" Date: Thu, 17 Oct 2024 13:19:12 +0000 Subject: [PATCH] IAM API 0816 Version Reviewed-by: Gladkov, Maksim Co-authored-by: Wei, Hongmin Co-committed-by: Wei, Hongmin --- docs/iam/api-ref/ALL_META.TXT.json | 329 ++++++++---- docs/iam/api-ref/CLASS.TXT.json | 447 ++++++++-------- .../api-ref/en-us_image_0000001782066216.png | Bin 32432 -> 78598 bytes .../api-ref/en-us_topic_0000001362626928.html | 483 ++++++++++++++++++ docs/iam/api-ref/en-us_topic_0057845561.html | 17 +- docs/iam/api-ref/en-us_topic_0057845564.html | 28 +- docs/iam/api-ref/en-us_topic_0057845579.html | 2 + docs/iam/api-ref/en-us_topic_0057845583.html | 25 +- docs/iam/api-ref/en-us_topic_0057845623.html | 4 +- docs/iam/api-ref/en-us_topic_0057845624.html | 2 +- docs/iam/api-ref/en-us_topic_0057845625.html | 2 +- docs/iam/api-ref/en-us_topic_0057845637.html | 43 +- docs/iam/api-ref/en-us_topic_0057845638.html | 19 +- docs/iam/api-ref/en-us_topic_0064274720.html | 6 +- docs/iam/api-ref/en-us_topic_0066154565.html | 2 +- docs/iam/api-ref/en-us_topic_0079467612.html | 8 + docs/iam/api-ref/en-us_topic_0097949518.html | 2 +- docs/iam/api-ref/iam_01_0004.html | 2 +- docs/iam/api-ref/iam_01_0007.html | 2 +- docs/iam/api-ref/iam_01_0008.html | 7 +- docs/iam/api-ref/iam_02_0006.html | 18 +- docs/iam/api-ref/iam_02_0008.html | 2 +- docs/iam/api-ref/iam_02_0011.html | 2 +- docs/iam/api-ref/iam_02_0023.html | 15 +- docs/iam/api-ref/iam_02_0025.html | 2 +- docs/iam/api-ref/iam_02_0026.html | 2 +- docs/iam/api-ref/iam_02_0040.html | 211 ++++++++ docs/iam/api-ref/iam_02_0041.html | 121 +++++ docs/iam/api-ref/iam_02_0042.html | 121 +++++ docs/iam/api-ref/iam_02_0043.html | 121 +++++ docs/iam/api-ref/iam_02_0046.html | 4 +- docs/iam/api-ref/iam_02_0510.html | 4 +- docs/iam/api-ref/iam_08_0004.html | 4 +- docs/iam/api-ref/iam_08_0011.html | 4 +- docs/iam/api-ref/iam_08_0015.html | 30 +- docs/iam/api-ref/iam_10_0011.html | 48 +- 36 files changed, 1695 insertions(+), 444 deletions(-) create mode 100644 docs/iam/api-ref/en-us_topic_0000001362626928.html create mode 100644 docs/iam/api-ref/iam_02_0040.html create mode 100644 docs/iam/api-ref/iam_02_0041.html create mode 100644 docs/iam/api-ref/iam_02_0042.html create mode 100644 docs/iam/api-ref/iam_02_0043.html diff --git a/docs/iam/api-ref/ALL_META.TXT.json b/docs/iam/api-ref/ALL_META.TXT.json index 2c3f5bd9..a0986df2 100644 --- a/docs/iam/api-ref/ALL_META.TXT.json +++ b/docs/iam/api-ref/ALL_META.TXT.json @@ -1472,11 +1472,32 @@ "title":"Querying Role Details", "githuburl":"" }, + { + "uri":"en-us_topic_0000001362626928.html", + "node_id":"en-us_topic_0000001362626928.xml", + "product_code":"iam", + "code":"71", + "des":"This API is used to query permission assignment records of a specified account.GET /v3.0/OS-PERMISSION/role-assignmentsStatus code: 200The request is successful.{\n \"ro", + "doc_type":"api", + "kw":"Querying Permission Assignment Records,Permission Management,API Reference", + "search_title":"", + "metedata":[ + { + "documenttype":"api", + "prodname":"iam", + "opensource":"true", + "Ismulti":"No", + "IsBot":"Yes" + } + ], + "title":"Querying Permission Assignment Records", + "githuburl":"" + }, { "uri":"iam_11_0003.html", "node_id":"iam_11_0003.xml", "product_code":"iam", - "code":"71", + "code":"72", "des":"This API is used to query the user groups to which a specified role has been assigned.URI formatGET /v3/role_assignments{?role.id,user.id,group.id,scope.project.id,scope.", "doc_type":"api", "kw":"Querying Role Assignments (Discarded),Permission Management,API Reference", @@ -1497,7 +1518,7 @@ "uri":"en-us_topic_0057845571.html", "node_id":"en-us_topic_0057845571.xml", "product_code":"iam", - "code":"72", + "code":"73", "des":"This API is used to query the permissions of a user group under a domain. A role is a set of permissions and represents a group of actions.URI formatGET /v3/domains/{doma", "doc_type":"api", "kw":"Querying Permissions of a User Group Under a Domain,Permission Management,API Reference", @@ -1518,7 +1539,7 @@ "uri":"en-us_topic_0057845640.html", "node_id":"en-us_topic_0057845640.xml", "product_code":"iam", - "code":"73", + "code":"74", "des":"This API is used to query the permissions of a specified user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI forma", "doc_type":"api", "kw":"Querying Permissions of a User Group Corresponding to a Project,Permission Management,API Reference", @@ -1539,7 +1560,7 @@ "uri":"en-us_topic_0057845623.html", "node_id":"en-us_topic_0057845623.xml", "product_code":"iam", - "code":"74", + "code":"75", "des":"This API is used to grant permissions to a user group of a domain. A role is a set of permissions and represents a group of actions.URI formatPUT /v3/domains/{domain_id}/", "doc_type":"api", "kw":"Granting Permissions to a User Group of a Domain,Permission Management,API Reference", @@ -1560,7 +1581,7 @@ "uri":"en-us_topic_0057845597.html", "node_id":"en-us_topic_0057845597.xml", "product_code":"iam", - "code":"75", + "code":"76", "des":"This API is used to grant permissions to a user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI formatPUT /v3/proje", "doc_type":"api", "kw":"Granting Permissions to a User Group Corresponding to a Project,Permission Management,API Reference", @@ -1581,7 +1602,7 @@ "uri":"en-us_topic_0057845572.html", "node_id":"en-us_topic_0057845572.xml", "product_code":"iam", - "code":"76", + "code":"77", "des":"This API is used to delete permissions of a user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI formatDELETE /v3/p", "doc_type":"api", "kw":"Deleting Permissions of a User Group Corresponding to a Project,Permission Management,API Reference", @@ -1602,7 +1623,7 @@ "uri":"en-us_topic_0057845560.html", "node_id":"en-us_topic_0057845560.xml", "product_code":"iam", - "code":"77", + "code":"78", "des":"This API is used to delete permissions of a specified user group of a domain. A role is a set of permissions and represents a group of actions.URI formatDELETE /v3/domain", "doc_type":"api", "kw":"Deleting Permissions of a User Group of a Domain,Permission Management,API Reference", @@ -1623,7 +1644,7 @@ "uri":"en-us_topic_0057845632.html", "node_id":"en-us_topic_0057845632.xml", "product_code":"iam", - "code":"78", + "code":"79", "des":"This API is used to query whether a specified user group under a domain has specific permissions. A role is a set of permissions and represents a group of actions.URI for", "doc_type":"api", "kw":"Querying Whether a User Group Under a Domain Has Specific Permissions,Permission Management,API Refe", @@ -1644,7 +1665,7 @@ "uri":"en-us_topic_0057845620.html", "node_id":"en-us_topic_0057845620.xml", "product_code":"iam", - "code":"79", + "code":"80", "des":"This API is used to query whether a user group corresponding to a project has specific permissions. A role is a set of permissions and represents a group of actions.URI f", "doc_type":"api", "kw":"Querying Whether a User Group Corresponding to a Project Has Specific Permissions,Permission Managem", @@ -1665,7 +1686,7 @@ "uri":"iam_02_0519.html", "node_id":"iam_02_0519.xml", "product_code":"iam", - "code":"80", + "code":"81", "des":"This API is used to grant permissions to a user group for all projects.URI formatPUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_pro", "doc_type":"api", "kw":"Granting Permissions to a User Group for All Projects,Permission Management,API Reference", @@ -1686,7 +1707,7 @@ "uri":"iam_10_0013.html", "node_id":"iam_10_0013.xml", "product_code":"iam", - "code":"81", + "code":"82", "des":"This API is provided for the administrator to remove the specified permissions of a user group in all projects.DELETE /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}", "doc_type":"api", "kw":"Removing Specified Permissions of a User Group in All Projects,Permission Management,API Reference", @@ -1707,7 +1728,7 @@ "uri":"iam_10_0012.html", "node_id":"iam_10_0012.xml", "product_code":"iam", - "code":"82", + "code":"83", "des":"This API is provided for the administrator to check whether a user group has specified permissions for all projects.HEAD /v3/OS-INHERIT/domains/{domain_id}/groups/{group_", "doc_type":"api", "kw":"Checking Whether a User Group Has Specified Permissions for All Projects,Permission Management,API R", @@ -1728,7 +1749,7 @@ "uri":"iam_10_0011.html", "node_id":"iam_10_0011.xml", "product_code":"iam", - "code":"83", + "code":"84", "des":"This API is provided for the administrator to query all permissions that have been assigned to a user group.GET /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles", "doc_type":"api", "kw":"Querying All Permissions of a User Group,Permission Management,API Reference", @@ -1749,7 +1770,7 @@ "uri":"iam_02_0010.html", "node_id":"iam_02_0010.xml", "product_code":"iam", - "code":"84", + "code":"85", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Custom Policy Management", @@ -1770,7 +1791,7 @@ "uri":"iam_02_0011.html", "node_id":"iam_02_0011.xml", "product_code":"iam", - "code":"85", + "code":"86", "des":"This API is provided for the administrator to list all custom policies.The API can be called using both the global endpoint and region-specific endpoints.GET /v3.0/OS-ROL", "doc_type":"api", "kw":"Listing Custom Policies,Custom Policy Management,API Reference", @@ -1791,7 +1812,7 @@ "uri":"iam_02_0012.html", "node_id":"iam_02_0012.xml", "product_code":"iam", - "code":"86", + "code":"87", "des":"This API is provided for the administrator to query custom policy details.The API can be called using both the global endpoint and region-specific endpoints.GET /v3.0/OS-", "doc_type":"api", "kw":"Querying Custom Policy Details,Custom Policy Management,API Reference", @@ -1812,7 +1833,7 @@ "uri":"iam_02_0013.html", "node_id":"iam_02_0013.xml", "product_code":"iam", - "code":"87", + "code":"88", "des":"This API is provided for the administrator to create a custom policy for cloud services.The API can be called using both the global endpoint and region-specific endpoints", "doc_type":"api", "kw":"Creating a Custom Policy for Cloud Services,Custom Policy Management,API Reference", @@ -1833,7 +1854,7 @@ "uri":"iam_11_0016.html", "node_id":"iam_11_0016.xml", "product_code":"iam", - "code":"88", + "code":"89", "des":"This API is provided for the administrator to create a custom policy.The API can be called using both the global endpoint and region-specific endpoints.POST /v3.0/OS-ROLE", "doc_type":"api", "kw":"Creating a Custom Policy,Custom Policy Management,API Reference", @@ -1854,7 +1875,7 @@ "uri":"iam_02_0014.html", "node_id":"iam_02_0014.xml", "product_code":"iam", - "code":"89", + "code":"90", "des":"This API is provided for the administrator to modify a custom policy for cloud services.The API can be called using both the global endpoint and region-specific endpoints", "doc_type":"api", "kw":"Modifying a Custom Policy for Cloud Services,Custom Policy Management,API Reference", @@ -1875,7 +1896,7 @@ "uri":"iam_11_0017.html", "node_id":"iam_11_0017.xml", "product_code":"iam", - "code":"90", + "code":"91", "des":"This API is provided for the administrator to modify a custom policy.The API can be called using both the global endpoint and region-specific endpoints.PATCH /v3.0/OS-ROL", "doc_type":"api", "kw":"Modifying a Custom Policy,Custom Policy Management,API Reference", @@ -1896,7 +1917,7 @@ "uri":"iam_02_0015.html", "node_id":"iam_02_0015.xml", "product_code":"iam", - "code":"91", + "code":"92", "des":"This API is provided for the administrator to delete a custom policy.The API can be called using both the global endpoint and region-specific endpoints.DELETE /v3.0/OS-RO", "doc_type":"api", "kw":"Deleting a Custom Policy,Custom Policy Management,API Reference", @@ -1917,7 +1938,7 @@ "uri":"en-us_topic_0079467612.html", "node_id":"en-us_topic_0079467612.xml", "product_code":"iam", - "code":"92", + "code":"93", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Agency Management", @@ -1938,7 +1959,7 @@ "uri":"en-us_topic_0079467617.html", "node_id":"en-us_topic_0079467617.xml", "product_code":"iam", - "code":"93", + "code":"94", "des":"This API is used to create an agency.POST /v3.0/OS-AGENCY/agenciesParameters in the request headerParameterMandatoryTypeDescriptionContent-TypeYesStringapplication/json;c", "doc_type":"api", "kw":"Creating an Agency,Agency Management,API Reference", @@ -1959,7 +1980,7 @@ "uri":"en-us_topic_0079467614.html", "node_id":"en-us_topic_0079467614.xml", "product_code":"iam", - "code":"94", + "code":"95", "des":"This API is used to query an agency list based on the specified conditions.URI formatGET /v3.0/OS-AGENCY/agencies{?domain_id,name,trust_domain_id}GET /v3.0/OS-AGENCY/agen", "doc_type":"api", "kw":"Querying an Agency List Based on the Specified Conditions,Agency Management,API Reference", @@ -1980,7 +2001,7 @@ "uri":"en-us_topic_0079467615.html", "node_id":"en-us_topic_0079467615.xml", "product_code":"iam", - "code":"95", + "code":"96", "des":"This API is used to obtain the details of a specified agency.URI formatGET /v3.0/OS-AGENCY/agencies/{agency_id}GET /v3.0/OS-AGENCY/agencies/{agency_id}URI parametersParam", "doc_type":"api", "kw":"Obtaining Details of a Specified Agency,Agency Management,API Reference", @@ -2001,7 +2022,7 @@ "uri":"en-us_topic_0079467623.html", "node_id":"en-us_topic_0079467623.xml", "product_code":"iam", - "code":"96", + "code":"97", "des":"This API is used to modify agency information, including the trust_domain_id, description, and trust_domain_name parameters.URI formatPUT /v3.0/OS-AGENCY/agencies/{agency", "doc_type":"api", "kw":"Modifying an Agency,Agency Management,API Reference", @@ -2022,7 +2043,7 @@ "uri":"en-us_topic_0079467625.html", "node_id":"en-us_topic_0079467625.xml", "product_code":"iam", - "code":"97", + "code":"98", "des":"This API is used to delete an agency.After this operation, the delegated party can no longer access the relevant resources. Exercise caution when performing this operatio", "doc_type":"api", "kw":"Deleting an Agency,Agency Management,API Reference", @@ -2043,7 +2064,7 @@ "uri":"en-us_topic_0079467620.html", "node_id":"en-us_topic_0079467620.xml", "product_code":"iam", - "code":"98", + "code":"99", "des":"This API is used to grant permissions to an agency for a project.URI formatPUT /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}PUT /v3.0/OS-AGEN", "doc_type":"api", "kw":"Granting Permissions to an Agency for a Project,Agency Management,API Reference", @@ -2064,7 +2085,7 @@ "uri":"en-us_topic_0079578163.html", "node_id":"en-us_topic_0079578163.xml", "product_code":"iam", - "code":"99", + "code":"100", "des":"This API is used to check whether an agency has the specified permissions on a project.URI formatHEAD /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{ro", "doc_type":"api", "kw":"Checking Whether an Agency Has the Specified Permissions on a Project,Agency Management,API Referenc", @@ -2085,7 +2106,7 @@ "uri":"en-us_topic_0079578164.html", "node_id":"en-us_topic_0079578164.xml", "product_code":"iam", - "code":"100", + "code":"101", "des":"This API is used to query the list of permissions of an agency on a project.URI formatGET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/rolesGET /v3.0/OS-AGE", "doc_type":"api", "kw":"Querying the List of Permissions of an Agency on a Project,Agency Management,API Reference", @@ -2106,7 +2127,7 @@ "uri":"en-us_topic_0079467627.html", "node_id":"en-us_topic_0079467627.xml", "product_code":"iam", - "code":"101", + "code":"102", "des":"This API is used to delete permissions of an agency on a project.URI formatDELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}DELETE /v3.0/O", "doc_type":"api", "kw":"Deleting Permissions of an Agency on a Project,Agency Management,API Reference", @@ -2127,7 +2148,7 @@ "uri":"en-us_topic_0079467624.html", "node_id":"en-us_topic_0079467624.xml", "product_code":"iam", - "code":"102", + "code":"103", "des":"This API is used to grant permissions to an agency on a domain.URI formatPUT /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}PUT /v3.0/OS-AGENCY/d", "doc_type":"api", "kw":"Granting Permissions to an Agency on a Domain,Agency Management,API Reference", @@ -2148,7 +2169,7 @@ "uri":"en-us_topic_0079578165.html", "node_id":"en-us_topic_0079578165.xml", "product_code":"iam", - "code":"103", + "code":"104", "des":"This API is used to check whether an agency has the specified permissions on a domain.URI formatHEAD /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_", "doc_type":"api", "kw":"Checking Whether an Agency Has the Specified Permissions on a Domain,Agency Management,API Reference", @@ -2169,7 +2190,7 @@ "uri":"en-us_topic_0079578166.html", "node_id":"en-us_topic_0079578166.xml", "product_code":"iam", - "code":"104", + "code":"105", "des":"This API is used to query the list of permissions of an agency on a domain.URI formatGET /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/rolesGET /v3.0/OS-AGENCY", "doc_type":"api", "kw":"Querying the List of Permissions of an Agency on a Domain,Agency Management,API Reference", @@ -2190,7 +2211,7 @@ "uri":"en-us_topic_0079467622.html", "node_id":"en-us_topic_0079467622.xml", "product_code":"iam", - "code":"105", + "code":"106", "des":"This API is used to delete permissions of an agency on a domain.URI formatDELETE /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}DELETE /v3.0/OS-A", "doc_type":"api", "kw":"Deleting Permissions of an Agency on a Domain,Agency Management,API Reference", @@ -2207,11 +2228,95 @@ "title":"Deleting Permissions of an Agency on a Domain", "githuburl":"" }, + { + "uri":"iam_02_0040.html", + "node_id":"iam_02_0040.xml", + "product_code":"iam", + "code":"107", + "des":"This API is provided for the administrator to query all permissions that have been assigned to an agency.GET /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/rol", + "doc_type":"api", + "kw":"Querying All Permissions of an Agency,Agency Management,API Reference", + "search_title":"", + "metedata":[ + { + "documenttype":"api", + "prodname":"iam", + "opensource":"true", + "Ismulti":"No", + "IsBot":"Yes" + } + ], + "title":"Querying All Permissions of an Agency", + "githuburl":"" + }, + { + "uri":"iam_02_0041.html", + "node_id":"iam_02_0041.xml", + "product_code":"iam", + "code":"108", + "des":"This API is provided for the administrator to grant specified permissions to an agency for all projects.PUT /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/role", + "doc_type":"api", + "kw":"Granting Specified Permissions to an Agency for All Projects,Agency Management,API Reference", + "search_title":"", + "metedata":[ + { + "documenttype":"api", + "prodname":"iam", + "opensource":"true", + "Ismulti":"No", + "IsBot":"Yes" + } + ], + "title":"Granting Specified Permissions to an Agency for All Projects", + "githuburl":"" + }, + { + "uri":"iam_02_0042.html", + "node_id":"iam_02_0042.xml", + "product_code":"iam", + "code":"109", + "des":"This API is provided for the administrator to check whether an agency has specified permissions.HEAD /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role", + "doc_type":"api", + "kw":"Checking Whether an Agency Has Specified Permissions,Agency Management,API Reference", + "search_title":"", + "metedata":[ + { + "documenttype":"api", + "prodname":"iam", + "opensource":"true", + "Ismulti":"No", + "IsBot":"Yes" + } + ], + "title":"Checking Whether an Agency Has Specified Permissions", + "githuburl":"" + }, + { + "uri":"iam_02_0043.html", + "node_id":"iam_02_0043.xml", + "product_code":"iam", + "code":"110", + "des":"This API is provided for the administrator to remove the specified permissions of an agency in all projects.DELETE /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_i", + "doc_type":"api", + "kw":"Removing Specified Permissions of an Agency in All Projects,Agency Management,API Reference", + "search_title":"", + "metedata":[ + { + "documenttype":"api", + "prodname":"iam", + "opensource":"true", + "Ismulti":"No", + "IsBot":"Yes" + } + ], + "title":"Removing Specified Permissions of an Agency in All Projects", + "githuburl":"" + }, { "uri":"iam_02_0020.html", "node_id":"iam_02_0020.xml", "product_code":"iam", - "code":"106", + "code":"111", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Security Settings", @@ -2232,7 +2337,7 @@ "uri":"iam_02_0022.html", "node_id":"iam_02_0022.xml", "product_code":"iam", - "code":"107", + "code":"112", "des":"This API is used to query the operation protection policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policyStatus code: 200The request is successful.Status c", "doc_type":"api", "kw":"Querying the Operation Protection Policy,Security Settings,API Reference", @@ -2253,7 +2358,7 @@ "uri":"iam_02_0021.html", "node_id":"iam_02_0021.xml", "product_code":"iam", - "code":"108", + "code":"113", "des":"This API is provided for the administrator to modify the operation protection policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policyStatus code: 200The req", "doc_type":"api", "kw":"Modifying the Operation Protection Policy,Security Settings,API Reference", @@ -2274,7 +2379,7 @@ "uri":"iam_02_0024.html", "node_id":"iam_02_0024.xml", "product_code":"iam", - "code":"109", + "code":"114", "des":"This API is used to query the password policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policyStatus code: 200The request is successful.Status code: 403Acc", "doc_type":"api", "kw":"Querying the Password Policy,Security Settings,API Reference", @@ -2295,7 +2400,7 @@ "uri":"iam_02_0023.html", "node_id":"iam_02_0023.xml", "product_code":"iam", - "code":"110", + "code":"115", "des":"This API is provided for the administrator to modify the password policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policyStatus code: 200The request is suc", "doc_type":"api", "kw":"Modifying the Password Policy,Security Settings,API Reference", @@ -2316,7 +2421,7 @@ "uri":"iam_02_0026.html", "node_id":"iam_02_0026.xml", "product_code":"iam", - "code":"111", + "code":"116", "des":"This API is used to query the login authentication policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policyStatus code: 200The request is successful.Status cod", "doc_type":"api", "kw":"Querying the Login Authentication Policy,Security Settings,API Reference", @@ -2337,7 +2442,7 @@ "uri":"iam_02_0025.html", "node_id":"iam_02_0025.xml", "product_code":"iam", - "code":"112", + "code":"117", "des":"This API is provided for the administrator to modify the login authentication policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policyStatus code: 200The reque", "doc_type":"api", "kw":"Modifying the Login Authentication Policy,Security Settings,API Reference", @@ -2358,7 +2463,7 @@ "uri":"iam_02_0028.html", "node_id":"iam_02_0028.xml", "product_code":"iam", - "code":"113", + "code":"118", "des":"This API is used to query the ACL for console access.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policyStatus code: 200The request is successful.Status co", "doc_type":"api", "kw":"Querying the ACL for Console Access,Security Settings,API Reference", @@ -2379,7 +2484,7 @@ "uri":"iam_02_0027.html", "node_id":"iam_02_0027.xml", "product_code":"iam", - "code":"114", + "code":"119", "des":"This API is provided for the administrator to modify the ACL for console access.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policyStatus code: 200The requ", "doc_type":"api", "kw":"Modifying the ACL for Console Access,Security Settings,API Reference", @@ -2400,7 +2505,7 @@ "uri":"iam_02_0030.html", "node_id":"iam_02_0030.xml", "product_code":"iam", - "code":"115", + "code":"120", "des":"This API is used to query the ACL for API access.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policyStatus code: 200The request is successful.Status code: 403A", "doc_type":"api", "kw":"Querying the ACL for API Access,Security Settings,API Reference", @@ -2421,7 +2526,7 @@ "uri":"iam_02_0029.html", "node_id":"iam_02_0029.xml", "product_code":"iam", - "code":"116", + "code":"121", "des":"This API is provided for the administrator to modify the ACL for API access.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policyStatus code: 200The request is s", "doc_type":"api", "kw":"Modifying the ACL for API Access,Security Settings,API Reference", @@ -2442,7 +2547,7 @@ "uri":"iam_08_0012.html", "node_id":"iam_08_0012.xml", "product_code":"iam", - "code":"117", + "code":"122", "des":"This API is provided for the administrator to query the MFA device information of users.GET /v3.0/OS-MFA/virtual-mfa-devicesStatus code: 200The request is successful.Stat", "doc_type":"api", "kw":"Querying MFA Device Information of Users,Security Settings,API Reference", @@ -2463,7 +2568,7 @@ "uri":"iam_08_0013.html", "node_id":"iam_08_0013.xml", "product_code":"iam", - "code":"118", + "code":"123", "des":"This API can be used by the administrator to query the MFA device information of a specified user or used by a user to query their MFA device information.GET /v3.0/OS-MFA", "doc_type":"api", "kw":"Querying the MFA Device Information of a User,Security Settings,API Reference", @@ -2484,7 +2589,7 @@ "uri":"iam_08_0014.html", "node_id":"iam_08_0014.xml", "product_code":"iam", - "code":"119", + "code":"124", "des":"This API is provided for the administrator to query the login protection configurations of users.GET /v3.0/OS-USER/login-protectsStatus code: 200The request is successful", "doc_type":"api", "kw":"Querying Login Protection Configurations of Users,Security Settings,API Reference", @@ -2505,7 +2610,7 @@ "uri":"iam_08_0016.html", "node_id":"iam_08_0016.xml", "product_code":"iam", - "code":"120", + "code":"125", "des":"This API can be used by the administrator to query the login protection configuration of a specified user or used by a user to query their login protection configuration.", "doc_type":"api", "kw":"Querying the Login Protection Configuration of a User,Security Settings,API Reference", @@ -2526,7 +2631,7 @@ "uri":"iam_08_0021.html", "node_id":"iam_08_0021.xml", "product_code":"iam", - "code":"121", + "code":"126", "des":"This API is provided for the administrator to modify the login protection configuration of a user.PUT /v3.0/OS-USER/users/{user_id}/login-protectStatus code: 200Status co", "doc_type":"api", "kw":"Modifying the Login Protection Configuration of a User,Security Settings,API Reference", @@ -2547,7 +2652,7 @@ "uri":"iam_08_0017.html", "node_id":"iam_08_0017.xml", "product_code":"iam", - "code":"122", + "code":"127", "des":"This API is provided for IAM users to bind a virtual MFA device.PUT /v3.0/OS-MFA/mfa-devices/bindNoneNone", "doc_type":"api", "kw":"Binding a Virtual MFA Device,Security Settings,API Reference", @@ -2568,7 +2673,7 @@ "uri":"iam_08_0018.html", "node_id":"iam_08_0018.xml", "product_code":"iam", - "code":"123", + "code":"128", "des":"This API is used by the administrator to unbind a virtual MFA device from an IAM user, or used by an IAM user to unbind their own virtual MFA device.PUT /v3.0/OS-MFA/mfa-", "doc_type":"api", "kw":"Unbinding a Virtual MFA Device,Security Settings,API Reference", @@ -2589,7 +2694,7 @@ "uri":"iam_08_0019.html", "node_id":"iam_08_0019.xml", "product_code":"iam", - "code":"124", + "code":"129", "des":"This API is provided for IAM users to create a virtual MFA device.POST /v3.0/OS-MFA/virtual-mfa-devicesStatus code: 201Status code: 201The request is successful.", "doc_type":"api", "kw":"Creating a Virtual MFA Device,Security Settings,API Reference", @@ -2610,7 +2715,7 @@ "uri":"iam_08_0020.html", "node_id":"iam_08_0020.xml", "product_code":"iam", - "code":"125", + "code":"130", "des":"This API is provided for the administrator to delete their own virtual MFA device.DELETE /v3.0/OS-MFA/virtual-mfa-devicesNoneNone", "doc_type":"api", "kw":"Deleting a Virtual MFA Device,Security Settings,API Reference", @@ -2631,7 +2736,7 @@ "uri":"en-us_topic_0057845573.html", "node_id":"en-us_topic_0057845573.xml", "product_code":"iam", - "code":"126", + "code":"131", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Federated Identity Authentication Management", @@ -2652,7 +2757,7 @@ "uri":"en-us_topic_0057845646.html", "node_id":"en-us_topic_0057845646.xml", "product_code":"iam", - "code":"127", + "code":"132", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Obtaining a Token in Federated Identity Authentication Mode", @@ -2673,7 +2778,7 @@ "uri":"iam_02_0001.html", "node_id":"iam_02_0001.xml", "product_code":"iam", - "code":"128", + "code":"133", "des":"OpenStack and Shibboleth are widely used open-source federated identity authentication solutions. They provide powerful SSO capabilities and connect users to various appl", "doc_type":"api", "kw":"SP Initiated,Obtaining a Token in Federated Identity Authentication Mode,API Reference", @@ -2694,7 +2799,7 @@ "uri":"iam_02_0002.html", "node_id":"iam_02_0002.xml", "product_code":"iam", - "code":"129", + "code":"134", "des":"This section uses the Client4ShibbolethIdP script as an example to describe how to obtain a federated authentication token in the IdP-initiated mode. The Client4Shibbolet", "doc_type":"api", "kw":"IdP Initiated,Obtaining a Token in Federated Identity Authentication Mode,API Reference", @@ -2715,7 +2820,7 @@ "uri":"en-us_topic_0057845605.html", "node_id":"en-us_topic_0057845605.xml", "product_code":"iam", - "code":"130", + "code":"135", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Identity Provider", @@ -2736,7 +2841,7 @@ "uri":"en-us_topic_0057845581.html", "node_id":"en-us_topic_0057845581.xml", "product_code":"iam", - "code":"131", + "code":"136", "des":"This API is used to query the identity provider list.GET /v3/OS-FEDERATION/identity_providersParameters in the request headerParameterMandatoryTypeDescriptionContent-Type", "doc_type":"api", "kw":"Querying the Identity Provider List,Identity Provider,API Reference", @@ -2757,7 +2862,7 @@ "uri":"en-us_topic_0057845639.html", "node_id":"en-us_topic_0057845639.xml", "product_code":"iam", - "code":"132", + "code":"137", "des":"This API is used to query the information about an identity provider.URI formatGET /v3/OS-FEDERATION/identity_providers/{id}GET /v3/OS-FEDERATION/identity_providers/{id}U", "doc_type":"api", "kw":"Querying an Identity Provider,Identity Provider,API Reference", @@ -2778,7 +2883,7 @@ "uri":"en-us_topic_0057845606.html", "node_id":"en-us_topic_0057845606.xml", "product_code":"iam", - "code":"133", + "code":"138", "des":"This API is provided for the administrator to create an identity provider.URI formatPUT /v3/OS-FEDERATION/identity_providers/{id}PUT /v3/OS-FEDERATION/identity_providers/", "doc_type":"api", "kw":"Creating an Identity Provider,Identity Provider,API Reference", @@ -2799,7 +2904,7 @@ "uri":"iam_13_0207.html", "node_id":"iam_13_0207.xml", "product_code":"iam", - "code":"134", + "code":"139", "des":"This API is provided for the administrator to create an OpenID Connect identity provider.POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus ", "doc_type":"api", "kw":"Creating an OpenID Connect Identity Provider,Identity Provider,API Reference", @@ -2820,7 +2925,7 @@ "uri":"en-us_topic_0057845612.html", "node_id":"en-us_topic_0057845612.xml", "product_code":"iam", - "code":"135", + "code":"140", "des":"This API is used to update the information about a SAML identity provider.URI formatPATCH /v3/OS-FEDERATION/identity_providers/{id}PATCH /v3/OS-FEDERATION/identity_provid", "doc_type":"api", "kw":"Updating a SAML Identity Provider,Identity Provider,API Reference", @@ -2841,7 +2946,7 @@ "uri":"iam_13_0208.html", "node_id":"iam_13_0208.xml", "product_code":"iam", - "code":"136", + "code":"141", "des":"This API is provided for the administrator to modify an OpenID Connect identity provider.PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus c", "doc_type":"api", "kw":"Updating an OpenID Connect Identity Provider,Identity Provider,API Reference", @@ -2862,7 +2967,7 @@ "uri":"iam_13_0209.html", "node_id":"iam_13_0209.xml", "product_code":"iam", - "code":"137", + "code":"142", "des":"This API is provided for the administrator to query an OpenID Connect identity provider.GET /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus co", "doc_type":"api", "kw":"Querying an OpenID Connect Identity Provider,Identity Provider,API Reference", @@ -2883,7 +2988,7 @@ "uri":"en-us_topic_0057845570.html", "node_id":"en-us_topic_0057845570.xml", "product_code":"iam", - "code":"138", + "code":"143", "des":"This API is used to delete a SAML or OpenID Connect identity provider.URI formatDELETE /v3/OS-FEDERATION/identity_providers/{id}DELETE /v3/OS-FEDERATION/identity_provider", "doc_type":"api", "kw":"Deleting an Identity Provider,Identity Provider,API Reference", @@ -2904,7 +3009,7 @@ "uri":"en-us_topic_0057845588.html", "node_id":"en-us_topic_0057845588.xml", "product_code":"iam", - "code":"139", + "code":"144", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Mapping", @@ -2925,7 +3030,7 @@ "uri":"en-us_topic_0057845567.html", "node_id":"en-us_topic_0057845567.xml", "product_code":"iam", - "code":"140", + "code":"145", "des":"This API is used to query the mapping list.GET /v3/OS-FEDERATION/mappingsParameters in the request headerParameterMandatoryTypeDescriptionContent-TypeYesStringFill applic", "doc_type":"api", "kw":"Querying the Mapping List,Mapping,API Reference", @@ -2946,7 +3051,7 @@ "uri":"en-us_topic_0057845645.html", "node_id":"en-us_topic_0057845645.xml", "product_code":"iam", - "code":"141", + "code":"146", "des":"This API is used to query the information about a mapping.URI formatGET /v3/OS-FEDERATION/mappings/{id}GET /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMandatory", "doc_type":"api", "kw":"Querying a Mapping,Mapping,API Reference", @@ -2967,7 +3072,7 @@ "uri":"en-us_topic_0057845590.html", "node_id":"en-us_topic_0057845590.xml", "product_code":"iam", - "code":"142", + "code":"147", "des":"This API is used to create a mapping.URI formatPUT /v3/OS-FEDERATION/mappings/{id}PUT /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMandatoryTypeDescriptionidYesS", "doc_type":"api", "kw":"Creating a Mapping,Mapping,API Reference", @@ -2988,7 +3093,7 @@ "uri":"en-us_topic_0057845568.html", "node_id":"en-us_topic_0057845568.xml", "product_code":"iam", - "code":"143", + "code":"148", "des":"This API is used to update the information about a mapping.URI formatPATCH /v3/OS-FEDERATION/mappings/{id}PATCH /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMand", "doc_type":"api", "kw":"Updating a Mapping,Mapping,API Reference", @@ -3009,7 +3114,7 @@ "uri":"en-us_topic_0057845648.html", "node_id":"en-us_topic_0057845648.xml", "product_code":"iam", - "code":"144", + "code":"149", "des":"This API is used to delete the information about a mapping.URI formatDELETE /v3/OS-FEDERATION/mappings/{id}DELETE /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMa", "doc_type":"api", "kw":"Deleting a Mapping,Mapping,API Reference", @@ -3030,7 +3135,7 @@ "uri":"en-us_topic_0057845619.html", "node_id":"en-us_topic_0057845619.xml", "product_code":"iam", - "code":"145", + "code":"150", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Protocol", @@ -3051,7 +3156,7 @@ "uri":"en-us_topic_0057845644.html", "node_id":"en-us_topic_0057845644.xml", "product_code":"iam", - "code":"146", + "code":"151", "des":"This API is used to query the protocol list.URI formatGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocolsGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protoco", "doc_type":"api", "kw":"Querying the Protocol List,Protocol,API Reference", @@ -3072,7 +3177,7 @@ "uri":"en-us_topic_0057845616.html", "node_id":"en-us_topic_0057845616.xml", "product_code":"iam", - "code":"147", + "code":"152", "des":"This API is used to query the information about a protocol.URI formatGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}GET /v3/OS-FEDERATION/identi", "doc_type":"api", "kw":"Querying a Protocol,Protocol,API Reference", @@ -3093,7 +3198,7 @@ "uri":"en-us_topic_0057845575.html", "node_id":"en-us_topic_0057845575.xml", "product_code":"iam", - "code":"148", + "code":"153", "des":"This API is used to register a protocol, that is, associate a rule with an identity provider.URI formatPUT /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protoc", "doc_type":"api", "kw":"Registering a Protocol,Protocol,API Reference", @@ -3114,7 +3219,7 @@ "uri":"en-us_topic_0057845609.html", "node_id":"en-us_topic_0057845609.xml", "product_code":"iam", - "code":"149", + "code":"154", "des":"This API is used to update the information about a protocol.URI formatPATCH /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}PATCH /v3/OS-FEDERATION/i", "doc_type":"api", "kw":"Updating a Protocol,Protocol,API Reference", @@ -3135,7 +3240,7 @@ "uri":"en-us_topic_0057845559.html", "node_id":"en-us_topic_0057845559.xml", "product_code":"iam", - "code":"150", + "code":"155", "des":"This API is used to delete the information about a protocol.URI formatDELETE /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}DELETE /v3/OS-FEDERATION", "doc_type":"api", "kw":"Deleting a Protocol,Protocol,API Reference", @@ -3156,7 +3261,7 @@ "uri":"en-us_topic_0057845607.html", "node_id":"en-us_topic_0057845607.xml", "product_code":"iam", - "code":"151", + "code":"156", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Metadata", @@ -3177,7 +3282,7 @@ "uri":"en-us_topic_0057845553.html", "node_id":"en-us_topic_0057845553.xml", "product_code":"iam", - "code":"152", + "code":"157", "des":"This API is used to query the content of the metadata file imported by an identity provider to the IAM system.URI formatGET /v3-ext/OS-FEDERATION/identity_providers/{idp_", "doc_type":"api", "kw":"Querying a Metadata File,Metadata,API Reference", @@ -3198,7 +3303,7 @@ "uri":"en-us_topic_0057845577.html", "node_id":"en-us_topic_0057845577.xml", "product_code":"iam", - "code":"153", + "code":"158", "des":"This API is used to query the metadata file of the keystone.GET /v3-ext/auth/OS-FEDERATION/SSO/metadataParameters in the request headerParameterMandatoryTypeDescriptionun", "doc_type":"api", "kw":"Querying the Metadata File of Keystone,Metadata,API Reference", @@ -3219,7 +3324,7 @@ "uri":"en-us_topic_0057845615.html", "node_id":"en-us_topic_0057845615.xml", "product_code":"iam", - "code":"154", + "code":"159", "des":"Before using the federated identity authentication function, a metadata file must be imported to the IAM system. This API is used to import a metadata file of a domain.UR", "doc_type":"api", "kw":"Importing a Metadata File,Metadata,API Reference", @@ -3240,7 +3345,7 @@ "uri":"en-us_topic_0057845565.html", "node_id":"en-us_topic_0057845565.xml", "product_code":"iam", - "code":"155", + "code":"160", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Token", @@ -3261,7 +3366,7 @@ "uri":"en-us_topic_0057845629.html", "node_id":"en-us_topic_0057845629.xml", "product_code":"iam", - "code":"156", + "code":"161", "des":"This API is used to obtain an unscoped token in SP-initiated federated identity authentication mode.An unscoped token cannot be used for authentication. If a federated us", "doc_type":"api", "kw":"Obtaining an Unscoped Token (SP Initiated),Token,API Reference", @@ -3282,7 +3387,7 @@ "uri":"iam_02_0003.html", "node_id":"iam_02_0003.xml", "product_code":"iam", - "code":"157", + "code":"162", "des":"This API is used to obtain an unscoped token in IdP-initiated federated identity authentication mode.An unscoped token cannot be used for authentication. If a federated u", "doc_type":"api", "kw":"Obtaining an Unscoped Token (IdP Initiated),Token,API Reference", @@ -3303,7 +3408,7 @@ "uri":"iam_13_0604.html", "node_id":"iam_13_0604.xml", "product_code":"iam", - "code":"158", + "code":"163", "des":"This API is used to obtain a scoped token through federated identity authentication.POST /v3/auth/tokensStatus code: 201The scoped token is obtained successfully.None", "doc_type":"api", "kw":"Obtaining a Scoped Token,Token,API Reference", @@ -3324,7 +3429,7 @@ "uri":"iam_13_0605.html", "node_id":"iam_13_0605.xml", "product_code":"iam", - "code":"159", + "code":"164", "des":"This API is used to obtain a federated identity authentication token using an OpenID Connect ID token.POST /v3.0/OS-AUTH/id-token/tokensStatus code: 201Request for obtain", "doc_type":"api", "kw":"Obtaining a Token with an OpenID Connect ID Token,Token,API Reference", @@ -3345,7 +3450,7 @@ "uri":"iam_13_0606.html", "node_id":"iam_13_0606.xml", "product_code":"iam", - "code":"160", + "code":"165", "des":"This API is used to obtain an unscoped token using an OpenID Connect ID token.POST /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/authStatus code: ", "doc_type":"api", "kw":"Obtaining an Unscoped Token with an OpenID Connect ID Token,Token,API Reference", @@ -3366,7 +3471,7 @@ "uri":"en-us_topic_0057845633.html", "node_id":"en-us_topic_0057845633.xml", "product_code":"iam", - "code":"161", + "code":"166", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Domain", @@ -3387,7 +3492,7 @@ "uri":"en-us_topic_0057845596.html", "node_id":"en-us_topic_0057845596.xml", "product_code":"iam", - "code":"162", + "code":"167", "des":"This API is used to query the list of domains accessible to federated users.GET /v3/OS-FEDERATION/domainsParameters in the request headerParameterMandatoryTypeDescription", "doc_type":"api", "kw":"Querying the List of Domains Accessible to Federated Users,Domain,API Reference", @@ -3408,7 +3513,7 @@ "uri":"en-us_topic_0057845643.html", "node_id":"en-us_topic_0057845643.xml", "product_code":"iam", - "code":"163", + "code":"168", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Project", @@ -3429,7 +3534,7 @@ "uri":"en-us_topic_0057845595.html", "node_id":"en-us_topic_0057845595.xml", "product_code":"iam", - "code":"164", + "code":"169", "des":"This API is used to query the list of projects accessible to federated users. The project list is used to obtain the scoped token in federated identity authentication mod", "doc_type":"api", "kw":"Querying the List of Projects Accessible to Federated Users,Project,API Reference", @@ -3450,7 +3555,7 @@ "uri":"en-us_topic_0057845631.html", "node_id":"en-us_topic_0057845631.xml", "product_code":"iam", - "code":"165", + "code":"170", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Version Information Management", @@ -3471,7 +3576,7 @@ "uri":"en-us_topic_0057845569.html", "node_id":"en-us_topic_0057845569.xml", "product_code":"iam", - "code":"166", + "code":"171", "des":"This API is used to obtain the keystone API version information.GET /Example requestResponse parameter descriptionParameterMandatoryTypeDescriptionversionsYesObjectKeysto", "doc_type":"api", "kw":"Querying Keystone API Version Information,Version Information Management,API Reference", @@ -3492,7 +3597,7 @@ "uri":"en-us_topic_0057845613.html", "node_id":"en-us_topic_0057845613.xml", "product_code":"iam", - "code":"167", + "code":"172", "des":"This API is used to obtain the information about the keystone API version 3.0.GET /v3Example requestcurl -i -k -X GET https://sample.domain.com/v3Response parameter descr", "doc_type":"api", "kw":"Querying Information About Keystone API Version 3.0,Version Information Management,API Reference", @@ -3513,7 +3618,7 @@ "uri":"en-us_topic_0057845604.html", "node_id":"en-us_topic_0057845604.xml", "product_code":"iam", - "code":"168", + "code":"173", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Services and Endpoints", @@ -3534,7 +3639,7 @@ "uri":"en-us_topic_0057845587.html", "node_id":"en-us_topic_0057845587.xml", "product_code":"iam", - "code":"169", + "code":"174", "des":"This API is used to query the service list.URI formatGET /v3/services{?type}GET /v3/services{?type}URI parametersParameterMandatoryTypeDescriptiontypeNoStringService type", "doc_type":"api", "kw":"Querying Services,Services and Endpoints,API Reference", @@ -3555,7 +3660,7 @@ "uri":"en-us_topic_0067148045.html", "node_id":"en-us_topic_0067148045.xml", "product_code":"iam", - "code":"170", + "code":"175", "des":"This API is used to query service details.URI formatGET /v3/services/{service_id}GET /v3/services/{service_id}URI parametersParameterMandatoryTypeDescriptionservice_idYes", "doc_type":"api", "kw":"Querying Service Details,Services and Endpoints,API Reference", @@ -3576,7 +3681,7 @@ "uri":"en-us_topic_0057845562.html", "node_id":"en-us_topic_0057845562.xml", "product_code":"iam", - "code":"171", + "code":"176", "des":"This API is used to query the list of terminal addresses and provides a service access entry.URI formatGET /v3/endpoints{?interface, service_id}GET /v3/endpoints{?interfa", "doc_type":"api", "kw":"Querying Endpoints,Services and Endpoints,API Reference", @@ -3597,7 +3702,7 @@ "uri":"en-us_topic_0067148046.html", "node_id":"en-us_topic_0067148046.xml", "product_code":"iam", - "code":"172", + "code":"177", "des":"This API is used to query endpoint details.URI formatGET /v3/endpoints/{endpoint_id}GET /v3/endpoints/{endpoint_id}URI parametersParameterMandatoryTypeDescriptionendpoint", "doc_type":"api", "kw":"Querying Endpoint Details,Services and Endpoints,API Reference", @@ -3618,7 +3723,7 @@ "uri":"iam_02_0004.html", "node_id":"iam_02_0004.xml", "product_code":"iam", - "code":"173", + "code":"178", "des":"This API is used to query the service catalog corresponding to X-Auth-Token contained in the request.GET /v3/auth/catalogParameters in the request headerParameterMandator", "doc_type":"api", "kw":"Querying the Service Catalog,Services and Endpoints,API Reference", @@ -3639,7 +3744,7 @@ "uri":"iam_19_0004.html", "node_id":"iam_19_0004.xml", "product_code":"iam", - "code":"174", + "code":"179", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Permissions Policies and Supported Actions", @@ -3660,7 +3765,7 @@ "uri":"iam_19_0003.html", "node_id":"iam_19_0003.xml", "product_code":"iam", - "code":"175", + "code":"180", "des":"By default, new users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies to these groups. Users inherit permi", "doc_type":"api", "kw":"Introduction,Permissions Policies and Supported Actions,API Reference", @@ -3681,7 +3786,7 @@ "uri":"iam_02_0046.html", "node_id":"iam_02_0046.xml", "product_code":"iam", - "code":"176", + "code":"181", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Action List,Permissions Policies and Supported Actions,API Reference", @@ -3702,7 +3807,7 @@ "uri":"iam_02_0512.html", "node_id":"iam_02_0512.xml", "product_code":"iam", - "code":"177", + "code":"182", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Appendix", @@ -3723,7 +3828,7 @@ "uri":"iam_02_0005.html", "node_id":"iam_02_0005.xml", "product_code":"iam", - "code":"178", + "code":"183", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Status Codes,Appendix,API Reference", @@ -3744,7 +3849,7 @@ "uri":"iam_02_0006.html", "node_id":"iam_02_0006.xml", "product_code":"iam", - "code":"179", + "code":"184", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Error Codes,Appendix,API Reference", @@ -3765,8 +3870,8 @@ "uri":"en-us_topic_0057845624.html", "node_id":"en-us_topic_0057845624.xml", "product_code":"iam", - "code":"180", - "des":"Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URL and request body for calling certain APIs. Obtain these par", + "code":"185", + "des":"Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URI and request body for calling certain APIs. Obtain these par", "doc_type":"api", "kw":"Obtaining User, Account, User Group, Project, and Agency Information,Appendix,API Reference", "search_title":"", @@ -3786,7 +3891,7 @@ "uri":"en-us_topic_0057845564.html", "node_id":"en-us_topic_0057845564.xml", "product_code":"iam", - "code":"181", + "code":"186", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"api", "kw":"Change History,API Reference", diff --git a/docs/iam/api-ref/CLASS.TXT.json b/docs/iam/api-ref/CLASS.TXT.json index f8ce2df0..aa20c886 100644 --- a/docs/iam/api-ref/CLASS.TXT.json +++ b/docs/iam/api-ref/CLASS.TXT.json @@ -629,6 +629,15 @@ "p_code":"68", "code":"70" }, + { + "desc":"This API is used to query permission assignment records of a specified account.GET /v3.0/OS-PERMISSION/role-assignmentsStatus code: 200The request is successful.{\n \"ro", + "product_code":"iam", + "title":"Querying Permission Assignment Records", + "uri":"en-us_topic_0000001362626928.html", + "doc_type":"api", + "p_code":"68", + "code":"71" + }, { "desc":"This API is used to query the user groups to which a specified role has been assigned.URI formatGET /v3/role_assignments{?role.id,user.id,group.id,scope.project.id,scope.", "product_code":"iam", @@ -636,7 +645,7 @@ "uri":"iam_11_0003.html", "doc_type":"api", "p_code":"68", - "code":"71" + "code":"72" }, { "desc":"This API is used to query the permissions of a user group under a domain. A role is a set of permissions and represents a group of actions.URI formatGET /v3/domains/{doma", @@ -645,7 +654,7 @@ "uri":"en-us_topic_0057845571.html", "doc_type":"api", "p_code":"68", - "code":"72" + "code":"73" }, { "desc":"This API is used to query the permissions of a specified user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI forma", @@ -654,7 +663,7 @@ "uri":"en-us_topic_0057845640.html", "doc_type":"api", "p_code":"68", - "code":"73" + "code":"74" }, { "desc":"This API is used to grant permissions to a user group of a domain. A role is a set of permissions and represents a group of actions.URI formatPUT /v3/domains/{domain_id}/", @@ -663,7 +672,7 @@ "uri":"en-us_topic_0057845623.html", "doc_type":"api", "p_code":"68", - "code":"74" + "code":"75" }, { "desc":"This API is used to grant permissions to a user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI formatPUT /v3/proje", @@ -672,7 +681,7 @@ "uri":"en-us_topic_0057845597.html", "doc_type":"api", "p_code":"68", - "code":"75" + "code":"76" }, { "desc":"This API is used to delete permissions of a user group corresponding to a project. A role is a set of permissions and represents a group of actions.URI formatDELETE /v3/p", @@ -681,7 +690,7 @@ "uri":"en-us_topic_0057845572.html", "doc_type":"api", "p_code":"68", - "code":"76" + "code":"77" }, { "desc":"This API is used to delete permissions of a specified user group of a domain. A role is a set of permissions and represents a group of actions.URI formatDELETE /v3/domain", @@ -690,7 +699,7 @@ "uri":"en-us_topic_0057845560.html", "doc_type":"api", "p_code":"68", - "code":"77" + "code":"78" }, { "desc":"This API is used to query whether a specified user group under a domain has specific permissions. A role is a set of permissions and represents a group of actions.URI for", @@ -699,7 +708,7 @@ "uri":"en-us_topic_0057845632.html", "doc_type":"api", "p_code":"68", - "code":"78" + "code":"79" }, { "desc":"This API is used to query whether a user group corresponding to a project has specific permissions. A role is a set of permissions and represents a group of actions.URI f", @@ -708,7 +717,7 @@ "uri":"en-us_topic_0057845620.html", "doc_type":"api", "p_code":"68", - "code":"79" + "code":"80" }, { "desc":"This API is used to grant permissions to a user group for all projects.URI formatPUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_pro", @@ -717,7 +726,7 @@ "uri":"iam_02_0519.html", "doc_type":"api", "p_code":"68", - "code":"80" + "code":"81" }, { "desc":"This API is provided for the administrator to remove the specified permissions of a user group in all projects.DELETE /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}", @@ -726,7 +735,7 @@ "uri":"iam_10_0013.html", "doc_type":"api", "p_code":"68", - "code":"81" + "code":"82" }, { "desc":"This API is provided for the administrator to check whether a user group has specified permissions for all projects.HEAD /v3/OS-INHERIT/domains/{domain_id}/groups/{group_", @@ -735,7 +744,7 @@ "uri":"iam_10_0012.html", "doc_type":"api", "p_code":"68", - "code":"82" + "code":"83" }, { "desc":"This API is provided for the administrator to query all permissions that have been assigned to a user group.GET /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles", @@ -744,7 +753,7 @@ "uri":"iam_10_0011.html", "doc_type":"api", "p_code":"68", - "code":"83" + "code":"84" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -753,7 +762,7 @@ "uri":"iam_02_0010.html", "doc_type":"api", "p_code":"13", - "code":"84" + "code":"85" }, { "desc":"This API is provided for the administrator to list all custom policies.The API can be called using both the global endpoint and region-specific endpoints.GET /v3.0/OS-ROL", @@ -761,8 +770,8 @@ "title":"Listing Custom Policies", "uri":"iam_02_0011.html", "doc_type":"api", - "p_code":"84", - "code":"85" + "p_code":"85", + "code":"86" }, { "desc":"This API is provided for the administrator to query custom policy details.The API can be called using both the global endpoint and region-specific endpoints.GET /v3.0/OS-", @@ -770,8 +779,8 @@ "title":"Querying Custom Policy Details", "uri":"iam_02_0012.html", "doc_type":"api", - "p_code":"84", - "code":"86" + "p_code":"85", + "code":"87" }, { "desc":"This API is provided for the administrator to create a custom policy for cloud services.The API can be called using both the global endpoint and region-specific endpoints", @@ -779,8 +788,8 @@ "title":"Creating a Custom Policy for Cloud Services", "uri":"iam_02_0013.html", "doc_type":"api", - "p_code":"84", - "code":"87" + "p_code":"85", + "code":"88" }, { "desc":"This API is provided for the administrator to create a custom policy.The API can be called using both the global endpoint and region-specific endpoints.POST /v3.0/OS-ROLE", @@ -788,8 +797,8 @@ "title":"Creating a Custom Policy", "uri":"iam_11_0016.html", "doc_type":"api", - "p_code":"84", - "code":"88" + "p_code":"85", + "code":"89" }, { "desc":"This API is provided for the administrator to modify a custom policy for cloud services.The API can be called using both the global endpoint and region-specific endpoints", @@ -797,8 +806,8 @@ "title":"Modifying a Custom Policy for Cloud Services", "uri":"iam_02_0014.html", "doc_type":"api", - "p_code":"84", - "code":"89" + "p_code":"85", + "code":"90" }, { "desc":"This API is provided for the administrator to modify a custom policy.The API can be called using both the global endpoint and region-specific endpoints.PATCH /v3.0/OS-ROL", @@ -806,8 +815,8 @@ "title":"Modifying a Custom Policy", "uri":"iam_11_0017.html", "doc_type":"api", - "p_code":"84", - "code":"90" + "p_code":"85", + "code":"91" }, { "desc":"This API is provided for the administrator to delete a custom policy.The API can be called using both the global endpoint and region-specific endpoints.DELETE /v3.0/OS-RO", @@ -815,8 +824,8 @@ "title":"Deleting a Custom Policy", "uri":"iam_02_0015.html", "doc_type":"api", - "p_code":"84", - "code":"91" + "p_code":"85", + "code":"92" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -825,7 +834,7 @@ "uri":"en-us_topic_0079467612.html", "doc_type":"api", "p_code":"13", - "code":"92" + "code":"93" }, { "desc":"This API is used to create an agency.POST /v3.0/OS-AGENCY/agenciesParameters in the request headerParameterMandatoryTypeDescriptionContent-TypeYesStringapplication/json;c", @@ -833,8 +842,8 @@ "title":"Creating an Agency", "uri":"en-us_topic_0079467617.html", "doc_type":"api", - "p_code":"92", - "code":"93" + "p_code":"93", + "code":"94" }, { "desc":"This API is used to query an agency list based on the specified conditions.URI formatGET /v3.0/OS-AGENCY/agencies{?domain_id,name,trust_domain_id}GET /v3.0/OS-AGENCY/agen", @@ -842,8 +851,8 @@ "title":"Querying an Agency List Based on the Specified Conditions", "uri":"en-us_topic_0079467614.html", "doc_type":"api", - "p_code":"92", - "code":"94" + "p_code":"93", + "code":"95" }, { "desc":"This API is used to obtain the details of a specified agency.URI formatGET /v3.0/OS-AGENCY/agencies/{agency_id}GET /v3.0/OS-AGENCY/agencies/{agency_id}URI parametersParam", @@ -851,8 +860,8 @@ "title":"Obtaining Details of a Specified Agency", "uri":"en-us_topic_0079467615.html", "doc_type":"api", - "p_code":"92", - "code":"95" + "p_code":"93", + "code":"96" }, { "desc":"This API is used to modify agency information, including the trust_domain_id, description, and trust_domain_name parameters.URI formatPUT /v3.0/OS-AGENCY/agencies/{agency", @@ -860,8 +869,8 @@ "title":"Modifying an Agency", "uri":"en-us_topic_0079467623.html", "doc_type":"api", - "p_code":"92", - "code":"96" + "p_code":"93", + "code":"97" }, { "desc":"This API is used to delete an agency.After this operation, the delegated party can no longer access the relevant resources. Exercise caution when performing this operatio", @@ -869,8 +878,8 @@ "title":"Deleting an Agency", "uri":"en-us_topic_0079467625.html", "doc_type":"api", - "p_code":"92", - "code":"97" + "p_code":"93", + "code":"98" }, { "desc":"This API is used to grant permissions to an agency for a project.URI formatPUT /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}PUT /v3.0/OS-AGEN", @@ -878,8 +887,8 @@ "title":"Granting Permissions to an Agency for a Project", "uri":"en-us_topic_0079467620.html", "doc_type":"api", - "p_code":"92", - "code":"98" + "p_code":"93", + "code":"99" }, { "desc":"This API is used to check whether an agency has the specified permissions on a project.URI formatHEAD /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{ro", @@ -887,8 +896,8 @@ "title":"Checking Whether an Agency Has the Specified Permissions on a Project", "uri":"en-us_topic_0079578163.html", "doc_type":"api", - "p_code":"92", - "code":"99" + "p_code":"93", + "code":"100" }, { "desc":"This API is used to query the list of permissions of an agency on a project.URI formatGET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/rolesGET /v3.0/OS-AGE", @@ -896,8 +905,8 @@ "title":"Querying the List of Permissions of an Agency on a Project", "uri":"en-us_topic_0079578164.html", "doc_type":"api", - "p_code":"92", - "code":"100" + "p_code":"93", + "code":"101" }, { "desc":"This API is used to delete permissions of an agency on a project.URI formatDELETE /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}DELETE /v3.0/O", @@ -905,8 +914,8 @@ "title":"Deleting Permissions of an Agency on a Project", "uri":"en-us_topic_0079467627.html", "doc_type":"api", - "p_code":"92", - "code":"101" + "p_code":"93", + "code":"102" }, { "desc":"This API is used to grant permissions to an agency on a domain.URI formatPUT /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}PUT /v3.0/OS-AGENCY/d", @@ -914,8 +923,8 @@ "title":"Granting Permissions to an Agency on a Domain", "uri":"en-us_topic_0079467624.html", "doc_type":"api", - "p_code":"92", - "code":"102" + "p_code":"93", + "code":"103" }, { "desc":"This API is used to check whether an agency has the specified permissions on a domain.URI formatHEAD /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_", @@ -923,8 +932,8 @@ "title":"Checking Whether an Agency Has the Specified Permissions on a Domain", "uri":"en-us_topic_0079578165.html", "doc_type":"api", - "p_code":"92", - "code":"103" + "p_code":"93", + "code":"104" }, { "desc":"This API is used to query the list of permissions of an agency on a domain.URI formatGET /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/rolesGET /v3.0/OS-AGENCY", @@ -932,8 +941,8 @@ "title":"Querying the List of Permissions of an Agency on a Domain", "uri":"en-us_topic_0079578166.html", "doc_type":"api", - "p_code":"92", - "code":"104" + "p_code":"93", + "code":"105" }, { "desc":"This API is used to delete permissions of an agency on a domain.URI formatDELETE /v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}DELETE /v3.0/OS-A", @@ -941,8 +950,44 @@ "title":"Deleting Permissions of an Agency on a Domain", "uri":"en-us_topic_0079467622.html", "doc_type":"api", - "p_code":"92", - "code":"105" + "p_code":"93", + "code":"106" + }, + { + "desc":"This API is provided for the administrator to query all permissions that have been assigned to an agency.GET /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/rol", + "product_code":"iam", + "title":"Querying All Permissions of an Agency", + "uri":"iam_02_0040.html", + "doc_type":"api", + "p_code":"93", + "code":"107" + }, + { + "desc":"This API is provided for the administrator to grant specified permissions to an agency for all projects.PUT /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/role", + "product_code":"iam", + "title":"Granting Specified Permissions to an Agency for All Projects", + "uri":"iam_02_0041.html", + "doc_type":"api", + "p_code":"93", + "code":"108" + }, + { + "desc":"This API is provided for the administrator to check whether an agency has specified permissions.HEAD /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role", + "product_code":"iam", + "title":"Checking Whether an Agency Has Specified Permissions", + "uri":"iam_02_0042.html", + "doc_type":"api", + "p_code":"93", + "code":"109" + }, + { + "desc":"This API is provided for the administrator to remove the specified permissions of an agency in all projects.DELETE /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_i", + "product_code":"iam", + "title":"Removing Specified Permissions of an Agency in All Projects", + "uri":"iam_02_0043.html", + "doc_type":"api", + "p_code":"93", + "code":"110" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -951,7 +996,7 @@ "uri":"iam_02_0020.html", "doc_type":"api", "p_code":"13", - "code":"106" + "code":"111" }, { "desc":"This API is used to query the operation protection policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policyStatus code: 200The request is successful.Status c", @@ -959,8 +1004,8 @@ "title":"Querying the Operation Protection Policy", "uri":"iam_02_0022.html", "doc_type":"api", - "p_code":"106", - "code":"107" + "p_code":"111", + "code":"112" }, { "desc":"This API is provided for the administrator to modify the operation protection policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policyStatus code: 200The req", @@ -968,8 +1013,8 @@ "title":"Modifying the Operation Protection Policy", "uri":"iam_02_0021.html", "doc_type":"api", - "p_code":"106", - "code":"108" + "p_code":"111", + "code":"113" }, { "desc":"This API is used to query the password policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policyStatus code: 200The request is successful.Status code: 403Acc", @@ -977,8 +1022,8 @@ "title":"Querying the Password Policy", "uri":"iam_02_0024.html", "doc_type":"api", - "p_code":"106", - "code":"109" + "p_code":"111", + "code":"114" }, { "desc":"This API is provided for the administrator to modify the password policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policyStatus code: 200The request is suc", @@ -986,8 +1031,8 @@ "title":"Modifying the Password Policy", "uri":"iam_02_0023.html", "doc_type":"api", - "p_code":"106", - "code":"110" + "p_code":"111", + "code":"115" }, { "desc":"This API is used to query the login authentication policy.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policyStatus code: 200The request is successful.Status cod", @@ -995,8 +1040,8 @@ "title":"Querying the Login Authentication Policy", "uri":"iam_02_0026.html", "doc_type":"api", - "p_code":"106", - "code":"111" + "p_code":"111", + "code":"116" }, { "desc":"This API is provided for the administrator to modify the login authentication policy.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policyStatus code: 200The reque", @@ -1004,8 +1049,8 @@ "title":"Modifying the Login Authentication Policy", "uri":"iam_02_0025.html", "doc_type":"api", - "p_code":"106", - "code":"112" + "p_code":"111", + "code":"117" }, { "desc":"This API is used to query the ACL for console access.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policyStatus code: 200The request is successful.Status co", @@ -1013,8 +1058,8 @@ "title":"Querying the ACL for Console Access", "uri":"iam_02_0028.html", "doc_type":"api", - "p_code":"106", - "code":"113" + "p_code":"111", + "code":"118" }, { "desc":"This API is provided for the administrator to modify the ACL for console access.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policyStatus code: 200The requ", @@ -1022,8 +1067,8 @@ "title":"Modifying the ACL for Console Access", "uri":"iam_02_0027.html", "doc_type":"api", - "p_code":"106", - "code":"114" + "p_code":"111", + "code":"119" }, { "desc":"This API is used to query the ACL for API access.GET /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policyStatus code: 200The request is successful.Status code: 403A", @@ -1031,8 +1076,8 @@ "title":"Querying the ACL for API Access", "uri":"iam_02_0030.html", "doc_type":"api", - "p_code":"106", - "code":"115" + "p_code":"111", + "code":"120" }, { "desc":"This API is provided for the administrator to modify the ACL for API access.PUT /v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policyStatus code: 200The request is s", @@ -1040,8 +1085,8 @@ "title":"Modifying the ACL for API Access", "uri":"iam_02_0029.html", "doc_type":"api", - "p_code":"106", - "code":"116" + "p_code":"111", + "code":"121" }, { "desc":"This API is provided for the administrator to query the MFA device information of users.GET /v3.0/OS-MFA/virtual-mfa-devicesStatus code: 200The request is successful.Stat", @@ -1049,8 +1094,8 @@ "title":"Querying MFA Device Information of Users", "uri":"iam_08_0012.html", "doc_type":"api", - "p_code":"106", - "code":"117" + "p_code":"111", + "code":"122" }, { "desc":"This API can be used by the administrator to query the MFA device information of a specified user or used by a user to query their MFA device information.GET /v3.0/OS-MFA", @@ -1058,8 +1103,8 @@ "title":"Querying the MFA Device Information of a User", "uri":"iam_08_0013.html", "doc_type":"api", - "p_code":"106", - "code":"118" + "p_code":"111", + "code":"123" }, { "desc":"This API is provided for the administrator to query the login protection configurations of users.GET /v3.0/OS-USER/login-protectsStatus code: 200The request is successful", @@ -1067,8 +1112,8 @@ "title":"Querying Login Protection Configurations of Users", "uri":"iam_08_0014.html", "doc_type":"api", - "p_code":"106", - "code":"119" + "p_code":"111", + "code":"124" }, { "desc":"This API can be used by the administrator to query the login protection configuration of a specified user or used by a user to query their login protection configuration.", @@ -1076,8 +1121,8 @@ "title":"Querying the Login Protection Configuration of a User", "uri":"iam_08_0016.html", "doc_type":"api", - "p_code":"106", - "code":"120" + "p_code":"111", + "code":"125" }, { "desc":"This API is provided for the administrator to modify the login protection configuration of a user.PUT /v3.0/OS-USER/users/{user_id}/login-protectStatus code: 200Status co", @@ -1085,8 +1130,8 @@ "title":"Modifying the Login Protection Configuration of a User", "uri":"iam_08_0021.html", "doc_type":"api", - "p_code":"106", - "code":"121" + "p_code":"111", + "code":"126" }, { "desc":"This API is provided for IAM users to bind a virtual MFA device.PUT /v3.0/OS-MFA/mfa-devices/bindNoneNone", @@ -1094,8 +1139,8 @@ "title":"Binding a Virtual MFA Device", "uri":"iam_08_0017.html", "doc_type":"api", - "p_code":"106", - "code":"122" + "p_code":"111", + "code":"127" }, { "desc":"This API is used by the administrator to unbind a virtual MFA device from an IAM user, or used by an IAM user to unbind their own virtual MFA device.PUT /v3.0/OS-MFA/mfa-", @@ -1103,8 +1148,8 @@ "title":"Unbinding a Virtual MFA Device", "uri":"iam_08_0018.html", "doc_type":"api", - "p_code":"106", - "code":"123" + "p_code":"111", + "code":"128" }, { "desc":"This API is provided for IAM users to create a virtual MFA device.POST /v3.0/OS-MFA/virtual-mfa-devicesStatus code: 201Status code: 201The request is successful.", @@ -1112,8 +1157,8 @@ "title":"Creating a Virtual MFA Device", "uri":"iam_08_0019.html", "doc_type":"api", - "p_code":"106", - "code":"124" + "p_code":"111", + "code":"129" }, { "desc":"This API is provided for the administrator to delete their own virtual MFA device.DELETE /v3.0/OS-MFA/virtual-mfa-devicesNoneNone", @@ -1121,8 +1166,8 @@ "title":"Deleting a Virtual MFA Device", "uri":"iam_08_0020.html", "doc_type":"api", - "p_code":"106", - "code":"125" + "p_code":"111", + "code":"130" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1131,7 +1176,7 @@ "uri":"en-us_topic_0057845573.html", "doc_type":"api", "p_code":"13", - "code":"126" + "code":"131" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1139,8 +1184,8 @@ "title":"Obtaining a Token in Federated Identity Authentication Mode", "uri":"en-us_topic_0057845646.html", "doc_type":"api", - "p_code":"126", - "code":"127" + "p_code":"131", + "code":"132" }, { "desc":"OpenStack and Shibboleth are widely used open-source federated identity authentication solutions. They provide powerful SSO capabilities and connect users to various appl", @@ -1148,8 +1193,8 @@ "title":"SP Initiated", "uri":"iam_02_0001.html", "doc_type":"api", - "p_code":"127", - "code":"128" + "p_code":"132", + "code":"133" }, { "desc":"This section uses the Client4ShibbolethIdP script as an example to describe how to obtain a federated authentication token in the IdP-initiated mode. The Client4Shibbolet", @@ -1157,8 +1202,8 @@ "title":"IdP Initiated", "uri":"iam_02_0002.html", "doc_type":"api", - "p_code":"127", - "code":"129" + "p_code":"132", + "code":"134" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1166,8 +1211,8 @@ "title":"Identity Provider", "uri":"en-us_topic_0057845605.html", "doc_type":"api", - "p_code":"126", - "code":"130" + "p_code":"131", + "code":"135" }, { "desc":"This API is used to query the identity provider list.GET /v3/OS-FEDERATION/identity_providersParameters in the request headerParameterMandatoryTypeDescriptionContent-Type", @@ -1175,8 +1220,8 @@ "title":"Querying the Identity Provider List", "uri":"en-us_topic_0057845581.html", "doc_type":"api", - "p_code":"130", - "code":"131" + "p_code":"135", + "code":"136" }, { "desc":"This API is used to query the information about an identity provider.URI formatGET /v3/OS-FEDERATION/identity_providers/{id}GET /v3/OS-FEDERATION/identity_providers/{id}U", @@ -1184,8 +1229,8 @@ "title":"Querying an Identity Provider", "uri":"en-us_topic_0057845639.html", "doc_type":"api", - "p_code":"130", - "code":"132" + "p_code":"135", + "code":"137" }, { "desc":"This API is provided for the administrator to create an identity provider.URI formatPUT /v3/OS-FEDERATION/identity_providers/{id}PUT /v3/OS-FEDERATION/identity_providers/", @@ -1193,8 +1238,8 @@ "title":"Creating an Identity Provider", "uri":"en-us_topic_0057845606.html", "doc_type":"api", - "p_code":"130", - "code":"133" + "p_code":"135", + "code":"138" }, { "desc":"This API is provided for the administrator to create an OpenID Connect identity provider.POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus ", @@ -1202,8 +1247,8 @@ "title":"Creating an OpenID Connect Identity Provider", "uri":"iam_13_0207.html", "doc_type":"api", - "p_code":"130", - "code":"134" + "p_code":"135", + "code":"139" }, { "desc":"This API is used to update the information about a SAML identity provider.URI formatPATCH /v3/OS-FEDERATION/identity_providers/{id}PATCH /v3/OS-FEDERATION/identity_provid", @@ -1211,8 +1256,8 @@ "title":"Updating a SAML Identity Provider", "uri":"en-us_topic_0057845612.html", "doc_type":"api", - "p_code":"130", - "code":"135" + "p_code":"135", + "code":"140" }, { "desc":"This API is provided for the administrator to modify an OpenID Connect identity provider.PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus c", @@ -1220,8 +1265,8 @@ "title":"Updating an OpenID Connect Identity Provider", "uri":"iam_13_0208.html", "doc_type":"api", - "p_code":"130", - "code":"136" + "p_code":"135", + "code":"141" }, { "desc":"This API is provided for the administrator to query an OpenID Connect identity provider.GET /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-configStatus co", @@ -1229,8 +1274,8 @@ "title":"Querying an OpenID Connect Identity Provider", "uri":"iam_13_0209.html", "doc_type":"api", - "p_code":"130", - "code":"137" + "p_code":"135", + "code":"142" }, { "desc":"This API is used to delete a SAML or OpenID Connect identity provider.URI formatDELETE /v3/OS-FEDERATION/identity_providers/{id}DELETE /v3/OS-FEDERATION/identity_provider", @@ -1238,8 +1283,8 @@ "title":"Deleting an Identity Provider", "uri":"en-us_topic_0057845570.html", "doc_type":"api", - "p_code":"130", - "code":"138" + "p_code":"135", + "code":"143" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1247,8 +1292,8 @@ "title":"Mapping", "uri":"en-us_topic_0057845588.html", "doc_type":"api", - "p_code":"126", - "code":"139" + "p_code":"131", + "code":"144" }, { "desc":"This API is used to query the mapping list.GET /v3/OS-FEDERATION/mappingsParameters in the request headerParameterMandatoryTypeDescriptionContent-TypeYesStringFill applic", @@ -1256,8 +1301,8 @@ "title":"Querying the Mapping List", "uri":"en-us_topic_0057845567.html", "doc_type":"api", - "p_code":"139", - "code":"140" + "p_code":"144", + "code":"145" }, { "desc":"This API is used to query the information about a mapping.URI formatGET /v3/OS-FEDERATION/mappings/{id}GET /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMandatory", @@ -1265,8 +1310,8 @@ "title":"Querying a Mapping", "uri":"en-us_topic_0057845645.html", "doc_type":"api", - "p_code":"139", - "code":"141" + "p_code":"144", + "code":"146" }, { "desc":"This API is used to create a mapping.URI formatPUT /v3/OS-FEDERATION/mappings/{id}PUT /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMandatoryTypeDescriptionidYesS", @@ -1274,8 +1319,8 @@ "title":"Creating a Mapping", "uri":"en-us_topic_0057845590.html", "doc_type":"api", - "p_code":"139", - "code":"142" + "p_code":"144", + "code":"147" }, { "desc":"This API is used to update the information about a mapping.URI formatPATCH /v3/OS-FEDERATION/mappings/{id}PATCH /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMand", @@ -1283,8 +1328,8 @@ "title":"Updating a Mapping", "uri":"en-us_topic_0057845568.html", "doc_type":"api", - "p_code":"139", - "code":"143" + "p_code":"144", + "code":"148" }, { "desc":"This API is used to delete the information about a mapping.URI formatDELETE /v3/OS-FEDERATION/mappings/{id}DELETE /v3/OS-FEDERATION/mappings/{id}URI parametersParameterMa", @@ -1292,8 +1337,8 @@ "title":"Deleting a Mapping", "uri":"en-us_topic_0057845648.html", "doc_type":"api", - "p_code":"139", - "code":"144" + "p_code":"144", + "code":"149" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1301,8 +1346,8 @@ "title":"Protocol", "uri":"en-us_topic_0057845619.html", "doc_type":"api", - "p_code":"126", - "code":"145" + "p_code":"131", + "code":"150" }, { "desc":"This API is used to query the protocol list.URI formatGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocolsGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protoco", @@ -1310,8 +1355,8 @@ "title":"Querying the Protocol List", "uri":"en-us_topic_0057845644.html", "doc_type":"api", - "p_code":"145", - "code":"146" + "p_code":"150", + "code":"151" }, { "desc":"This API is used to query the information about a protocol.URI formatGET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}GET /v3/OS-FEDERATION/identi", @@ -1319,8 +1364,8 @@ "title":"Querying a Protocol", "uri":"en-us_topic_0057845616.html", "doc_type":"api", - "p_code":"145", - "code":"147" + "p_code":"150", + "code":"152" }, { "desc":"This API is used to register a protocol, that is, associate a rule with an identity provider.URI formatPUT /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protoc", @@ -1328,8 +1373,8 @@ "title":"Registering a Protocol", "uri":"en-us_topic_0057845575.html", "doc_type":"api", - "p_code":"145", - "code":"148" + "p_code":"150", + "code":"153" }, { "desc":"This API is used to update the information about a protocol.URI formatPATCH /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}PATCH /v3/OS-FEDERATION/i", @@ -1337,8 +1382,8 @@ "title":"Updating a Protocol", "uri":"en-us_topic_0057845609.html", "doc_type":"api", - "p_code":"145", - "code":"149" + "p_code":"150", + "code":"154" }, { "desc":"This API is used to delete the information about a protocol.URI formatDELETE /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}DELETE /v3/OS-FEDERATION", @@ -1346,8 +1391,8 @@ "title":"Deleting a Protocol", "uri":"en-us_topic_0057845559.html", "doc_type":"api", - "p_code":"145", - "code":"150" + "p_code":"150", + "code":"155" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1355,8 +1400,8 @@ "title":"Metadata", "uri":"en-us_topic_0057845607.html", "doc_type":"api", - "p_code":"126", - "code":"151" + "p_code":"131", + "code":"156" }, { "desc":"This API is used to query the content of the metadata file imported by an identity provider to the IAM system.URI formatGET /v3-ext/OS-FEDERATION/identity_providers/{idp_", @@ -1364,8 +1409,8 @@ "title":"Querying a Metadata File", "uri":"en-us_topic_0057845553.html", "doc_type":"api", - "p_code":"151", - "code":"152" + "p_code":"156", + "code":"157" }, { "desc":"This API is used to query the metadata file of the keystone.GET /v3-ext/auth/OS-FEDERATION/SSO/metadataParameters in the request headerParameterMandatoryTypeDescriptionun", @@ -1373,8 +1418,8 @@ "title":"Querying the Metadata File of Keystone", "uri":"en-us_topic_0057845577.html", "doc_type":"api", - "p_code":"151", - "code":"153" + "p_code":"156", + "code":"158" }, { "desc":"Before using the federated identity authentication function, a metadata file must be imported to the IAM system. This API is used to import a metadata file of a domain.UR", @@ -1382,8 +1427,8 @@ "title":"Importing a Metadata File", "uri":"en-us_topic_0057845615.html", "doc_type":"api", - "p_code":"151", - "code":"154" + "p_code":"156", + "code":"159" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1391,8 +1436,8 @@ "title":"Token", "uri":"en-us_topic_0057845565.html", "doc_type":"api", - "p_code":"126", - "code":"155" + "p_code":"131", + "code":"160" }, { "desc":"This API is used to obtain an unscoped token in SP-initiated federated identity authentication mode.An unscoped token cannot be used for authentication. If a federated us", @@ -1400,8 +1445,8 @@ "title":"Obtaining an Unscoped Token (SP Initiated)", "uri":"en-us_topic_0057845629.html", "doc_type":"api", - "p_code":"155", - "code":"156" + "p_code":"160", + "code":"161" }, { "desc":"This API is used to obtain an unscoped token in IdP-initiated federated identity authentication mode.An unscoped token cannot be used for authentication. If a federated u", @@ -1409,8 +1454,8 @@ "title":"Obtaining an Unscoped Token (IdP Initiated)", "uri":"iam_02_0003.html", "doc_type":"api", - "p_code":"155", - "code":"157" + "p_code":"160", + "code":"162" }, { "desc":"This API is used to obtain a scoped token through federated identity authentication.POST /v3/auth/tokensStatus code: 201The scoped token is obtained successfully.None", @@ -1418,8 +1463,8 @@ "title":"Obtaining a Scoped Token", "uri":"iam_13_0604.html", "doc_type":"api", - "p_code":"155", - "code":"158" + "p_code":"160", + "code":"163" }, { "desc":"This API is used to obtain a federated identity authentication token using an OpenID Connect ID token.POST /v3.0/OS-AUTH/id-token/tokensStatus code: 201Request for obtain", @@ -1427,8 +1472,8 @@ "title":"Obtaining a Token with an OpenID Connect ID Token", "uri":"iam_13_0605.html", "doc_type":"api", - "p_code":"155", - "code":"159" + "p_code":"160", + "code":"164" }, { "desc":"This API is used to obtain an unscoped token using an OpenID Connect ID token.POST /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/authStatus code: ", @@ -1436,8 +1481,8 @@ "title":"Obtaining an Unscoped Token with an OpenID Connect ID Token", "uri":"iam_13_0606.html", "doc_type":"api", - "p_code":"155", - "code":"160" + "p_code":"160", + "code":"165" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1445,8 +1490,8 @@ "title":"Domain", "uri":"en-us_topic_0057845633.html", "doc_type":"api", - "p_code":"126", - "code":"161" + "p_code":"131", + "code":"166" }, { "desc":"This API is used to query the list of domains accessible to federated users.GET /v3/OS-FEDERATION/domainsParameters in the request headerParameterMandatoryTypeDescription", @@ -1454,8 +1499,8 @@ "title":"Querying the List of Domains Accessible to Federated Users", "uri":"en-us_topic_0057845596.html", "doc_type":"api", - "p_code":"161", - "code":"162" + "p_code":"166", + "code":"167" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1463,8 +1508,8 @@ "title":"Project", "uri":"en-us_topic_0057845643.html", "doc_type":"api", - "p_code":"126", - "code":"163" + "p_code":"131", + "code":"168" }, { "desc":"This API is used to query the list of projects accessible to federated users. The project list is used to obtain the scoped token in federated identity authentication mod", @@ -1472,8 +1517,8 @@ "title":"Querying the List of Projects Accessible to Federated Users", "uri":"en-us_topic_0057845595.html", "doc_type":"api", - "p_code":"163", - "code":"164" + "p_code":"168", + "code":"169" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1482,7 +1527,7 @@ "uri":"en-us_topic_0057845631.html", "doc_type":"api", "p_code":"13", - "code":"165" + "code":"170" }, { "desc":"This API is used to obtain the keystone API version information.GET /Example requestResponse parameter descriptionParameterMandatoryTypeDescriptionversionsYesObjectKeysto", @@ -1490,8 +1535,8 @@ "title":"Querying Keystone API Version Information", "uri":"en-us_topic_0057845569.html", "doc_type":"api", - "p_code":"165", - "code":"166" + "p_code":"170", + "code":"171" }, { "desc":"This API is used to obtain the information about the keystone API version 3.0.GET /v3Example requestcurl -i -k -X GET https://sample.domain.com/v3Response parameter descr", @@ -1499,8 +1544,8 @@ "title":"Querying Information About Keystone API Version 3.0", "uri":"en-us_topic_0057845613.html", "doc_type":"api", - "p_code":"165", - "code":"167" + "p_code":"170", + "code":"172" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1509,7 +1554,7 @@ "uri":"en-us_topic_0057845604.html", "doc_type":"api", "p_code":"13", - "code":"168" + "code":"173" }, { "desc":"This API is used to query the service list.URI formatGET /v3/services{?type}GET /v3/services{?type}URI parametersParameterMandatoryTypeDescriptiontypeNoStringService type", @@ -1517,8 +1562,8 @@ "title":"Querying Services", "uri":"en-us_topic_0057845587.html", "doc_type":"api", - "p_code":"168", - "code":"169" + "p_code":"173", + "code":"174" }, { "desc":"This API is used to query service details.URI formatGET /v3/services/{service_id}GET /v3/services/{service_id}URI parametersParameterMandatoryTypeDescriptionservice_idYes", @@ -1526,8 +1571,8 @@ "title":"Querying Service Details", "uri":"en-us_topic_0067148045.html", "doc_type":"api", - "p_code":"168", - "code":"170" + "p_code":"173", + "code":"175" }, { "desc":"This API is used to query the list of terminal addresses and provides a service access entry.URI formatGET /v3/endpoints{?interface, service_id}GET /v3/endpoints{?interfa", @@ -1535,8 +1580,8 @@ "title":"Querying Endpoints", "uri":"en-us_topic_0057845562.html", "doc_type":"api", - "p_code":"168", - "code":"171" + "p_code":"173", + "code":"176" }, { "desc":"This API is used to query endpoint details.URI formatGET /v3/endpoints/{endpoint_id}GET /v3/endpoints/{endpoint_id}URI parametersParameterMandatoryTypeDescriptionendpoint", @@ -1544,8 +1589,8 @@ "title":"Querying Endpoint Details", "uri":"en-us_topic_0067148046.html", "doc_type":"api", - "p_code":"168", - "code":"172" + "p_code":"173", + "code":"177" }, { "desc":"This API is used to query the service catalog corresponding to X-Auth-Token contained in the request.GET /v3/auth/catalogParameters in the request headerParameterMandator", @@ -1553,8 +1598,8 @@ "title":"Querying the Service Catalog", "uri":"iam_02_0004.html", "doc_type":"api", - "p_code":"168", - "code":"173" + "p_code":"173", + "code":"178" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1563,7 +1608,7 @@ "uri":"iam_19_0004.html", "doc_type":"api", "p_code":"", - "code":"174" + "code":"179" }, { "desc":"By default, new users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies to these groups. Users inherit permi", @@ -1571,8 +1616,8 @@ "title":"Introduction", "uri":"iam_19_0003.html", "doc_type":"api", - "p_code":"174", - "code":"175" + "p_code":"179", + "code":"180" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1580,8 +1625,8 @@ "title":"Action List", "uri":"iam_02_0046.html", "doc_type":"api", - "p_code":"174", - "code":"176" + "p_code":"179", + "code":"181" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1590,7 +1635,7 @@ "uri":"iam_02_0512.html", "doc_type":"api", "p_code":"", - "code":"177" + "code":"182" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1598,8 +1643,8 @@ "title":"Status Codes", "uri":"iam_02_0005.html", "doc_type":"api", - "p_code":"177", - "code":"178" + "p_code":"182", + "code":"183" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1607,17 +1652,17 @@ "title":"Error Codes", "uri":"iam_02_0006.html", "doc_type":"api", - "p_code":"177", - "code":"179" + "p_code":"182", + "code":"184" }, { - "desc":"Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URL and request body for calling certain APIs. Obtain these par", + "desc":"Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URI and request body for calling certain APIs. Obtain these par", "product_code":"iam", "title":"Obtaining User, Account, User Group, Project, and Agency Information", "uri":"en-us_topic_0057845624.html", "doc_type":"api", - "p_code":"177", - "code":"180" + "p_code":"182", + "code":"185" }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", @@ -1626,6 +1671,6 @@ "uri":"en-us_topic_0057845564.html", "doc_type":"api", "p_code":"", - "code":"181" + "code":"186" } ] \ No newline at end of file diff --git a/docs/iam/api-ref/en-us_image_0000001782066216.png b/docs/iam/api-ref/en-us_image_0000001782066216.png index 4a421d8a13808fbd10523421bdf80fbeb654c9a8..7ce785777e1fcf3057a5cd173e49852430ee11cf 100644 GIT binary patch literal 78598 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 literal 32432 zcmXtf1z1$y^S2Li5pgm>=TA$g#IFuZdI8-3>v7C8hDd=h5G zjt&08@-|dgzEeHI_!Ins|@S^lZApcPN9J@sS3MC9|oEB>`(%Jb}({`8mi|CaVcEBbI3hbc6ik{Q@o%j5}&;S^9u z;*!u-mgUZg^E}-t@@rt+rajPq>P?d-=5OTaOJx0Ych!@Rk(KMvlFnpUR(|bx{7bi` zW|ec1G6%h?LsL@1kFEU$1%Ok(8b#Nx}tO0Xky z)gQes#Ua`7oRRr-+~Tyks3B+O@QTBj@1GRB37}~HyMf39=18KnVdI6V2X}jH!Wf@k zYf4^D1+U66v|iptu77`Z>FG&WNZ2=}up#lk)nCqnTtWFdqJE7JzH=8+x4$c!1o2=? zB^iZ>VI!MsLum(VJjyngus8&J+x{o-SQG@2@j{=!-4C!G*5qo1Zb+A!iYCzvz`|>T zp9fsGgvH3_{ZC>D8jvQeBBH_t8xG1vQp;a3c9P^WH8WF{6-QGsBlS*bHTA!}WW5C< zw#i>Q&CYGrd~dO9;=A8J47xJWn-O#N>*W++-2p%jtm-Zn{R9Ghpn1j|c@CWjKeZYcrBWe& z?oN&VcqY3@+kgCJ5Ir$X>$m6Nz?l1Y$Xq_O>hi|OTYubIXUZpbVA72g5{m?v0vOYE z5S+)nYjrBT|72bF=)>!Bj^y%RG(}Ts2sX$2AGO+u3u$<9T#V3Osm|?Qugcf_i>fsp zLU_pRZ)Z@F+7Fqy7zKWdFRRF9w5aAS)MV;GVqbtWzxb~6$Q$>>cFN61kWJf9=YDdr zk_4gkySd;mZ2yx&Myi%oh?!xrzXx6p`8(ol0g_mi1K zuD1#lR4gXg<01QdmJaQI)KyY#S_Gb> z2TNEzQTVLrmxs-?GWG#v!BY;@kwUF4?qAIQJ{^CDfy-vlh|}8WP}j%p@f5LUO^Dfm z8;rdpedYYvSk`eGZ?P+1HS1CjKuX;uR0ar9v{S6>xpJu4uZ!x&xAzU4qJ{R7-8Qo#*LY#lZ4NxCu2!W^}$Eu=*l!u_8dd^*<%weV0PleTyKb_64w9n18 z`8{YoibYCqO`6U>`qz$%z*(Ov0So<#3iY#h-t42dQus zZI^1jD_s1yi4i;2=v+#UAmmsVFQ2MTUh4ALNODdPUdy&q$cVER7SKHzod|0AgwESx z>-8%Cpcu9C#^U6iw#$oq%y);}Ut4_Zw$VhkRNe3h(KJ*m_U~se6S@4M-JEVPdN7Fz z_8|>;tVXAlIap5(m+1S$R0Of-a>*HwmfzbK;MZD!Rpv z!esX6D}qF_1s(}1--`l2f$%%D=41HA}c zPA?HUU%si;fGz`2cQWI}s@9pyQsdN)P%vGb^SiaNAL<%bO4SJ_623Z~g%L&qc4J<+ ztJXu@u6g0j#Y34SIM_Hv{Ewttf1qYnl3?lM=Fx9_=cLfRL&Iv`&KuM_;-cm9YRSrW zXRv!l!PKnn7qeVliJXhh(|nSVpmB}j-hr_L^wAPp8rl;zqIK#}2^=vdwYUfvMC7sX zKJ%zt`?TP0z4s{%C-RN&f;5x$4;D=%qevfCcYhTw;)V}ZW`O2D_}ooFl+26lpx)nZ z2(V)_@Xi;K5DgL{v}45<(slmHuu%XB)iiNmi?Bja&MCr_xk}A6#oAzk5V5t$8aa*M zy{LdFd;)lvw8X*VCAolX{&00;-@b#rpBFJgB-Z|k

bES#Nu3=`N|2tZ)5>TfFvX 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 diff --git a/docs/iam/api-ref/en-us_topic_0000001362626928.html b/docs/iam/api-ref/en-us_topic_0000001362626928.html new file mode 100644 index 00000000..591bf979 --- /dev/null +++ b/docs/iam/api-ref/en-us_topic_0000001362626928.html @@ -0,0 +1,483 @@ + + +

Querying Permission Assignment Records

+

Function

This API is used to query permission assignment records of a specified account.

+
+

URI

GET /v3.0/OS-PERMISSION/role-assignments

+
+

Request Parameters

+
+ + + + + + + + + + + +
Table 1 Parameters in the request header

Parameter

+

Mandatory

+

Type

+

Description

+

X-Auth-Token

+

Yes

+

String

+

See Permissions Management.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Request parameters

Parameter

+

Mandatory

+

Type

+

Description

+

domain_id

+

Yes

+

String

+

Account ID. For details about how to obtain the account ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

role_id

+

No

+

String

+

Policy ID.

+

subject

+

No

+

String

+

Principal. The value can be user, group, or agency. This parameter is exclusive with subject.user_id, subject.group_id, and subject.agency_id.

+

subject.user_id

+

No

+

String

+

ID of the IAM user. For details about how to obtain the ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

subject.group_id

+

No

+

String

+

ID of the user group. For details about how to obtain the ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

subject.agency_id

+

No

+

String

+

Agency ID. For details about how to obtain the agency ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

scope

+

No

+

String

+

Authorization scope. The value can be project, domain, or enterprise_project. This parameter is mutually exclusive with scope.project_id, scope.domain_id, and scope.enterprise_projects_id.

+
NOTE:
  • To view global service authorization records, set this parameter to domain or specify scope.domain_id.
  • To view resource-based authorization records, set this parameter to domain and is_inherited to true.
  • To view project-based authorization records, set this parameter to project or specify scope.project_id.
  • To view enterprise project-based authorization records, set this parameter to enterprise_project or specify scope.enterprise_project_id.
+
+

scope.project_id

+

No

+

String

+

Project ID. For details about how to obtain the project ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

scope.domain_id

+

No

+

String

+

Account ID. For details about how to obtain the account ID, see Obtaining User, Account, User Group, Project, and Agency Information.

+

scope.enterprise_projects_id

+

No

+

String

+

ID of an authorized enterprise project.

+

is_inherited

+

No

+

Boolean

+

Whether to include all project-based authorization records. The default value is false. This parameter is valid only when scope is set to domain or scope.domain_id is specified. true: Query all project-based authorization records. false: Query global service authorization records.

+

include_group

+

No

+

Boolean

+

Whether to include user group-based authorization records. The default value is true. This parameter is valid only when subject is set to user or subject.user_id is specified. true: Query authorization records of IAM users and user groups which the IAM users belong to. false: Only query authorization records of IAM users.

+

page

+

No

+

String

+

Page number for pagination query. The minimum value is 1. This parameter must be used together with per_page.

+

per_page

+

No

+

String

+

Number of data records to be displayed on each page during pagination query. The value ranges from 1 to 50. This parameter must be specified together with page.

+
+
+
+

Response Parameters

+
+ + + + + + + + + + + + + +
Table 3 Parameters in the response body

Parameter

+

Type

+

Description

+

total_num

+

Long

+

Total number of returned authorization records.

+

role_assignments

+

Array of RoleAssignmentBody objects

+

Authorization information.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4 role_assignments

Parameter

+

Type

+

Description

+

user

+

RoleUserAssignmentId object

+

Authorized user.

+

role

+

RoleAssignmentId object

+

Authorization policy.

+

group

+

RoleGroupAssignmentId object

+

Authorized user group.

+

agency

+

RoleAgencyAssignmentId object

+

Authorization agency.

+

scope

+

RoleAssignmentScope object

+

Authorization scope.

+

is_inherited

+

Boolean

+

Whether the authorization is based on all projects.

+
+
+ +
+ + + + + + + + + +
Table 5 role_assignments.user

Parameter

+

Type

+

Description

+

id

+

String

+

IAM user ID.

+
+
+ +
+ + + + + + + + + +
Table 6 role_assignments.role

Parameter

+

Type

+

Description

+

id

+

String

+

Permission ID.

+
+
+ +
+ + + + + + + + + +
Table 7 role_assignments.group

Parameter

+

Type

+

Description

+

id

+

String

+

User group ID.

+
+
+ +
+ + + + + + + + + +
Table 8 role_assignments.agency

Parameter

+

Type

+

Description

+

id

+

String

+

Agency ID.

+
+
+ +
+ + + + + + + + + + + + + + + + + +
Table 9 role_assignments.scope

Parameter

+

Type

+

Description

+

project

+

RoleProjectAssignmentId object

+

IAM project-based authorization.

+

domain

+

RoleDomainAssignmentId object

+

Authorization based on global services or all projects.

+

enterprise_project

+

RoleEnterpriseProjectAssignmentId object

+

Enterprise project-based authorization.

+
+
+ +
+ + + + + + + + + +
Table 10 role_assignments.scope.project

Parameter

+

Type

+

Description

+

id

+

String

+

IAM project ID.

+
+
+ +
+ + + + + + + + + +
Table 11 role_assignments.scope.domain

Parameter

+

Type

+

Description

+

id

+

String

+

Global service ID.

+
+
+ +
+ + + + + + + + + +
Table 12 role_assignments.scope.enterprise_project

Parameter

+

Type

+

Description

+

id

+

String

+

Enterprise project ID.

+
+
+
+

Example Request

GET https://sample.domain.com/v3.0/OS-PERMISSION/role-assignments?{domain_id}
+
+

Example Response

Status code: 200

+
The request is successful.
{
+    "role_assignments":{
+        "group":{
+            "id":"07609e7eb200250a3f7dc003cb7a4e2d"
+        },
+        "is_inherited":true,
+        "role":{
+            "id":"11e5c42d20cc349a2b9e2f8afd253f50c"
+        },
+        "scope":{
+            "domain":{
+                "id":"d78cbac186b744899480f25bd022f468"
+            }
+        }
+    },
+    "total_num":1
+}
+
+
+

Status Code

+
+ + + + + + + + + + + + + + + + +

Status Code

+

Description

+

200

+

The request is successful.

+

400

+

Invalid parameters.

+

401

+

Authentication failed.

+

403

+

Access denied.

+
+
+
+

Error Codes

For details, see Error Codes.

+
+

+
+
+ +
+ diff --git a/docs/iam/api-ref/en-us_topic_0057845561.html b/docs/iam/api-ref/en-us_topic_0057845561.html index fdf0c095..84b1a867 100644 --- a/docs/iam/api-ref/en-us_topic_0057845561.html +++ b/docs/iam/api-ref/en-us_topic_0057845561.html @@ -153,9 +153,9 @@
  • Description for the user format
    - - @@ -221,7 +221,7 @@ - - - - - - - + + + + + + + + + + + + -

    Parameter

    Mandatory

    +

    Mandatory

    Type

    +

    Type

    Description

    String

    UTC time when the password will expire. null indicates that the password will not expire.

    +

    UTC time when the password will expire. null indicates that the password has unlimited validity.

    pwd_status

    @@ -233,15 +233,6 @@

    Password status. true means that the password needs to be changed, and false means that the password is normal.

    pwd_strength

    -

    No

    -

    String

    -

    Password strength. The value can be high, mid, or low.

    -

    default_project_id

    No

    @@ -286,7 +277,7 @@ "default_project_id": "263fd9", "password_expires_at": "2016-12-07T00:00:00.000000Z", "pwd_status": true, - "pwd_strength": "high", + "last_project_id": "" }], "links": { diff --git a/docs/iam/api-ref/en-us_topic_0057845564.html b/docs/iam/api-ref/en-us_topic_0057845564.html index 06824e27..161dc7a1 100644 --- a/docs/iam/api-ref/en-us_topic_0057845564.html +++ b/docs/iam/api-ref/en-us_topic_0057845564.html @@ -8,7 +8,31 @@

    2024-01-04

    +

    2024-09-14

    +

    This release incorporates the following change:

    +

    Added parameters in Modifying the Password Policy.

    +

    2024-08-29

    +

    This release incorporates the following change:

    +

    Optimized the description of parameter name in Querying Project Information Based on the Specified Criteria.

    +

    2024-08-16

    +

    This release incorporates the following changes:

    + +

    2024-07-09

    +

    This release incorporates the following changes:

    + +

    2024-01-04

    This release incorporates the following changes:

    @@ -108,7 +132,7 @@

    2019-01-09

    This release incorporates the following changes:

    - +

    2018-10-08

    diff --git a/docs/iam/api-ref/en-us_topic_0057845579.html b/docs/iam/api-ref/en-us_topic_0057845579.html index 1a260d4a..e3987083 100644 --- a/docs/iam/api-ref/en-us_topic_0057845579.html +++ b/docs/iam/api-ref/en-us_topic_0057845579.html @@ -8,6 +8,8 @@ +

    String Array

    Authentication method. The value of this field is password. If virtual MFA–based login authentication is enabled, the value of this field is ["password","totp"].

    +

    Authentication method. The value of this field is password. If virtual MFA–based login authentication is enabled, the value of this field is ["password","totp"].

    password

    @@ -86,12 +86,19 @@

    JSON object

    Authentication information. This parameter is mandatory only when virtual MFA–based login authentication is enabled.

    -

    Example:

    -
    "totp": {
    +

    You can specify either user.id or user.name.

    +

    Example 1:

    +
    "totp": {
             "user": {
               "id": "b95b78b67fa045b38104c12fb...",
               "passcode": "******"
    -
    • user.id: User ID, which can be obtained on the My Credentials page.
    • passcode: Virtual MFA device verification code, which can be obtained on the MFA app.
    +
    • user.id: User ID, which can be obtained on the My Credentials page.
    • passcode: MFA verification code, which can be obtained on the MFA App.
    +

    Example 2:

    +
    "totp": {
    +        "user": {
    +          "name": "user A",
    +          "passcode": "******"
    +
    • user.name: Name of the user that wants to obtain the token.
    • passcode: MFA verification code, which can be obtained on the MFA App.

    scope

    @@ -155,7 +162,7 @@ }, "totp" : { "user": { - "id": "dfsafdfsaf....", + "name": "user A", "passcode": "******" } } @@ -255,7 +262,7 @@ "id": "fdec73ffea524aa1b373e40..." } } -
    • user.name: Name of the user that wants to obtain the token.
    • user.id: ID of the user.
    • domain.name: Name of the domain that created the user.
    • domain.id: ID of the domain.
    • password_expires_at: Coordinated Universal Time (UTC) that the password will expire. null indicates that the password will not expire.
    +
    • user.name: Name of the user that wants to obtain the token.
    • user.id: ID of the user.
    • domain.name: Name of the domain that created the user.
    • domain.id: ID of the domain.
    • password_expires_at: Coordinated Universal Time (UTC) that the password will expire. null indicates that the password will not expire.

    domain

    @@ -311,7 +318,7 @@ "id": "089d4a381d574308a703122d3ae73..." }] }] -
    • type: Type of the service to which the API belongs.
    • id: ID of the service.
    • name: Name of the service.
    • endpoints: Endpoints that can be used to call the API.
    • url: URL used to call the API.
    • region: Region in which the service can be accessed.
    • region_id: ID of the region.
    • interface: Type of the API. The value public means that the API is open for access.
    • id: ID of the API.
    +
    • type: Type of the service which the API belongs to.
    • id: ID of the service.
    • name: Name of the service.
    • endpoints: Endpoints that can be used to call the API.
    • url: URL used to call the API.
    • region: Region in which the service can be accessed.
    • region_id: ID of the region.
    • interface: Type of the API. The value public means that the API is open for access.
    • id: ID of the API.

    roles

    @@ -335,7 +342,7 @@
    -
  • Example response
    The following is a sample request for obtaining a token for user A. The login password of the user is ********** and the domain name is domain A. The scope of the token is domain.
    Token information stored in the response header:
    +
  • Example response
    The following is a sample request for obtaining a token for user A. The login password of the user is ********** and the domain name is domain A. The scope of the token is domain.
    Token information stored in the response header:
     X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
     
     Token information stored in the response body:
    diff --git a/docs/iam/api-ref/en-us_topic_0057845623.html b/docs/iam/api-ref/en-us_topic_0057845623.html
    index 62e434ec..6986123d 100644
    --- a/docs/iam/api-ref/en-us_topic_0057845623.html
    +++ b/docs/iam/api-ref/en-us_topic_0057845623.html
    @@ -21,7 +21,7 @@
     
     

    String

    -

    ID of the domain to which a user group belongs. For details about how to obtain the domain ID, see Obtaining User, Account, User Group, Project, and Agency Information.

    +

    ID of the domain which a user group belongs to. For details about how to obtain the domain ID, see Obtaining User, Account, User Group, Project, and Agency Information.

    group_id

    @@ -52,7 +52,7 @@

    Request Parameters

    • Parameters in the request header
      - diff --git a/docs/iam/api-ref/en-us_topic_0057845624.html b/docs/iam/api-ref/en-us_topic_0057845624.html index 56a78034..ed0da521 100644 --- a/docs/iam/api-ref/en-us_topic_0057845624.html +++ b/docs/iam/api-ref/en-us_topic_0057845624.html @@ -1,7 +1,7 @@

      Obtaining User, Account, User Group, Project, and Agency Information

      -

      Obtaining User, Account, and Project Information

      Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URL and request body for calling certain APIs. Obtain these parameters on the My Credentials page.

      +

      Obtaining User, Account, and Project Information

      Your username, user ID, account name, account ID, project name, and project ID need to be specified in the URI and request body for calling certain APIs. Obtain these parameters on the My Credentials page.

      1. Log in to management console.
      2. Click the username in the upper right corner, and choose My Credentials.
      3. On the My Credentials page, view the username, user ID, account name, account ID, project name, and project ID.

      Obtaining User Group Information

      1. Log in to the IAM console, and choose User Groups in the navigation pane.
      2. Expand the details page of a user group and view the group name and ID.
      diff --git a/docs/iam/api-ref/en-us_topic_0057845625.html b/docs/iam/api-ref/en-us_topic_0057845625.html index 87644960..6a1112e7 100644 --- a/docs/iam/api-ref/en-us_topic_0057845625.html +++ b/docs/iam/api-ref/en-us_topic_0057845625.html @@ -234,7 +234,7 @@
      - diff --git a/docs/iam/api-ref/en-us_topic_0057845637.html b/docs/iam/api-ref/en-us_topic_0057845637.html index a86e81eb..3a476898 100644 --- a/docs/iam/api-ref/en-us_topic_0057845637.html +++ b/docs/iam/api-ref/en-us_topic_0057845637.html @@ -63,9 +63,9 @@

      Parameter

      Mandatory

      +

      Mandatory

      Type

      String

      Project name.

      +

      Project name. For example, eu-de and MOS. MOS is a built-in project of OBS.

      - - @@ -96,7 +96,7 @@ - @@ -130,20 +130,29 @@
      Table 2 user

      Parameter

      Mandatory

      +

      Mandatory

      Type

      +

      Type

      Description

      Boolean

      Whether a user is enabled.

      -

      The value can be true or false. true indicates the user is enabled and false indicates the user is not enabled. The default value is true.

      +

      true (default value) indicates that the user is enabled. false indicates that the user is disabled.

      password

      @@ -105,7 +105,7 @@

      String

      Password of the user. The password must meet the following requirements:
      • Can contain 6 to 32 characters. The system default minimum password length is 6 characters, and you can change the minimum password length.
      • Must contain at least two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
      • Cannot be the username or the username spelled backwards.
      • Cannot contain the user's mobile phone number or email address.
      • Must comply with the password policies under Account Settings.
      +
      Password of the user. The password must meet the following requirements:
      • Can contain 6 to 32 characters. The default minimum password length is 6 characters.
      • Must contain at least two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
      • Cannot be the username or the username spelled backwards.
      • Cannot contain the user's mobile phone number or email address.
      • Must comply with the password policies under Account Settings.
      -
    • Example request
      1. Create the temporary file ${filename}.json based on the following template. ${filename} indicates the temporary file name, which is user-defined.
      +
    • Example request
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +POST https://sample.domain.com/v3/users
       {
           "user": {
      -        "default_project_id": "acf2ffabba974fae8f30378ffde2cfa6",
      -        "domain_id": "88b16b6440684467b8825d7d96e154d8",
      +        "name": "IAMUser",
      +        "domain_id": "d78cbac186b744899480f25bd02...",
               "enabled": true,
      -        "name": "jamesdoe",
      -        "password": "********"
      +        "password": "IAMPassword@",
      +        "description": "IAMDescription"
           }
      -}
      -2. Run the following command under the directory storing the ${filename}.json file.
      -curl -i -k -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf8' -H "X-Auth-Token:$token" -X POST -d @${filename}.json https://sample.domain.com/v3/users
      -3. Run the following command under the directory of the ${filename}.json file to delete the ${filename}.json file.
      -rm ${filename}.json
      +}
  • Response Parameters

    • Parameters in the response body @@ -170,7 +179,7 @@
  • Description for the user format -
    - - - @@ -393,7 +393,7 @@

    Parameter

    +
    @@ -187,7 +196,7 @@ - diff --git a/docs/iam/api-ref/en-us_topic_0057845638.html b/docs/iam/api-ref/en-us_topic_0057845638.html index c56525e5..42abe908 100644 --- a/docs/iam/api-ref/en-us_topic_0057845638.html +++ b/docs/iam/api-ref/en-us_topic_0057845638.html @@ -51,7 +51,7 @@ @@ -130,9 +130,9 @@
  • Description for the user format
  • Parameter

    Mandatory

    Boolean

    Whether a user is enabled.

    -

    The value can be true or false. true indicates the user is enabled and false indicates the user is not enabled. The default value is true.

    +

    true (default value) indicates that the user is enabled. false indicates that the user is disabled.

    id

    @@ -241,7 +250,7 @@

    String

    UTC when the password will expire. null indicates that the password will not expire.

    +

    UTC when the password will expire. null indicates that the password has unlimited validity.

    Password expiration time. The format is password_expires_at=operator:timestamp.

    Example:

    password_expires_at=lt:2016-12-08T22:02:00Z
    -
    • The value of operator can be lt, lte, gt, gte, eq, or neq.
      • lt: The expiration time is earlier than timestamp.
      • lte: The expiration time is earlier than or equal to timestamp.
      • gt: The expiration time is later than timestamp.
      • gte: The expiration time is equal to or later than timestamp.
      • eq: The expiration time is equal to timestamp.
      • neq: The expiration time is not equal to timestamp.
      +
      • The value of operator can be lt, lte, gt, gte, eq, or neq.
        • lt: The expiration time is earlier than timestamp.
        • lte: The expiration time is earlier than or equal to timestamp.
        • gt: The expiration time is later than timestamp.
        • gte: The expiration time is equal to or later than timestamp.
        • eq: The expiration time is equal to timestamp.
        • neq: The expiration time is not equal to timestamp.
      • The timestamp format is YYYY-MM-DDTHH:mm:ssZ.
    - - @@ -198,7 +198,7 @@ - - - - - - diff --git a/docs/iam/api-ref/en-us_topic_0066154565.html b/docs/iam/api-ref/en-us_topic_0066154565.html index 15a36168..ccb3b2a4 100644 --- a/docs/iam/api-ref/en-us_topic_0066154565.html +++ b/docs/iam/api-ref/en-us_topic_0066154565.html @@ -65,7 +65,7 @@ - - - + + + - - - - - @@ -854,7 +854,7 @@ - @@ -876,7 +876,7 @@ - @@ -887,7 +887,7 @@ - @@ -966,7 +966,7 @@ - diff --git a/docs/iam/api-ref/iam_02_0008.html b/docs/iam/api-ref/iam_02_0008.html index c78f13fd..6e840abd 100644 --- a/docs/iam/api-ref/iam_02_0008.html +++ b/docs/iam/api-ref/iam_02_0008.html @@ -53,7 +53,7 @@ POST https://www.example.com/v3/auth/tokens

    For details, see "AK/SK-based Authentication" in Authentication.

    -

    The API used to obtain a user token (Obtaining a User Token) does not require authentication. Therefore, only the Content-Type field needs to be added to requests for calling the API. An example of such requests is as follows:

    +

    The API used to obtain a user token (Obtaining a User Token) does not require authentication. Only the Content-Type field needs to be added to requests for calling the API. An example of such requests is as follows:

     
     POST https://www.example.com/v3/auth/tokens
    diff --git a/docs/iam/api-ref/iam_02_0011.html b/docs/iam/api-ref/iam_02_0011.html
    index 3b92322e..5fee4c6c 100644
    --- a/docs/iam/api-ref/iam_02_0011.html
    +++ b/docs/iam/api-ref/iam_02_0011.html
    @@ -150,7 +150,7 @@
     
     
    - + + + + +

    Parameter

    Mandatory

    +

    Mandatory

    Type

    +

    Type

    Description

    String

    UTC time when the password will expire. null indicates that the password will not expire.

    +

    UTC time when the password will expire. null indicates that the password has unlimited validity.

    pwd_status

    @@ -210,15 +210,6 @@

    Password status. true means that the password needs to be changed, and false means that the password is normal.

    pwd_strength

    -

    No

    -

    String

    -

    Password strength. The value can be high, mid, or low.

    -

    default_project_id

    No

    @@ -264,7 +255,7 @@ "default_project_id": "263fd9", "password_expires_at": "2016-12-07T00:00:00.000000Z", "pwd_status": true, - "pwd_strength": "high", + "last_project_id": "" }], "links": { diff --git a/docs/iam/api-ref/en-us_topic_0064274720.html b/docs/iam/api-ref/en-us_topic_0064274720.html index 1b13fad1..c919a78d 100644 --- a/docs/iam/api-ref/en-us_topic_0064274720.html +++ b/docs/iam/api-ref/en-us_topic_0064274720.html @@ -211,7 +211,7 @@ "id": "domainid" } } -
    • user.name: Username of the delegating party.
    • user.id: User ID of the delegating party.
    • domain.name: Name of the domain to which the delegating party belongs.
    • domain.id: ID of the domain.
    • password_expires_at: Time when the password will expire. null indicates that the password will not expire. This parameter is optional.
    +
    • user.name: Username of the delegating party.
    • user.id: User ID of the delegating party.
    • domain.name: Name of the domain which the delegating party belongs to.
    • domain.id: ID of the domain which the delegating party belongs to.
    • password_expires_at: Time when the password will expire. null indicates that the password will not expire. This parameter is optional.

    domain

    @@ -226,7 +226,7 @@ "name" : "domain A", "id" : "domainid" } -
    • domain.name: Name of the domain to which the delegating party belongs.
    • domain.id: ID of the domain.
    +
    • domain.name: Name of the domain which the delegating party belongs to.
    • domain.id: ID of the domain which the delegating party belongs to.

    project

    @@ -302,7 +302,7 @@ "id": "ff5ea657f1dd45c4b8f398cab..." } } -
    • domain.name: Name of the domain to which the delegated party belongs.
    • user.name: Username of the delegated party.
    +
    • domain.name: Name of the domain which the delegated party belongs to.
    • user.name: Username of the delegated party.

    String

    Parent project ID to which a project belongs.

    +

    Parent project ID which a project belongs to.

    domain_id

    diff --git a/docs/iam/api-ref/en-us_topic_0079467612.html b/docs/iam/api-ref/en-us_topic_0079467612.html index 9f49ea23..b29502bf 100644 --- a/docs/iam/api-ref/en-us_topic_0079467612.html +++ b/docs/iam/api-ref/en-us_topic_0079467612.html @@ -30,6 +30,14 @@ + + + +

    String

    domain.name: Name of the domain to which the delegating party belongs.

    +

    domain.name: Name of the domain which the delegating party belongs to.

    duration_seconds

    diff --git a/docs/iam/api-ref/iam_01_0004.html b/docs/iam/api-ref/iam_01_0004.html index 95b29421..d65e7fc4 100644 --- a/docs/iam/api-ref/iam_01_0004.html +++ b/docs/iam/api-ref/iam_01_0004.html @@ -1,7 +1,7 @@

    Endpoints

    -

    An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.

    +

    An endpoint is the request address for calling an API. Endpoints vary depending on services and regions. For the endpoints of all services, see Regions and Endpoints.

    diff --git a/docs/iam/api-ref/iam_01_0008.html b/docs/iam/api-ref/iam_01_0008.html index e292a8c4..19a2c848 100644 --- a/docs/iam/api-ref/iam_01_0008.html +++ b/docs/iam/api-ref/iam_01_0008.html @@ -215,7 +215,7 @@

    Querying the User Group to Which a User Belongs

    Query the information about the groups to which a specified user belongs.

    +

    Query the information about the groups which a specified user belongs to.

    Querying Users in a User Group

    @@ -325,6 +325,11 @@

    Provided for the administrator to query permission information.

    Querying Permission Assignment Records

    +

    Query permission assignment records of a specified account.

    +

    Querying Role Assignments (Discarded)

    Query the user groups to which a specified role has been assigned.

    diff --git a/docs/iam/api-ref/iam_02_0006.html b/docs/iam/api-ref/iam_02_0006.html index 65dbbc5c..d2591f46 100644 --- a/docs/iam/api-ref/iam_02_0006.html +++ b/docs/iam/api-ref/iam_02_0006.html @@ -462,7 +462,7 @@

    The value of name cannot exceed 64 characters.

    Check whether the value of name is correct.

    +

    Check whether the value of name is correct.

    400

    @@ -473,7 +473,7 @@

    The name field is invalid.

    Check whether the value of name is correct.

    +

    Check whether the value of name is correct.

    400

    @@ -484,7 +484,7 @@

    The description field is invalid.

    Check whether the value of description is correct.

    +

    Check whether the value of description is correct.

    400

    @@ -495,7 +495,7 @@

    The description_cn field is invalid.

    Check whether the value of description_cn is correct.

    +

    Check whether the value of description_cn is correct.

    400

    @@ -689,7 +689,7 @@

    IAM.1037

    The number of resource URIs [input Resource uri size ] must be greater than 0 and less than or equal to 20.

    +

    The number of resource URIs [input Resource uri size] must be greater than 0 and less than or equal to 20.

    Only 1 to 20 resources are allowed.

    IAM.1052

    Invalid Attribute '[input attribute ]'.

    +

    Invalid attribute '[input attribute]'.

    The attribute is invalid.

    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.

    +

    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.

    Each operator can only be used together with 1 to 10 attributes.

    IAM.1055

    Attribute '[input attribute ]' does not match operator '[input operator]'.

    +

    Attribute '[input attribute]' does not match operator '[input operator]'.

    The attribute does not match the operator.

    Login protection has been bound to mfa, the unbinding operation cannot be performed.

    Login protection has been enabled and requires virtual MFA device based verification. You cannot unbind the virtual MFA device.

    +

    Login protection has been enabled and requires virtual MFA authentication. You cannot unbind the virtual MFA device.

    Check the request or contact technical support.

    String

    ID of the domain to which the custom policy belongs.

    +

    ID of the domain which the custom policy belongs to.

    references

    diff --git a/docs/iam/api-ref/iam_02_0023.html b/docs/iam/api-ref/iam_02_0023.html index 56073b76..c4ece4d3 100644 --- a/docs/iam/api-ref/iam_02_0023.html +++ b/docs/iam/api-ref/iam_02_0023.html @@ -139,6 +139,15 @@

    Password validity period (days). Value range: 0–180. Value 0 indicates that this requirement does not apply.

    password_char_combination

    +

    No

    +

    Integer

    +

    Minimum number of character types that a password must contain. Value range: 2–4.

    +
    @@ -240,7 +249,8 @@ "minimum_password_age" : 20, "password_validity_period" : 60, "maximum_consecutive_identical_chars" : 3, - "password_not_username_or_invert" : false + "password_not_username_or_invert" : false , + "password_char_combination" : 3 } } @@ -255,7 +265,8 @@ "number_of_recent_passwords_disallowed" : 2, "password_validity_period" : 60, "maximum_consecutive_identical_chars" : 3, - "password_not_username_or_invert" : true + "password_not_username_or_invert" : true, + "password_char_combination" : 3 } } diff --git a/docs/iam/api-ref/iam_02_0025.html b/docs/iam/api-ref/iam_02_0025.html index 019d1fd1..30d6385c 100644 --- a/docs/iam/api-ref/iam_02_0025.html +++ b/docs/iam/api-ref/iam_02_0025.html @@ -219,7 +219,7 @@

    Integer

    Session timeout (minutes) that will apply if you or users created using your account do not perform any operations within a specific period.

    +

    Session timeout that will apply if you or users created using your account do not perform any operations within a specific period.

    show_recent_login_info

    diff --git a/docs/iam/api-ref/iam_02_0026.html b/docs/iam/api-ref/iam_02_0026.html index 28202122..ca77264e 100644 --- a/docs/iam/api-ref/iam_02_0026.html +++ b/docs/iam/api-ref/iam_02_0026.html @@ -84,7 +84,7 @@

    Integer

    Validity period (days) to disable users if they have not logged in within the period. Value range: 0–240. Validity period (days) to disable users if they have not logged in within the period If this parameter is set to 0, no users will be disabled.

    +

    Validity period (days) to disable users if they have not logged in within the period. Value range: 0–240. If this parameter is set to 0, no users will be disabled.

    custom_info_for_login

    diff --git a/docs/iam/api-ref/iam_02_0040.html b/docs/iam/api-ref/iam_02_0040.html new file mode 100644 index 00000000..e95f8236 --- /dev/null +++ b/docs/iam/api-ref/iam_02_0040.html @@ -0,0 +1,211 @@ + + +

    Querying All Permissions of an Agency

    +

    Function

    This API is provided for the administrator to query all permissions that have been assigned to an agency.

    +
    +

    URI

    GET /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects

    + +
    + + + + + + + + + + + + + + + + +
    Table 1 URI parameters

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    agency_id

    +

    Yes

    +

    String

    +

    Agency ID.

    +

    domain_id

    +

    Yes

    +

    String

    +

    ID of the delegating account.

    +
    +
    +
    +

    Request Parameters

    +
    + + + + + + + + + + + +
    Table 2 Parameters in the request header

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    X-Auth-Token

    +

    Yes

    +

    String

    +

    Token with Security Administrator permissions.

    +
    +
    +
    +

    Response Parameters

    +
    + + + + + + + + + + + + + +
    Table 3 Parameters in the response body

    Parameter

    +

    Type

    +

    Description

    +

    roles

    +

    Array of objects

    +

    Permission information.

    +

    links

    +

    object

    +

    Resource link information.

    +
    +
    + +
    + + + + + + + + + + + + + + + + + +
    Table 4 roles

    Parameter

    +

    Type

    +

    Description

    +

    id

    +

    String

    +

    Permission ID.

    +

    links

    +

    object

    +

    Permission resource link.

    +

    name

    +

    String

    +

    Permission name.

    +
    +
    + +
    + + + + + + + + + +
    Table 5 links

    Parameter

    +

    Type

    +

    Description

    +

    self

    +

    String

    +

    Resource link.

    +
    +
    +
    +

    Example Request

    GET https://sample.domain.com/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects
    +
    +

    Example Response

    Status code: 200

    +

    The request is successful.

    +
    { 
    +  "roles" : [ 
    +      { 
    +          "name" : "system_all_154", 
    +          "links" : { 
    +                       "self" : "https://sample.domain.com/v3/roles/04570dfe267c45a3940e1ae9de868..." 
    +                      }, 
    +          "id" : "04570dfe267c45a3940e1ae9de868..." 
    +        }, 
    +      { 
    +          "name" : "test1_admin", 
    +          "links" : { 
    +                        "self" : "https://sample.domain.com/v3/roles/1bf20f1adba94747a6e02e1be3810..." 
    +                       }, 
    +          "id" : "1bf20f1adba94747a6e02e1be3810..." 
    +        }
    +      ], 
    +  "links" : { 
    +          "self" : "https://sample.domain.com/v3.0/OS-INHERIT/domains/05b09b4723001dc90f27c0008f8b1.../agencies/08c6652e86801d234f01c00078308.../roles/inherited_to_projects" 
    +              } 
    +}
    +
    +

    Status Codes

    +
    + + + + + + + + + + + + + + + + + + + +

    Status Code

    +

    Description

    +

    200

    +

    The request is successful.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Access denied.

    +

    404

    +

    The requested resource cannot be found.

    +

    500

    +

    Internal server error.

    +
    +
    +
    +
    +
    + +
    + diff --git a/docs/iam/api-ref/iam_02_0041.html b/docs/iam/api-ref/iam_02_0041.html new file mode 100644 index 00000000..f0788801 --- /dev/null +++ b/docs/iam/api-ref/iam_02_0041.html @@ -0,0 +1,121 @@ + + +

    Granting Specified Permissions to an Agency for All Projects

    +

    Function

    This API is provided for the administrator to grant specified permissions to an agency for all projects.

    +
    +

    URI

    PUT /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 1 URI parameters

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    agency_id

    +

    Yes

    +

    String

    +

    Agency ID.

    +

    domain_id

    +

    Yes

    +

    String

    +

    Domain ID of the delegating party.

    +

    role_id

    +

    Yes

    +

    String

    +

    Permission ID.

    +
    +
    +
    +

    Request Parameters

    +
    + + + + + + + + + + + +
    Table 2 Parameters in the request header

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    X-Auth-Token

    +

    Yes

    +

    String

    +

    Token with Security Administrator permissions.

    +
    +
    +
    +

    Response Parameters

    None

    +
    +

    Example Request

    PUT https://sample.domain.com/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects
    +
    +

    Example Response

    None

    +
    +

    Status Codes

    +
    + + + + + + + + + + + + + + + + + + + +

    Status Code

    +

    Description

    +

    204

    +

    The authorization is successful.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Access denied.

    +

    404

    +

    The requested resource cannot be found.

    +

    500

    +

    Internal server error.

    +
    +
    +
    +
    +
    + +
    + diff --git a/docs/iam/api-ref/iam_02_0042.html b/docs/iam/api-ref/iam_02_0042.html new file mode 100644 index 00000000..778c3208 --- /dev/null +++ b/docs/iam/api-ref/iam_02_0042.html @@ -0,0 +1,121 @@ + + +

    Checking Whether an Agency Has Specified Permissions

    +

    Function

    This API is provided for the administrator to check whether an agency has specified permissions.

    +
    +

    URI

    HEAD /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 1 URI parameters

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    agency_id

    +

    Yes

    +

    String

    +

    Agency ID.

    +

    domain_id

    +

    Yes

    +

    String

    +

    Domain ID of the delegating party.

    +

    role_id

    +

    Yes

    +

    String

    +

    Permission ID.

    +
    +
    +
    +

    Request Parameters

    +
    + + + + + + + + + + + +
    Table 2 Parameters in the request header

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    X-Auth-Token

    +

    Yes

    +

    String

    +

    Token with Security Administrator permissions.

    +
    +
    +
    +

    Response Parameters

    None

    +
    +

    Example Request

    HEAD https://sample.domain.com/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects
    +
    +

    Example Response

    None

    +
    +

    Status Codes

    +
    + + + + + + + + + + + + + + + + + + + +

    Status Code

    +

    Description

    +

    204

    +

    The request is successful. (The agency has the specified permissions.)

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Access denied.

    +

    404

    +

    The requested resource cannot be found.

    +

    500

    +

    Internal server error.

    +
    +
    +
    +
    +
    + +
    + diff --git a/docs/iam/api-ref/iam_02_0043.html b/docs/iam/api-ref/iam_02_0043.html new file mode 100644 index 00000000..4a763368 --- /dev/null +++ b/docs/iam/api-ref/iam_02_0043.html @@ -0,0 +1,121 @@ + + +

    Removing Specified Permissions of an Agency in All Projects

    +

    Function

    This API is provided for the administrator to remove the specified permissions of an agency in all projects.

    +
    +

    URI

    DELETE /v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects

    + +
    + + + + + + + + + + + + + + + + + + + + + +
    Table 1 URI parameters

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    agency_id

    +

    Yes

    +

    String

    +

    Agency ID.

    +

    domain_id

    +

    Yes

    +

    String

    +

    Domain ID of the delegating party.

    +

    role_id

    +

    Yes

    +

    String

    +

    Permission ID.

    +
    +
    +
    +

    Request Parameters

    +
    + + + + + + + + + + + +
    Table 2 Parameters in the request header

    Parameter

    +

    Mandatory

    +

    Type

    +

    Description

    +

    X-Auth-Token

    +

    Yes

    +

    String

    +

    Token with Security Administrator permissions.

    +
    +
    +
    +

    Response Parameters

    None

    +
    +

    Example Request

    DELETE https://sample.domain.com/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects
    +
    +

    Example Response

    None

    +
    +

    Status Codes

    +
    + + + + + + + + + + + + + + + + + + + +

    Status Code

    +

    Description

    +

    204

    +

    Permissions are removed successfully.

    +

    401

    +

    Authentication failed.

    +

    403

    +

    Access denied.

    +

    404

    +

    The requested resource cannot be found.

    +

    500

    +

    Internal server error.

    +
    +
    +
    +
    +
    + +
    + diff --git a/docs/iam/api-ref/iam_02_0046.html b/docs/iam/api-ref/iam_02_0046.html index 4d770dbe..1b27c19e 100644 --- a/docs/iam/api-ref/iam_02_0046.html +++ b/docs/iam/api-ref/iam_02_0046.html @@ -215,7 +215,7 @@

    iam:users:getUser

    Querying the User Group to Which a User Belongs

    +

    Querying the User Group Which a User Belongs to

    GET /v3/users/{user_id}/groups

    -

    Permissions Management

    +

    Permissions Management

    - @@ -99,7 +99,7 @@ - - @@ -281,7 +281,7 @@ - - @@ -78,7 +78,7 @@ - - - - - - @@ -318,6 +318,13 @@ + + + + @@ -376,7 +383,10 @@ "create_time": "2020-01-06T08:05:16.000000", "xdomain_id": "", "xdomain_type": "", - "id": "07664aec578026691f00c003a..." + "id": "07664aec578026691f00c003a...", + "status": null, + "password_expires_at": null, + "default_project_id": null } } diff --git a/docs/iam/api-ref/iam_10_0011.html b/docs/iam/api-ref/iam_10_0011.html index e6f8169f..f35c301b 100644 --- a/docs/iam/api-ref/iam_10_0011.html +++ b/docs/iam/api-ref/iam_10_0011.html @@ -85,18 +85,11 @@ - - - -

    Permission

    API

    diff --git a/docs/iam/api-ref/iam_02_0510.html b/docs/iam/api-ref/iam_02_0510.html index e9ea6fba..90192cee 100644 --- a/docs/iam/api-ref/iam_02_0510.html +++ b/docs/iam/api-ref/iam_02_0510.html @@ -33,7 +33,9 @@

    After a token is obtained, the X-Auth-Token header field must be added to requests to specify the token when calling other APIs. For example, if the token is ABCDEFJ...., X-Auth-Token: ABCDEFJ.... can be added to a request as follows:

     
    -POST https://www.example.com/v3/auth/tokens
    +GET https://iam.region1.example.com/v3/auth/projects +Content-Type: application/json +X-Auth-Token: ABCDEFJ....

    AK/SK-based Authentication

    AK/SK-based authentication supports API requests with a body not larger than 12 MB. For API requests with a larger body, token-based authentication is recommended.

    diff --git a/docs/iam/api-ref/iam_08_0004.html b/docs/iam/api-ref/iam_08_0004.html index a8b5b9ab..456e2383 100644 --- a/docs/iam/api-ref/iam_08_0004.html +++ b/docs/iam/api-ref/iam_08_0004.html @@ -66,7 +66,7 @@

    Object

    User information.

    +

    IAM user information.

    String

    ID of the account to which the user belongs.

    +

    ID of the account which the user belongs to.

    name

    diff --git a/docs/iam/api-ref/iam_08_0011.html b/docs/iam/api-ref/iam_08_0011.html index a16d0d48..ec1c92c7 100644 --- a/docs/iam/api-ref/iam_08_0011.html +++ b/docs/iam/api-ref/iam_08_0011.html @@ -109,7 +109,7 @@

    String

    Password of the user. The password must meet the following requirements:

    +

    New password of the user. The password must meet the following requirements:

    • Can contain 6 to 32 characters. The default minimum password length is 6 characters.
    • Must contain at least two of the following character types: uppercase letters, lowercase letters, digits, and special characters.
    • Must meet the requirements of the password policy configured on the account settings page.
    • Must be different from the old password.

    String

    ID of the account to which the user belongs.

    +

    ID of the account which the user belongs to.

    enabled

    diff --git a/docs/iam/api-ref/iam_08_0015.html b/docs/iam/api-ref/iam_08_0015.html index a66df700..f1e542d6 100644 --- a/docs/iam/api-ref/iam_08_0015.html +++ b/docs/iam/api-ref/iam_08_0015.html @@ -31,7 +31,7 @@

    String

    Access credential issued to a user to bear its identity and permissions.

    +

    Access token issued to a user to bear its identity and permissions.

    For details about the permissions required by the token, see "Actions".

    String

    IAM user name, which consists of 1 to 32 characters. It can contain letters, digits, spaces, hyphens (-), underscores (_), and periods (.) and cannot start with a digit or space.

    +

    IAM username, which consists of 1 to 64 characters. It can contain letters (case-sensitive), digits, spaces, hyphens (-), underscores (_), and periods (.), and cannot start with a digit or space.

    domain_id

    @@ -96,7 +96,7 @@

    String

    Password of the user. The password must meet the following requirements:

    +

    Password of the user.

    email

    @@ -105,7 +105,7 @@

    String

    Email address with a maximum of 255 characters.

    +

    Valid email address with a maximum of 255 characters.

    areacode

    @@ -250,7 +250,7 @@

    String

    IAM user name, which consists of 1 to 32 characters. It can contain letters, digits, spaces, hyphens (-), underscores (_), and periods (.) and cannot start with a digit or space.

    +

    IAM username, which consists of 1 to 32 characters. It can contain letters (case-sensitive), digits, spaces, hyphens (-), underscores (_), and periods (.), and cannot start with a digit or space.

    phone

    @@ -264,14 +264,14 @@

    Boolean

    Whether the IAM user is an administrator.

    +

    Indicates whether the IAM user is an administrator.

    domain_id

    String

    ID of the account to which the IAM user belongs.

    +

    ID of the account used to create the IAM user.

    enabled

    @@ -300,7 +300,7 @@

    String

    Time when the IAM user was created.

    -
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601.

    +
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssss format, for example, 2023-06-28T08:56:33.710000.

    Business entity.

    default_project_id

    +

    String

    +

    Default project ID.

    +

    id

    String

    @@ -330,7 +337,7 @@

    String

    Password expiration time. If this parameter is set to null, the password will never expire.

    -
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601.

    +
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssss format, for example, 2023-06-28T08:56:33.710000.

    Permission information.

    total_number

    -

    Integer

    -

    Total number of custom policies. This parameter is returned only when domain_id is specified in the request.

    -
    -
    Table 4 RoleResult

    Parameter

    +
    @@ -104,14 +97,7 @@ - - - - - @@ -122,7 +108,7 @@ - @@ -197,7 +183,7 @@ @@ -205,7 +191,7 @@
    Table 4 roles

    Parameter

    Type

    domain_id

    -

    String

    -

    ID of the domain to which the permission belongs.

    -

    flag

    +

    flag

    String

    String

    Description of the permission in Chinese.

    +

    Description of the permission in Chinese. This parameter is returned in the response only when description_cn is specified during policy creation.

    catalog

    @@ -188,7 +174,7 @@

    String

    Time when the permission was last updated.

    -
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601.

    +
    NOTE:

    The value is a Unix timestamp in millisecond, for example, 1687913793000.

    String

    Time when the permission was created.

    -
    NOTE:

    The value is a UTC time in the YYYY-MM-DDTHH:mm:ss.ssssssZ format, for example, 2023-06-28T08:56:33.710000Z. For details about the date and timestamp formats, see ISO-8601.

    +
    NOTE:

    The value is a Unix timestamp in millisecond, for example, 1687913793000.

    -
    Table 5 Links

    Parameter

    +
    @@ -224,21 +210,21 @@ - -
    Table 5 links

    Parameter

    Type

    String

    Previous resource link.

    +

    Previous resource link. If the previous resource link is unavailable, this parameter is set to null.

    next

    String

    Next resource link.

    +

    Next resource link. If the next resource link is unavailable, this parameter is set to null.

    -
    Table 6 RolePolicy

    Parameter

    +
    @@ -273,7 +259,7 @@
    Table 6 roles.policy

    Parameter

    Type

    -
    Table 7 PolicyDepends

    Parameter

    +
    @@ -299,7 +285,7 @@
    Table 7 roles.policy.Depends

    Parameter

    Type

    -
    Table 8 PolicyStatement

    Parameter

    +
    @@ -329,7 +315,7 @@ - - - @@ -361,8 +347,7 @@

    The request is successful.

    { 
       "roles" : [ { 
    -    "domain_id" : null, 
    -    "description_cn" : "Description of the permission in Chinese", 
    +    
         "catalog" : "VulnScan", 
         "name" : "wscn_adm", 
         "description" : "Vulnerability Scan Service administrator of tasks and reports.", 
    @@ -389,9 +374,8 @@
           } ] 
         } 
       }, { 
    -    "domain_id" : null, 
         "flag" : "fine_grained", 
    -    "description_cn" : "Description of the permission in Chinese", 
    +    
         "catalog" : "CSE", 
         "name" : "system_all_34", 
         "description" : "All permissions of CSE service.", 
    
    Table 8 roles.policy.Statement

    Parameter

    Type

    Object

    Conditions for the permission to take effect. A maximum of 10 conditions are allowed. For details, see "Creating a Custom Policy" in the Identity and Access Management User Guide.

    +

    Conditions for the permission to take effect. The number of conditions cannot exceed 10. If this parameter is not specified during policy creation, it will not be returned in the response.

    NOTE:

    Take the condition in the sample request as an example, the values of the condition key (obs:prefix) and string (public) must be equal (StringEquals).

     "Condition": {
                   "StringEquals": {
    @@ -343,9 +329,9 @@
     

    Resource

    Array of strings

    +

    Object

    Cloud resource. The array can contain a maximum of 10 resource strings, and each string cannot exceed 128 characters.

    +

    Cloud resource. If this parameter is not specified during policy creation, it will not be returned in the response. The object can contain a maximum of 10 resource strings, and each string cannot exceed 128 characters.

    NOTE:
    • Format: ::::. For example, obs:::bucket:*. Asterisks are allowed.
    • The region segment can be * or a region accessible to the user. The specified resource must belong to the corresponding service that actually exists.
    • In the case of a custom policy for agencies, the type of this parameter is Object, and the value should be set to "Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}.