{"id":104978,"date":"2026-09-13T14:49:31","date_gmt":"2026-09-13T06:49:31","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/104978.html"},"modified":"2026-09-13T14:49:31","modified_gmt":"2026-09-13T06:49:31","slug":"openstack-%e8%ae%a4%e8%af%81%e7%ae%a1%e7%90%86%ef%bc%9akeystone-%e8%ba%ab%e4%bb%bd%e6%9c%8d%e5%8a%a1%e8%af%a6%e8%a7%a3%e4%b8%8e%e5%ae%9e%e6%93%8d","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/104978.html","title":{"rendered":"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd"},"content":{"rendered":"<h2>OpenStack\u8ba4\u8bc1\u7ba1\u7406-Keystone<\/h2>\n<\/p>\n<h4>\u6587\u7ae0\u76ee\u5f55<\/h4>\n<ul>\n<li>OpenStack\u8ba4\u8bc1\u7ba1\u7406-Keystone<\/li>\n<li>\n<ul>\n<li>\n<ul>\n<li>Keystone\u57fa\u672c\u6982\u5ff5<\/li>\n<li>\u7406\u89e3Keystone\u6838\u5fc3\u6982\u5ff5<\/li>\n<li>\u901a\u8fc7\u4f8b\u5b50\u5b66\u4e60keystone<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Keystone\u57fa\u672c\u6982\u5ff5<\/h4>\n<table>\n<tr>\u6982\u5ff5\u8bf4\u660e<\/tr>\n<tbody>\n<tr>\n<td>Domain<\/td>\n<td>\u57df&#xff0c;Keystone\u4e2d\u4e00\u4e2a\u865a\u62df\u6982\u5ff5&#xff0c;\u4e00\u4e2a\u57df\u662f\u4e00\u7ec4User &#xff0c;Group\u6216Project\u7684\u5bb9\u5668<\/td>\n<\/tr>\n<tr>\n<td>User<\/td>\n<td>\u7528\u6237&#xff0c;\u662f\u53ef\u4ee5\u901a\u8fc7Keystone\u8bbf\u95eeOpenStack\u670d\u52a1\u7684\u4e2a\u4eba\u3001\u7cfb\u7edf\u6216\u67d0\u4e2a\u670d\u52a1<\/td>\n<\/tr>\n<tr>\n<td>Group<\/td>\n<td>\u7528\u6237\u7ec4&#xff0c;\u662f\u4e00\u7ec4User\u7684\u5bb9\u5668&#xff0c;\u53ef\u4ee5\u5411Group\u4e2d\u6dfb\u52a0\u7528\u6237&#xff0c;\u5e76\u76f4\u63a5\u7ed9Group\u5206\u914d\u89d2\u8272<\/td>\n<\/tr>\n<tr>\n<td>Project<\/td>\n<td>\u9879\u76ee&#xff0c;\u662f\u5404\u4e2a\u670d\u52a1\u4e2d\u4e00\u4e9b\u53ef\u4ee5\u8bbf\u95ee\u7684\u8d44\u6e90\u96c6\u5408&#xff0c;\u9879\u76ee\u53ea\u9700\u5728\u67d0\u4e2a\u57df\u4e0b\u552f\u4e00\u5373\u53ef<\/td>\n<\/tr>\n<tr>\n<td>Role<\/td>\n<td>\u89d2\u8272&#xff0c;\u5177\u6709\u4e00\u7ec4\u5b9a\u4e49\u7684\u7528\u6237\u6743\u9650\u548c\u7279\u6743\u4ee5\u6267\u884c\u4e00\u7ec4\u7279\u5b9a\u64cd\u4f5c&#xff0c;\u89d2\u8272\u4e0d\u540c&#xff0c;\u88ab\u8d4b\u4e88\u7684\u6743\u9650\u4e0d\u540c<\/td>\n<\/tr>\n<tr>\n<td>Service<\/td>\n<td>\u670d\u52a1&#xff0c;\u4e00\u79cdOpenStack\u670d\u52a1&#xff0c;\u670d\u52a1\u4f1a\u5bf9\u5916\u66b4\u9732\u4e00\u4e2a\u6216\u591a\u4e2a\u7aef\u70b9&#xff0c;\u7528\u6237\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e9b\u7aef\u70b9\u8bbf\u95ee\u8d44\u6e90\u5e76\u6267\u884c\u64cd\u4f5c<\/td>\n<\/tr>\n<tr>\n<td>Endpoint<\/td>\n<td>\u7aef\u70b9&#xff0c;\u662f\u6307\u4e00\u4e2a\u53ef\u4ee5\u7528\u6765\u8bbf\u95ee\u67d0\u4e2a\u5177\u4f53\u670d\u52a1\u7684\u7f51\u7edc\u5730\u5740<\/td>\n<\/tr>\n<tr>\n<td>Token<\/td>\n<td>\u4ee4\u724c&#xff0c;\u662f\u5141\u8bb8\u8bbf\u95ee\u7279\u5b9a\u8d44\u6e90\u7684\u51ed\u8bc1<\/td>\n<\/tr>\n<tr>\n<td>Credential<\/td>\n<td>\u51ed\u8bc1&#xff0c;\u786e\u8ba4\u7528\u6237\u8eab\u4efd\u7684\u6570\u636e&#xff0c;\u5982\u7528\u6237\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>Domain&#xff1a;\u4e00\u4e2a\u57df\u53ef\u4ee5\u5bf9\u5e94\u4e00\u4e2a\u5927\u7684\u673a\u6784\u3001\u4e00\u4e2a\u6570\u636e\u4e2d\u5fc3&#xff0c;\u5e76\u4e14\u5fc5\u987b\u5168\u5c40\u552f\u4e00\u3002\u4e91\u7684\u7ec8\u7aef\u7528\u6237\u53ef\u4ee5\u5728\u81ea\u5df1\u7684Domain\u4e2d\u521b\u5efa\u591a\u4e2aProject\u3001User\u3001Group\u548cRole\u3002\u5177\u5907\u5bf9\u591a\u4e2aProject\u8fdb\u884c\u7edf\u4e00\u7ba1\u7406\u7684\u80fd\u529b\u3002<\/li>\n<li>User&#xff1a;Keystone\u4f1a\u901a\u8fc7\u8ba4\u8bc1\u4fe1\u606f&#xff08;Credential&#xff0c;\u5982\u5bc6\u7801\u7b49&#xff09;\u9a8c\u8bc1\u7528\u6237\u8bf7\u6c42\u7684\u5408\u6cd5\u6027&#xff0c;\u901a\u8fc7\u9a8c\u8bc1\u7684\u7528\u6237\u5c06\u4f1a\u5206\u914d\u5230\u4e00\u4e2a\u7279\u5b9a\u7684\u4ee4\u724c&#xff0c;\u8be5\u4ee4\u724c\u53ef\u4ee5\u88ab\u5f53\u4f5c\u540e\u7eed\u8d44\u6e90\u8bbf\u95ee\u7684\u4e00\u4e2a\u901a\u884c\u8bc1&#xff0c;\u5e76\u975e\u5168\u5c40\u552f\u4e00&#xff0c;\u53ea\u9700\u8981\u5728\u57df\u5185\u552f\u4e00\u5373\u53ef\u3002<\/li>\n<li>Group&#xff1a;\u7528\u6237\u7ec4\u662f\u4e00\u7ec4User\u7684\u5bb9\u5668&#xff0c;\u53ef\u4ee5\u5411Group\u4e2d\u6dfb\u52a0\u7528\u6237&#xff0c;\u5e76\u76f4\u63a5\u7ed9Group\u5206\u914d\u89d2\u8272&#xff0c;\u5728\u8fd9\u4e2aGroup\u4e2d\u7684\u6240\u6709\u7528\u6237\u5c31\u62e5\u6709\u4e86Group\u6240\u62e5\u6709\u7684\u89d2\u8272\u6743\u9650\u3002\u901a\u8fc7\u5f15\u5165Group\u7684\u6982\u5ff5&#xff0c;Keystone\u5b9e\u73b0\u4e86\u5bf9\u7528\u6237\u7ec4\u7684\u7ba1\u7406&#xff0c;\u8fbe\u5230\u4e86\u540c\u65f6\u7ba1\u7406\u4e00\u7ec4\u7528\u6237\u6743\u9650\u7684\u76ee\u7684\u3002<\/li>\n<li>Project&#xff1a;\u9879\u76ee\u662f\u5404\u4e2a\u670d\u52a1\u4e2d\u7684\u4e00\u4e9b\u53ef\u4ee5\u8bbf\u95ee\u7684\u8d44\u6e90\u96c6\u5408\u3002\u6211\u4eec\u9700\u8981\u5728\u521b\u5efa\u865a\u62df\u673a\u65f6\u6307\u5b9a\u67d0\u4e2a\u9879\u76ee&#xff0c;\u5728Cinder\u521b\u5efa\u5377\u65f6\u4e5f\u9700\u8981\u6307\u5b9a\u5177\u4f53\u7684\u9879\u76ee\u3002\u7528\u6237\u603b\u662f\u88ab\u9ed8\u8ba4\u7ed1\u5b9a\u5230\u67d0\u4e9b\u9879\u76ee\u4e0a&#xff0c;\u5728\u7528\u6237\u8bbf\u95ee\u9879\u76ee\u7684\u8d44\u6e90\u524d&#xff0c;\u5fc5\u987b\u5177\u6709\u5bf9\u8be5\u9879\u76ee\u7684\u8bbf\u95ee\u6743\u9650&#xff0c;\u6216\u8005\u8bf4\u5728\u7279\u5b9a\u9879\u76ee\u4e0b\u88ab\u8d4b\u4e88\u4e86\u7279\u5b9a\u7684\u89d2\u8272\u3002\u9879\u76ee\u4e0d\u5fc5\u5168\u5c40\u552f\u4e00&#xff0c;\u53ea\u9700\u8981\u5728\u67d0\u4e2a\u57df\u4e0b\u552f\u4e00\u5373\u53ef\u3002 \u5728OpenStack\u7684\u754c\u9762\u548c\u6587\u6863\u4e2d&#xff0c;Tenant\/Project\/Account\u8fd9\u51e0\u4e2a\u672f\u8bed\u662f\u901a\u7528\u7684&#xff0c;\u4f46\u957f\u671f\u770b\u4f1a\u503e\u5411\u4f7f\u7528Project&#xff08;\u516c\u6709\u4e91\u53eb\u79df\u6237&#xff09;<\/li>\n<li>Role&#xff1a;\u4e00\u4e2a\u7528\u6237\u6240\u5177\u6709\u7684\u89d2\u8272&#xff0c;\u89d2\u8272\u4e0d\u540c\u610f\u5473\u7740\u88ab\u8d4b\u4e88\u7684\u6743\u9650\u4e0d\u540c&#xff0c;\u53ea\u6709\u77e5\u9053\u7528\u6237\u88ab\u8d4b\u4e88\u7684\u89d2\u8272\u624d\u80fd\u77e5\u9053\u8be5\u7528\u6237\u662f\u5426\u6709\u6743\u9650\u8bbf\u95ee\u67d0\u8d44\u6e90\u3002\u7528\u6237\u53ef\u4ee5\u88ab\u8d4b\u4e88\u4e00\u4e2a\u57df\u6216\u9879\u76ee\u5185\u7684\u89d2\u8272\u3002\u4e00\u4e2a\u7528\u6237\u88ab\u8d4b\u4e88\u57df\u7684\u89d2\u8272\u610f\u5473\u7740\u4ed6\u5bf9\u57df\u5185\u6240\u6709\u7684\u9879\u76ee\u90fd\u5177\u6709\u76f8\u540c\u7684\u89d2\u8272&#xff0c;\u800c\u7279\u5b9a\u9879\u76ee\u7684\u89d2\u8272\u53ea\u5177\u6709\u5bf9\u7279\u5b9a\u9879\u76ee\u7684\u8bbf\u95ee\u6743\u9650\u3002\u89d2\u8272\u53ef\u4ee5\u88ab\u7ee7\u627f&#xff0c;\u5728\u4e00\u4e2a\u9879\u76ee\u6811\u4e0b&#xff0c;\u62e5\u6709\u7236\u9879\u76ee\u7684\u8bbf\u95ee\u6743\u9650\u4e5f\u610f\u5473\u7740\u540c\u65f6\u62e5\u6709\u5bf9\u5b50\u9879\u76ee\u7684\u8bbf\u95ee\u6743\u9650\u3002\u89d2\u8272\u5fc5\u987b\u5168\u5c40\u552f\u4e00\u3002<\/li>\n<\/ul>\n<p>\u67e5\u770bdomain&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u52a0\u8f7dkeystonerc_admin\u73af\u5883\u53d8\u91cf<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># source keystonerc_admin<\/span><\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u6240\u6709\u57df<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name    <span class=\"token operator\">|<\/span> Enabled <span class=\"token operator\">|<\/span> Description        <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 2c99588e109d427abb530cbb9aada74a <span class=\"token operator\">|<\/span> heat    <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span>                    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span> Default <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span> The default domain <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<\/p>\n<p>\u521b\u5efadomain:<\/p>\n<p><span class=\"token comment\"># \u521b\u5efa\u65b0\u7684domain\u53ebdomain-test<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain create domain-test<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field       <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> description <span class=\"token operator\">|<\/span>                                  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> enabled     <span class=\"token operator\">|<\/span> True                             <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>          <span class=\"token operator\">|<\/span> c70009318d0141c7a84b26ff427ff9d6 <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name        <span class=\"token operator\">|<\/span> domain-test                      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> options     <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> tags        <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token comment\">#\u518d\u6b21\u9a8c\u8bc1\u786e\u5b9e\u591a\u4e86\u4e00\u4e2adomain-test<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name        <span class=\"token operator\">|<\/span> Enabled <span class=\"token operator\">|<\/span> Description        <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 2c99588e109d427abb530cbb9aada74a <span class=\"token operator\">|<\/span> heat        <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span>                    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c70009318d0141c7a84b26ff427ff9d6 <span class=\"token operator\">|<\/span> domain-test <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span>                    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span> Default     <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span> The default domain <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\">#<\/span><\/p>\n<p>\u5220\u9664domain:<\/p>\n<p><span class=\"token comment\"># \u7981\u7528\u57dfdomain-test<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain set &#8211;disable domain-test  <\/span><br \/>\n<span class=\"token comment\">#\u8bbe\u7f6edomain\u7981\u7528<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain delete domain-test<\/span><\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u6240\u6709\u57df<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack domain list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name    <span class=\"token operator\">|<\/span> Enabled <span class=\"token operator\">|<\/span> Description        <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 2c99588e109d427abb530cbb9aada74a <span class=\"token operator\">|<\/span> heat    <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span>                    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span> Default <span class=\"token operator\">|<\/span> True    <span class=\"token operator\">|<\/span> The default domain <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#043;<\/p>\n<p>\u5f00\u542f\u591a\u57df\u767b\u5f55\u754c\u9762&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5207\u6362\u5230\/etc\/openstack-dashboard\/\u76ee\u5f55<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd \/etc\/openstack-dashboard\/<\/span><\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u5f53\u524d\u76ee\u5f55\u5185\u5bb9<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller openstack-dashboard<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls<\/span><br \/>\ncinder_policy.json  glance_policy.json  keystone_policy.json  local_settings<br \/>\nlocal_settings.d  neutron_policy.json  nova_policy.d  nova_policy.json<\/p>\n<p><span class=\"token comment\"># \u7f16\u8f91local_settings\u914d\u7f6e\u6587\u4ef6<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller openstack-dashboard<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim local_settings<\/span><br \/>\n<span class=\"token comment\">#\u4fee\u6539\u914d\u7f6e\u6587\u4ef683\u884c\u5982\u4e0b&#xff0c;\u5f00\u542fkeystone\u652f\u6301\u591a\u57df<\/span><br \/>\n <span class=\"token number\">83<\/span> OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT <span class=\"token operator\">&#061;<\/span> True<\/p>\n<p><span class=\"token comment\"># \u91cd\u542fhttpd\u670d\u52a1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller openstack-dashboard<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># systemctl restart httpd   <\/span><\/p>\n<p>\u6d4b\u8bd5\u591a\u57df\u767b\u5f55\u6548\u679c&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064923-6aa647739b889.png\" alt=\"img_0001\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064924-6aa647747de0d.png\" alt=\"img_0002\" \/><\/p>\n<p>\u5217\u51fa\u6240\u6709\u7528\u6237&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u6240\u6709\u7528\u6237<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack user list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name       <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 7ef9147a8abe485889ece90dce340ab1 <span class=\"token operator\">|<\/span> admin      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8624a4e61d6c4b589814c369af26cb5f <span class=\"token operator\">|<\/span> heat_admin <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8770fb183087426eb29543f3d629b66f <span class=\"token operator\">|<\/span> glance     <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c3eba4bb5577404285b333e4de5c1909 <span class=\"token operator\">|<\/span> cinder     <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c286b069d5064a2b8050b3438f31ef7f <span class=\"token operator\">|<\/span> nova       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 66fbd238901143d1a2b9e1e848117aff <span class=\"token operator\">|<\/span> placement  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 7e1d63925490464c897f75275c7364e6 <span class=\"token operator\">|<\/span> neutron    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 1dd2bd1d566a4f4091e99441bb1da9b5 <span class=\"token operator\">|<\/span> swift      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 9368227a55f44dba85e10bc7c696813c <span class=\"token operator\">|<\/span> heat       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> be5dc0149ba4402db25045a17a3d7a59 <span class=\"token operator\">|<\/span> heat-cfn   <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> e1ddffa452504776bc845f6f4114cd14 <span class=\"token operator\">|<\/span> gnocchi    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> fda949b4ff944336bb3206d6f7e6bc4c <span class=\"token operator\">|<\/span> ceilometer <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 10286ba1e9974e6994fe9908ab0db617 <span class=\"token operator\">|<\/span> aodh       <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<\/p>\n<p>\u521b\u5efa\u65b0\u7528\u6237&#xff1a;user1<\/p>\n<p><span class=\"token comment\">#\u521b\u5efa\u7528\u6237user1\u5bc6\u7801HUAWEI<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack user create &#8211;password HUAWEI user1<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field               <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> domain_id           <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> enabled             <span class=\"token operator\">|<\/span> True                             <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>                  <span class=\"token operator\">|<\/span> 77ae3f5b216749ef8663c3bdb5679d36 <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name                <span class=\"token operator\">|<\/span> user1                            <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> options             <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> password_expires_at <span class=\"token operator\">|<\/span> None                             <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token comment\">#\u67e5\u770b\u7528\u6237\u5217\u8868\u6709\u6ca1\u6709\u65b0\u521b\u5efa\u7684\u7528\u6237user1&#xff0c;user1\u5728\u6700\u4e0b\u9762<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack user list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name       <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 7ef9147a8abe485889ece90dce340ab1 <span class=\"token operator\">|<\/span> admin      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8624a4e61d6c4b589814c369af26cb5f <span class=\"token operator\">|<\/span> heat_admin <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8770fb183087426eb29543f3d629b66f <span class=\"token operator\">|<\/span> glance     <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c3eba4bb5577404285b333e4de5c1909 <span class=\"token operator\">|<\/span> cinder     <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c286b069d5064a2b8050b3438f31ef7f <span class=\"token operator\">|<\/span> nova       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 66fbd238901143d1a2b9e1e848117aff <span class=\"token operator\">|<\/span> placement  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 7e1d63925490464c897f75275c7364e6 <span class=\"token operator\">|<\/span> neutron    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 1dd2bd1d566a4f4091e99441bb1da9b5 <span class=\"token operator\">|<\/span> swift      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 9368227a55f44dba85e10bc7c696813c <span class=\"token operator\">|<\/span> heat       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> be5dc0149ba4402db25045a17a3d7a59 <span class=\"token operator\">|<\/span> heat-cfn   <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> e1ddffa452504776bc845f6f4114cd14 <span class=\"token operator\">|<\/span> gnocchi    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> fda949b4ff944336bb3206d6f7e6bc4c <span class=\"token operator\">|<\/span> ceilometer <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 10286ba1e9974e6994fe9908ab0db617 <span class=\"token operator\">|<\/span> aodh       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 77ae3f5b216749ef8663c3bdb5679d36 <span class=\"token operator\">|<\/span> user1      <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token comment\">#\u67e5\u770buser1\u7528\u6237\u8be6\u7ec6\u4fe1\u606f<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack user show user1<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field               <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> domain_id           <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> enabled             <span class=\"token operator\">|<\/span> True                             <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>                  <span class=\"token operator\">|<\/span> 77ae3f5b216749ef8663c3bdb5679d36 <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name                <span class=\"token operator\">|<\/span> user1                            <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> options             <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> password_expires_at <span class=\"token operator\">|<\/span> None                             <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<\/p>\n<p>\u521b\u5efa\u7ec4group1&#xff0c;\u5e76\u5c06user1\u52a0\u5165group1&#xff1a;<\/p>\n<p><span class=\"token comment\">#\u521b\u5efa\u7ec4group1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack group create group1<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field       <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> description <span class=\"token operator\">|<\/span>                                  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> domain_id   <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>          <span class=\"token operator\">|<\/span> f259902c4c0242d3b392d951494e747f <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name        <span class=\"token operator\">|<\/span> group1                           <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token comment\">#\u5217\u51fa\u6240\u6709\u7684\u7ec4<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack group list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name   <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> f259902c4c0242d3b392d951494e747f <span class=\"token operator\">|<\/span> group1 <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token comment\">#\u67e5\u770bgroup1\u7ec4\u8be6\u7ec6\u4fe1\u606f<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack group show group1<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field       <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> description <span class=\"token operator\">|<\/span>                                  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> domain_id   <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>          <span class=\"token operator\">|<\/span> f259902c4c0242d3b392d951494e747f <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name        <span class=\"token operator\">|<\/span> group1                           <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token comment\">#\u5c06user1\u52a0\u5165group1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack group add user group1 user1<\/span><br \/>\n<span class=\"token comment\">#\u67e5\u770buser1\u662f\u5426\u96b6\u5c5e\u4e8egroup1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack group contains user group1 user1 user1 in group group1<\/span><\/p>\n<p>\u67e5\u770b\u89d2\u8272role&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u6240\u6709\u89d2\u8272<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack role list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name             <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;<br \/>\n<span class=\"token operator\">|<\/span> 030b4ca553dc41349168eaca4fd43f42 <span class=\"token operator\">|<\/span> ResellerAdmin    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 461321ea6a284081b692a469a15d7938 <span class=\"token operator\">|<\/span> SwiftOperator    <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 4ef39ef24f694c9aa6c1101622da0e92 <span class=\"token operator\">|<\/span> admin            <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8b24d8bef4004573a8f3cb1f5a1517a8 <span class=\"token operator\">|<\/span> _member_         <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 973e0706bc66471a90d09f177bfb6a1d <span class=\"token operator\">|<\/span> member           <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> a3af83fe8bf84014b01feae786f83b8b <span class=\"token operator\">|<\/span> heat_stack_owner <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> ce4a3e671d9040359d6f6f55555bf429 <span class=\"token operator\">|<\/span> reader           <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> e9cd36ba1b8744878cc15a05709ab1fd <span class=\"token operator\">|<\/span> heat_stack_user  <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;<\/p>\n<p>\u7ed9group1\u8d4b\u4e88\u89d2\u8272admin&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u7ed9\u7528\u6237\u7ec4\u5728\u9879\u76eeadmin\u4e2d\u8d4b\u4e88\u89d2\u8272&#8211;group<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack role add &#8211;project admin &#8211;group group1 admin<\/span><\/p>\n<p>\u9a8c\u8bc1group1\u89d2\u8272&#xff1a;<\/p>\n<p><span class=\"token comment\"># \u6267\u884c\u547d\u4ee4&#xff1a;openstack role assignment list &#8211;names &#8211;<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack role assignment list &#8211;names &#8211;group group1<\/span><br \/>\n&#043;&#8212;&#8212;-&#043;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> Role  <span class=\"token operator\">|<\/span> User <span class=\"token operator\">|<\/span> Group          <span class=\"token operator\">|<\/span> Project       <span class=\"token operator\">|<\/span> Domain <span class=\"token operator\">|<\/span> System <span class=\"token operator\">|<\/span> Inherited <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;-&#043;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8212;&#8211;&#043;<br \/>\n<span class=\"token operator\">|<\/span> admin <span class=\"token operator\">|<\/span>      <span class=\"token operator\">|<\/span> group1&#064;Default <span class=\"token operator\">|<\/span> admin&#064;Default <span class=\"token operator\">|<\/span>        <span class=\"token operator\">|<\/span>        <span class=\"token operator\">|<\/span> False     <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;-&#043;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8211;&#043;&#8212;&#8212;&#8212;&#8211;&#043;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064925-6aa6477591e4e.png\" alt=\"img_0003\" \/><\/p>\n<p>\u521b\u5efaProjectA:<\/p>\n<p><span class=\"token comment\">#\u521b\u5efa\u9879\u76eeProjectA<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack project create ProjectA<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> Field       <span class=\"token operator\">|<\/span> Value                            <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> description <span class=\"token operator\">|<\/span>                                  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> domain_id   <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> enabled     <span class=\"token operator\">|<\/span> True                             <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> <span class=\"token function\">id<\/span>          <span class=\"token operator\">|<\/span> a6aa11ee311a46889ac34e49b8da47d1 <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> is_domain   <span class=\"token operator\">|<\/span> False                            <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> name        <span class=\"token operator\">|<\/span> ProjectA                         <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> options     <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">}<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> parent_id   <span class=\"token operator\">|<\/span> default                          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> tags        <span class=\"token operator\">|<\/span> <span class=\"token punctuation\">[<\/span><span class=\"token punctuation\">]<\/span>                               <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token comment\">#\u67e5\u770b\u9a8c\u8bc1\u547d\u4ee4<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack project list<\/span><\/p>\n<p><span class=\"token comment\"># \u67e5\u770b\u9879\u76eeprojectA\u8be6\u7ec6\u4fe1\u606f<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack project show projectA<\/span><br \/>\n<span class=\"token comment\">#ProjeectA\u5206\u914d\u7ed9\u7528\u6237user1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack user set &#8211;project ProjectA user1<\/span><br \/>\n<span class=\"token comment\">#\u7ed9\u9879\u76eeProjectA\u91cc\u7684\u7528\u6237user1\u8d4b\u4e88\u89d2\u8272admin<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack role add &#8211;user user1 &#8211;project ProjectA admin<\/span><\/p>\n<p>\u67e5\u770bProjectA\u73b0\u8c61&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064925-6aa64775f2bb4.png\" alt=\"img_0004\" \/><\/p>\n<p>\u601d\u8003&#xff1a;\u540c\u6837\u7684 \u65b9\u5f0f\u521b\u5efa\u4e00\u4e2a\u9879\u76eeProjectB,\u5206\u914d\u7ed9\u7528\u6237user2&#xff0c;\u89d2\u8272admin \u521b\u5efa\u4e00\u4e2a\u7528\u6237user3,\u5728\u9879\u76eeProjectA\u4e2d\u7684\u89d2\u8272\u4e3amember<\/p>\n<p>\u4fee\u6539ProjectA\u914d\u989d&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064926-6aa6477663dd6.png\" alt=\"img_0005\" \/><\/p>\n<p><span class=\"token comment\">#\u5c06Project\u914d\u989d\u8bbe\u7f6e\u4e3a\u5b9e\u4f8b3&#xff0c;vcpu 5,\u5185\u5b585000MB<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack quota set &#8211;instance 3 &#8211;cores 5 &#8211;ram 5000 ProjectA<\/span><\/p>\n<p>\u4fee\u6539\u914d\u989d\u5b9e\u9a8c\u73b0\u8c61&#xff1a;<\/p>\n<p>\u4f7f\u7528user1\u767b\u5f55&#xff0c;\u5207\u6362\u5230ProjectA<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064926-6aa6477694f88.png\" alt=\"img_0006\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064927-6aa64777341f6.png\" alt=\"img_0007\" \/><\/p>\n<p>\u67e5\u770bOpenStack\u6709\u54ea\u4e9b\u670d\u52a1:<\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u6240\u6709\u670d\u52a1<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller ~<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># openstack service list<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> ID                               <span class=\"token operator\">|<\/span> Name       <span class=\"token operator\">|<\/span> Type           <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<br \/>\n<span class=\"token operator\">|<\/span> 006d8f9e6a054e238a1093fe5af715bf <span class=\"token operator\">|<\/span> swift      <span class=\"token operator\">|<\/span> object-store   <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 1abf3641147f40368f8d1c7e8b5677e1 <span class=\"token operator\">|<\/span> heat       <span class=\"token operator\">|<\/span> orchestration  <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 2e6919aa53eb48cb99bc992b506a0e3e <span class=\"token operator\">|<\/span> glance     <span class=\"token operator\">|<\/span> image          <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 5dfb29073cf140199cc78b2d84fac299 <span class=\"token operator\">|<\/span> keystone   <span class=\"token operator\">|<\/span> identity       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 5ed901220a18430f8d423f9a95d43477 <span class=\"token operator\">|<\/span> ceilometer <span class=\"token operator\">|<\/span> metering       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 8ec4ba00f67448ad8acedc744dce2d87 <span class=\"token operator\">|<\/span> heat-cfn   <span class=\"token operator\">|<\/span> cloudformation <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> 9a6c3edee4ba431db7d1cac840b91dcb <span class=\"token operator\">|<\/span> neutron    <span class=\"token operator\">|<\/span> network        <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> a747c0c45e544fa9b20538474ac579d1 <span class=\"token operator\">|<\/span> nova       <span class=\"token operator\">|<\/span> compute        <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> c4e445f741a943ff897eb494cca6df6e <span class=\"token operator\">|<\/span> cinderv2   <span class=\"token operator\">|<\/span> volumev2       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> d06744c3ad6343988bb0ab60b291ffeb <span class=\"token operator\">|<\/span> placement  <span class=\"token operator\">|<\/span> placement      <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> db9e425f65ac4808ab62dc1659f58916 <span class=\"token operator\">|<\/span> cinderv3   <span class=\"token operator\">|<\/span> volumev3       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> e11ec9b570254141bdac2ff3ec75179d <span class=\"token operator\">|<\/span> aodh       <span class=\"token operator\">|<\/span> alarming       <span class=\"token operator\">|<\/span><br \/>\n<span class=\"token operator\">|<\/span> e3a0ba8fe0f844249bfa3a90ec6a6fea <span class=\"token operator\">|<\/span> gnocchi    <span class=\"token operator\">|<\/span> metric         <span class=\"token operator\">|<\/span><br \/>\n&#043;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;&#8212;&#8212;&#8212;&#8212;&#043;&#8212;&#8212;&#8212;&#8212;&#8212;-&#043;<\/p>\n<p>\u67e5\u770bOpenStack endpoint: \u4e09\u4e2a\u5165\u53e3&#xff1a;admin\\\\public\\\\internal<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064927-6aa647778d031.png\" alt=\"img_0008\" \/><\/p>\n<p>\u67e5\u770bcatalog:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064927-6aa64777f1649.png\" alt=\"img_0009\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064928-6aa647783975f.png\" alt=\"img_0010\" \/><\/p>\n<h4>\u7406\u89e3Keystone\u6838\u5fc3\u6982\u5ff5<\/h4>\n<p>\u4f5c\u4e3a OpenStack \u7684\u57fa\u7840\u652f\u6301\u670d\u52a1&#xff0c;Keystone \u505a\u4e0b\u9762\u8fd9\u51e0\u4ef6\u4e8b\u60c5&#xff1a; 1. \u7ba1\u7406\u7528\u6237\u53ca\u5176\u6743\u9650 2. \u7ef4\u62a4 OpenStack Services \u7684 Endpoint 3. Authentication&#xff08;\u8ba4\u8bc1&#xff09;\u548c Authorization&#xff08;\u9274\u6743&#xff09; \u5b66\u4e60 Keystone&#xff0c;\u5f97\u7406\u89e3\u4e0b\u9762\u8fd9\u4e9b\u6982\u5ff5&#xff1a; User User \u6307\u4ee3\u4efb\u4f55\u4f7f\u7528 OpenStack \u7684\u5b9e\u4f53&#xff0c;\u53ef\u4ee5\u662f\u771f\u6b63\u7684\u7528\u6237&#xff0c;\u5176\u4ed6\u7cfb\u7edf\u6216\u8005\u670d\u52a1\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064928-6aa647788e62c.png\" alt=\"img_0011\" \/><\/p>\n<p>\u5f53 User \u8bf7\u6c42\u8bbf\u95ee OpenStack \u65f6&#xff0c;Keystone \u4f1a\u5bf9\u5176\u8fdb\u884c\u9a8c\u8bc1\u3002Horizon \u5728\u8eab\u4efd\u7ba1\u7406&gt;\u7528\u6237 \u7ba1\u7406 User<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064928-6aa64778a5f9e.png\" alt=\"img_0012\" \/><\/p>\n<p>\u9664\u4e86 admin&#xff0c;OpenStack \u4e5f\u4e3a nova\u3001cinder\u3001glance\u3001neutron \u670d\u52a1\u521b\u5efa\u4e86\u76f8\u5e94\u7684 User\u3002 admin \u4e5f \u53ef\u4ee5\u7ba1\u7406\u8fd9\u4e9b User\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064928-6aa64778e58a8.png\" alt=\"img_0013\" \/><\/p>\n<p>Credentials Credentials \u662f User \u7528\u6765\u8bc1\u660e\u81ea\u5df1\u8eab\u4efd\u7684\u4fe1\u606f&#xff0c;\u53ef\u4ee5\u662f&#xff1a; 1. \u7528\u6237\u540d\/\u5bc6\u7801 2. Token 3. API Key 4. \u5176\u4ed6\u9ad8\u7ea7\u65b9\u5f0f<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064929-6aa647797f5c3.png\" alt=\"img_0014\" \/><\/p>\n<p>Authentication Authentication \u662f Keystone \u9a8c\u8bc1 User \u8eab\u4efd\u7684\u8fc7\u7a0b\u3002User \u8bbf\u95ee OpenStack \u65f6\u5411 Keystone \u63d0\u4ea4\u7528\u6237\u540d \u548c\u5bc6\u7801\u5f62\u5f0f\u7684 Credentials&#xff0c;Keystone \u9a8c\u8bc1\u901a\u8fc7\u540e\u4f1a\u7ed9 User \u7b7e\u53d1\u4e00\u4e2a Token \u4f5c\u4e3a\u540e\u7eed\u8bbf\u95ee\u7684 Credential\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064929-6aa6477997322.png\" alt=\"img_0015\" \/><\/p>\n<p>Token Token \u662f\u7531\u6570\u5b57\u548c\u5b57\u6bcd\u7ec4\u6210\u7684\u5b57\u7b26\u4e32&#xff0c;User \u6210\u529f Authentication \u540e Keystone \u751f\u6210 Token \u5e76\u5206\u914d\u7ed9 User\u3002 1. Token \u7528\u505a\u8bbf\u95ee Service \u7684 Credential 2. Service \u4f1a\u901a\u8fc7 Keystone \u9a8c\u8bc1 Token \u7684\u6709\u6548\u6027 3. Token \u7684\u6709\u6548\u671f\u9ed8\u8ba4\u662f 24 \u5c0f\u65f6<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064929-6aa64779afbaf.png\" alt=\"img_0016\" \/><\/p>\n<p>Project Project \u7528\u4e8e\u5c06 OpenStack \u7684\u8d44\u6e90&#xff08;\u8ba1\u7b97\u3001\u5b58\u50a8\u548c\u7f51\u7edc&#xff09;\u8fdb\u884c\u5206\u7ec4\u548c\u9694\u79bb\u3002 \u6839\u636e OpenStack \u670d\u52a1\u7684\u5bf9\u8c61\u4e0d\u540c&#xff0c;Project \u53ef\u4ee5\u662f\u4e00\u4e2a\u5ba2\u6237&#xff08;\u516c\u6709\u4e91&#xff0c;\u4e5f\u53eb\u79df\u6237&#xff09;\u3001\u90e8\u95e8\u6216\u8005\u9879\u76ee\u7ec4 &#xff08;\u79c1\u6709\u4e91&#xff09;\u3002 \u8fd9\u91cc\u8bf7\u6ce8\u610f&#xff1a; 1. \u8d44\u6e90\u7684\u6240\u6709\u6743\u662f\u5c5e\u4e8e Project \u7684&#xff0c;\u800c\u4e0d\u662f User\u3002 2. \u5728 OpenStack \u7684\u754c\u9762\u548c\u6587\u6863\u4e2d&#xff0c;Tenant \/ Project \/ Account \u8fd9\u51e0\u4e2a\u672f\u8bed\u662f\u901a\u7528\u7684&#xff0c;\u4f46\u957f\u671f\u770b\u4f1a\u503e \u5411\u4f7f\u7528 Project 3. \u6bcf\u4e2a User&#xff08;\u5305\u62ec admin&#xff09;\u5fc5\u987b\u6302\u5728 Project \u91cc\u624d\u80fd\u8bbf\u95ee\u8be5 Project \u7684\u8d44\u6e90\u3002 \u4e00\u4e2aUser\u53ef\u4ee5\u5c5e\u4e8e\u591a \u4e2a Project\u3002 4. admin \u76f8\u5f53\u4e8e root \u7528\u6237&#xff0c;\u5177\u6709\u6700\u9ad8\u6743\u9650<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064929-6aa64779d94a3.png\" alt=\"img_0017\" \/><\/p>\n<p>Horizon \u5728 \u8eab\u4efd\u7ba1\u7406&gt;\u9879\u76ee \u4e2d\u7ba1\u7406 Project<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064929-6aa64779eaaf1.png\" alt=\"img_0018\" \/><\/p>\n<p>\u901a\u8fc7 \u7ba1\u7406\u6210\u5458\u5c06 User \u6dfb\u52a0\u5230 Project<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064930-6aa6477a43efa.png\" alt=\"img_0019\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064930-6aa6477abb492.png\" alt=\"img_0020\" \/><\/p>\n<p>Service OpenStack \u7684 Service \u5305\u62ec Compute (Nova)\u3001Block Storage (Cinder)\u3001Object Storage (Swift)\u3001 Image Service (Glance) \u3001Networking Service (Neutron) \u7b49\u3002\u6bcf\u4e2a Service \u90fd\u4f1a\u63d0\u4f9b\u82e5\u5e72\u4e2a Endpoint&#xff0c;User \u901a\u8fc7 Endpoint \u8bbf\u95ee\u8d44\u6e90\u548c\u6267\u884c\u64cd\u4f5c\u3002<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13b2fyh1d0uls.png\" alt=\"img_0021\" \/><\/p>\n<p>Endpoint Endpoint \u662f\u4e00\u4e2a\u7f51\u7edc\u4e0a\u53ef\u8bbf\u95ee\u7684\u5730\u5740&#xff0c;\u901a\u5e38\u662f\u4e00\u4e2a URL\u3002Service \u901a\u8fc7 Endpoint \u66b4\u9732\u81ea\u5df1\u7684 API\u3002 Keystone \u8d1f\u8d23\u7ba1\u7406\u548c\u7ef4\u62a4\u6bcf\u4e2a Service \u7684 Endpoint\u3002<\/p>\n<p><img decoding=\"async\" src=\"2026-09-1331mwi0kikxb.png\" alt=\"img_0022\" \/><\/p>\n<p>\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u7684\u547d\u4ee4\u6765\u67e5\u770b Endpoint\u3002 [root&#064;controller ~(keystone_admin)]# openstack endpoint list [root&#064;controller ~(keystone_admin)]# openstack catalog list<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13kik1runkhcv.png\" alt=\"img_0023\" \/><\/p>\n<p>Role \u5b89\u5168\u5305\u542b\u4e24\u90e8\u5206&#xff1a;Authentication&#xff08;\u8ba4\u8bc1&#xff09;\u548c Authorization&#xff08;\u9274\u6743&#xff09; Authentication \u89e3\u51b3\u7684\u662f\u201c\u4f60\u662f\u8c01&#xff1f;\u201d\u7684\u95ee\u9898 Authorization \u89e3\u51b3\u7684\u662f\u201c\u4f60\u80fd\u5e72\u4ec0\u4e48&#xff1f;\u201d\u7684\u95ee\u9898 Keystone \u501f\u52a9 Role \u5b9e\u73b0 Authorization&#xff1a; 1. Keystone\u5b9a\u4e49Role<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13kek5ijjkyfl.png\" alt=\"img_0024\" \/><\/p>\n<li>\u53ef\u4ee5\u4e3a User \u5206\u914d\u4e00\u4e2a\u6216\u591a\u4e2a Role&#xff0c;Horizon \u7684\u83dc\u5355\u4e3a Identity-&gt;Project-&gt;Manage Members<\/li>\n<p><img decoding=\"async\" src=\"2026-09-13wnyzflyyyfg.png\" alt=\"img_0025\" \/><\/p>\n<li>Service \u51b3\u5b9a\u6bcf\u4e2a Role \u80fd\u505a\u4ec0\u4e48\u4e8b\u60c5 Service \u901a\u8fc7\u5404\u81ea\u7684 policy.json \u6587\u4ef6\u5bf9 Role \u8fdb\u884c\u8bbf\u95ee\u63a7\u5236\u3002 \u4e0b\u9762\u662f Nova \u670d\u52a1 \/etc\/nova\/policy.json \u4e2d\u7684\u793a\u4f8b \u8bbf\u95ee\u7b56\u7565\u89c4\u5219\u4ee5JSON\u683c\u5f0f\u6307\u5b9a&#xff0c;\u6587\u4ef6\u540d\u4e3apolicy.json \u7b56\u7565\u6587\u4ef6\u7684\u8def\u5f84\u662f\/etc\/SERVICE_NAME\/policy.json&#xff0c;\u4f8b\u5982\/etc\/keystone\/policy.json packstack\u5b89\u88c5\u7b56\u7565\u6587\u4ef6\u8def\u5f84\u662f\/etc\/openstack-dashboard\/SERVICE_NAME_policy.json<\/li>\n<p><img decoding=\"async\" src=\"2026-09-13uczboj4kntg.png\" alt=\"img_0026\" \/><\/p>\n<p>OpenStack \u9ed8\u8ba4\u914d\u7f6e\u53ea\u533a\u5206 admin \u548c\u975e admin Role\u3002 \u5982\u679c\u9700\u8981\u5bf9\u7279\u5b9a\u7684 Role \u8fdb\u884c\u6388\u6743&#xff0c;\u53ef\u4ee5\u4fee \u6539 policy.json(\u4e00\u822c\u4e0d\u8981\u6539)\u3002\u4e0b\u4e00\u8282\u6211\u4eec\u5c06\u901a\u8fc7\u4f8b\u5b50\u52a0\u6df1\u5bf9\u8fd9\u4e9b\u6982\u5ff5\u7684\u7406\u89e3\u3002<\/p>\n<h4>\u901a\u8fc7\u4f8b\u5b50\u5b66\u4e60keystone<\/h4>\n<p>\u4e0a\u4e00\u8282\u4ecb\u7ecd\u4e86 Keystone \u7684\u6838\u5fc3\u6982\u5ff5\u3002\u672c\u8282\u6211\u4eec\u901a\u8fc7\u201c\u67e5\u8be2\u53ef\u7528 image\u201d\u8fd9\u4e2a\u5b9e\u9645\u64cd\u4f5c\u8ba9\u5927\u5bb6\u5bf9\u8fd9\u4e9b\u6982\u5ff5\u5efa \u7acb\u66f4\u52a0\u611f\u6027\u7684\u8ba4\u8bc6\u3002User admin \u8981\u67e5\u770b Project \u4e2d\u7684 image \u7b2c 1 \u6b65 \u767b\u5f55<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13qdttdx4xcx3.png\" alt=\"img_0027\" \/><\/p>\n<p>\u5f53\u70b9\u51fb \u767b\u5165 \u65f6&#xff0c;OpenStack \u5185\u90e8\u53d1\u751f\u4e86\u54ea\u4e9b\u4e8b\u60c5&#xff1f;\u8bf7\u770b\u4e0b\u9762<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13vu43qltiiig.png\" alt=\"img_0028\" \/><\/p>\n<p>Token \u4e2d\u5305\u542b\u4e86 User \u7684 Role \u4fe1\u606f \u7b2c 2 \u6b65 \u663e\u793a\u64cd\u4f5c\u754c\u9762<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13ixikiknr5nz.png\" alt=\"img_0029\" \/><\/p>\n<p>\u8bf7\u6ce8\u610f&#xff0c;\u9876\u90e8\u663e\u793a admin \u53ef\u8bbf\u95ee\u7684 Project \u4e3a \u201cadmin\u201d \u201d\u3002 \u5176\u5b9e\u5728\u6b64\u4e4b\u524d\u53d1\u751f\u4e86\u4e00\u4e9b\u4e8b\u60c5&#xff1a;<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13e2fpfegsawr.png\" alt=\"img_0030\" \/><\/p>\n<p>\u540c\u65f6&#xff0c;admin \u53ef\u4ee5\u8bbf\u95ee \u5b9e\u4f8b, \u955c\u50cf \u5377\u7b49\u670d\u52a1<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13kxifd4shnrx.png\" alt=\"img_0031\" \/><\/p>\n<p>\u8fd9\u662f\u56e0\u4e3a admin \u5df2\u7ecf\u4ece Keystone \u62ff\u5230\u4e86\u5404 Service \u7684 Endpoints<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13iusv22yrstx.png\" alt=\"img_0032\" \/><\/p>\n<p>\u7b2c 3 \u6b65 \u663e\u793a \u955c\u50cf \u5217\u8868 \u70b9\u51fb \u201c\u955c\u50cf\u201d&#xff0c;\u4f1a\u663e\u793a\u955c\u50cf\u5217\u8868<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13xa0dlmipz1p.png\" alt=\"img_0033\" \/><\/p>\n<p>\u80cc\u540e\u53d1\u751f\u4e86\u8fd9\u4e9b\u4e8b&#xff1a; \u9996\u5148 admin \u5c06\u8bf7\u6c42\u53d1\u9001\u5230 Glance \u7684 Endpoint<\/p>\n<p><img decoding=\"async\" src=\"2026-09-130jhibckybg1.png\" alt=\"img_0034\" \/><\/p>\n<p>Glance \u5411 Keystone \u8be2\u95ee admin \u8eab\u4efd\u662f\u5426\u6709\u6548<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13aaydiv2s2su.png\" alt=\"img_0035\" \/><\/p>\n<p>\u63a5\u4e0b\u6765 Glance \u4f1a\u67e5\u770b \/etc\/glance\/policy.json \u5224\u65ad admin \u662f\u5426\u6709\u67e5\u770b image \u7684\u6743\u9650<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13dsx0mfly5q1.png\" alt=\"img_0036\" \/><\/p>\n<p>\u6743\u9650\u5224\u5b9a\u901a\u8fc7&#xff0c;Glance \u5c06 image \u5217\u8868\u53d1\u7ed9 admin\u3002 Troubleshoot OpenStack \u6392\u67e5\u95ee\u9898\u7684\u65b9\u6cd5\u4e3b\u8981\u662f\u901a\u8fc7\u65e5\u5fd7\u3002 \u6bcf\u4e2a Service \u90fd\u6709\u81ea\u5df1\u7684\u65e5\u5fd7\u6587\u4ef6\u3002 Keystone \u4e3b\u8981\u6709\u4e00\u4e2a\u65e5\u5fd7&#xff1a; keystone.log \u4fdd\u5b58\u5728 \/var\/log\/keystone\/ \u76ee\u5f55\u91cc\u3002<\/p>\n<p><span class=\"token comment\"># \u5207\u6362\u5230\/var\/log\/keystone\/\u76ee\u5f55<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller nova<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd \/var\/log\/keystone\/<\/span><\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u5f53\u524d\u76ee\u5f55\u5185\u5bb9<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller keystone<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls<\/span><br \/>\nkeystone.log<\/p>\n<p>\u5982\u679c\u9700\u8981\u5f97\u5230\u6700\u8be6\u7ec6\u7684\u65e5\u5fd7\u4fe1\u606f&#xff0c;\u53ef\u4ee5\u5728 \/etc\/keystone\/keystone.conf \u4e2d\u6253\u5f00 debug \u9009\u9879<\/p>\n<p><span class=\"token comment\"># \u5207\u6362\u5230\/etc\/keystone\/\u76ee\u5f55<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller keystone<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># cd \/etc\/keystone\/<\/span><\/p>\n<p><span class=\"token comment\"># \u5217\u51fa\u5f53\u524d\u76ee\u5f55\u5185\u5bb9<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller keystone<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># ls<\/span><br \/>\ndefault_catalog.templates  fernet-keys  keystone.conf  logging.conf  policy.d<br \/>\npolicy.json  puppet.conf  sso_callback_template.html<\/p>\n<p><span class=\"token comment\"># \u7f16\u8f91keystone.conf\u914d\u7f6e\u6587\u4ef6<\/span><br \/>\n<span class=\"token punctuation\">[<\/span>root&#064;controller keystone<span class=\"token punctuation\">(<\/span>keystone_admin<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">]<\/span><span class=\"token comment\"># vim keystone.conf<\/span><br \/>\n<span class=\"token comment\"># \u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u7b2c94\u884c<\/span><br \/>\n<span class=\"token number\">94<\/span> <span class=\"token assign-left variable\">debug<\/span><span class=\"token operator\">&#061;<\/span>True<\/p>\n<p><img decoding=\"async\" src=\"2026-09-13i4jpvnkrnh4.png\" alt=\"img_0037\" \/><\/p>\n<ul>\n<li>\u6211\u4eec\u4ee5\u521b\u5efaVM\u4e3a\u4f8b&#xff0c;\u7ad9\u5728\u6574\u4e2aOpenStack\u89d2\u5ea6\u6765\u770b\u4e00\u4e0b&#xff0c;\u6574\u4e2a\u8ba4\u8bc1\u6d41\u7a0b\u662f\u600e\u6837\u7684\u3002 \u2022\u9996\u5148\u7528\u6237\u9700\u8981\u4f7f\u7528OpenStack&#xff0c;\u7b2c\u4e00\u6b65\u5c31\u8981\u5411Keystone\u63d0\u4f9b\u7528\u6237\u540d\u5bc6\u7801\u6765\u83b7\u53d6Token\u3002\u5f53\u7528\u6237\u83b7\u53d6 Token\u540e&#xff0c;\u9700\u8981\u5411Nova\u53d1\u9001\u521b\u5efa\u865a\u62df\u673a\u8bf7\u6c42&#xff0c;Nova\u8d1f\u8d23\u8c03\u7528\u8ba1\u7b97\u8d44\u6e90\u5e76\u7ba1\u7406\u865a\u62df\u673a\u7684\u751f\u547d\u5468\u671f&#xff0c;\u6240\u4ee5\u8fd9 \u4e2a\u521b\u5efa\u8bf7\u6c42\u8981\u53d1\u9001\u5230Nova\u3002\u8bf7\u6c42\u7684Head\u4e2d\u4f1a\u643a\u5e26Token&#xff0c;\u5f53Nova-api\u63a5\u6536\u5230\u8bf7\u6c42\u540e&#xff0c;\u4f1a\u5c06Token\u4f20\u9012\u5230 Keystone\u8fdb\u884c\u9a8c\u8bc1\u662f\u5426\u6709\u6548\u5408\u6cd5\u3002\u5f53\u9a8c\u8bc1\u6210\u529f\u540e\u8fd4\u56de\u4fe1\u606f\u7ed9Nova&#xff0c;Nova\u624d\u5f00\u59cb\u8fdb\u884c\u521b\u5efaVM\u64cd\u4f5c\u3002\u8fd9\u8fb9 \u4e0d\u5177\u4f53\u4ecb\u7ecdNova\u5982\u4f55\u64cd\u4f5c&#xff0c;\u4f46\u662f\u6211\u4eec\u77e5\u9053\u521b\u5efa\u4e00\u53f0\u865a\u62df\u673a&#xff0c;\u4e0d\u4ec5\u9700\u8981\u51c6\u5907CPU\u3001\u5185\u5b58\u7b49\u8ba1\u7b97\u8d44\u6e90&#xff0c;\u8fd8\u8981 \u6709\u76f8\u5e94\u7684\u7f51\u7edc\u3001\u5b58\u50a8\u7b49\u8d44\u6e90&#xff0c;\u8fd9\u91cc\u4ee5\u7f51\u7edc\u8d44\u6e90\u4e3a\u4f8b&#xff0c;Nova-api\u5c06token\u900f\u4f20\u7ed9Nova-compute&#xff0c;Nova- compute\u4f1a\u5411Neutron-server\u53d1\u9001\u4e0e\u7f51\u7edc\u76f8\u5173\u64cd\u4f5c\u8bf7\u6c42&#xff0c;\u8bf7\u6c42Head\u4e2d\u4e5f\u643a\u5e26Token&#xff0c;Neutron\u6536\u5230\u8bf7\u6c42 \u540e\u4e5f\u4f1a\u5c06Token\u4f20\u9012\u5230Keystone\u9a8c\u8bc1&#xff0c;\u9a8c\u8bc1\u6210\u529f\u624d\u6267\u884c\u76f8\u5e94\u64cd\u4f5c\u3002 \u2022\u8fd9\u4e2a\u6d41\u7a0b\u4e2d\u6211\u4eec\u53ef\u4ee5\u770b\u5230&#xff0c;\u4e0d\u540c\u670d\u52a1\u95f4\u7684\u8c03\u7528\u4e5f\u8981\u643a\u5e26Token&#xff0c;\u5e76\u4e14Keystone\u53ea\u6821\u9a8c\u4e86Token\u7684\u6709\u6548 \u6027&#xff0c;\u90a3\u4e48\u6bcf\u4e2a\u670d\u52a1\u7684\u64cd\u4f5c\u6743\u9650\u63a7\u5236\u662f\u600e\u4e48\u5b9e\u73b0\u7684\u5462&#xff1f;<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"2026-09-13yifks5ht24k.png\" alt=\"img_0038\" \/><\/p>\n<ul>\n<li>\u9996\u5148\u7528\u6237\u53d1\u9001\u57fa\u672c\u4fe1\u606f\u7ed9Keystone&#xff0c;\u4e00\u822c\u662f\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002Keystone\u7ecf\u8fc7\u9a8c\u8bc1\u540e\u4f1a\u8fd4\u56de\u4e00\u4e2aToken\u7ed9\u7528 \u6237&#xff0c;\u7528\u6237\u5411Nova\u53d1\u9001\u521b\u5efa\u865a\u62df\u673a\u8bf7\u6c42&#xff0c;\u5e76\u643a\u5e26Token\u4fe1\u606f&#xff0c;nova\u63a5\u6536\u5230\u8bf7\u6c42\u540e&#xff0c;\u4f1a\u62ff\u7740Token\u53bb Keystone\u8fdb\u884c\u9a8c\u8bc1&#xff0c;\u9a8c\u8bc1\u6210\u529f\u540e\u5f00\u59cb\u6267\u884c\u521b\u5efaVM\u64cd\u4f5c&#xff0c;Nova\u4f1a\u5411Glance\u53d1\u9001\u7533\u8bf7\u955c\u50cf\u4fe1\u606f\u5e76\u643a\u5e26 Token&#xff0c;\u4f1a\u5411Neutron\u53d1\u9001\u7533\u8bf7\u7f51\u7edc\u4fe1\u606f\u4e5f\u4f1a\u643a\u5e26Token&#xff0c;Glance\u548cNeutron\u7ec4\u4ef6\u63a5\u6536\u5230\u8bf7\u6c42\u540e&#xff0c;\u90fd\u4f1a\u5411 Keystone\u9a8c\u8bc1Token\u7684\u6709\u6548\u6027&#xff08;\u56fe\u4e2d\u4ec5\u7528\u4e86\u4e00\u6761\u7ebf\u8868\u793a&#xff0c;\u8bf7\u6ce8\u610f\u7406\u89e3&#xff09;&#xff0c;\u9a8c\u8bc1\u901a\u8fc7\u5373\u6267\u884c\u76f8\u5e94\u7684\u64cd\u4f5c&#xff0c; \u8fd4\u56de\u5b8c\u6210\u4fe1\u606f&#xff0c;\u5f53VM\u521b\u5efa\u5b8c\u6210\u540e&#xff0c;Nova\u8fd4\u56de\u521b\u5efa\u6210\u529f\u4fe1\u606f\u7ed9\u7528\u6237&#xff0c;\u7528\u6237\u5373\u53ef\u4f7f\u7528\u865a\u62df\u673a\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>OpenStack\u8ba4\u8bc1\u7ba1\u7406-Keystone \u6587\u7ae0\u76ee\u5f55OpenStack\u8ba4\u8bc1\u7ba1\u7406-KeystoneKeystone\u57fa\u672c\u6982\u5ff5\u7406\u89e3Keystone\u6838\u5fc3\u6982\u5ff5\u901a\u8fc7\u4f8b\u5b50\u5b66\u4e60keystoneKeystone\u57fa\u672c\u6982\u5ff5<br \/>\n\u6982\u5ff5\u8bf4\u660eDomain\u57df&#xff0c;Keystone\u4e2d\u4e00\u4e2a\u865a\u62df\u6982\u5ff5&#xff0c;\u4e00\u4e2a\u57df\u662f\u4e00\u7ec4User &#xff0c;Group\u6216Project\u7684\u5bb9\u5668User\u7528\u6237&#xff0c;\u662f\u53ef\u4ee5\u901a\u8fc7Keystone\u8bbf\u95eeOpenStack\u670d\u52a1\u7684\u4e2a\u4eba\u3001\u7cfb\u7edf\u6216\u67d0\u4e2a\u670d\u52a1Group\u7528\u6237\u7ec4&amp;<\/p>\n","protected":false},"author":2,"featured_media":104958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3329,97,44],"topic":[],"class_list":["post-104978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","tag-openstack","tag-97","tag-44"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/104978.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"OpenStack\u8ba4\u8bc1\u7ba1\u7406-Keystone \u6587\u7ae0\u76ee\u5f55OpenStack\u8ba4\u8bc1\u7ba1\u7406-KeystoneKeystone\u57fa\u672c\u6982\u5ff5\u7406\u89e3Keystone\u6838\u5fc3\u6982\u5ff5\u901a\u8fc7\u4f8b\u5b50\u5b66\u4e60keystoneKeystone\u57fa\u672c\u6982\u5ff5 \u6982\u5ff5\u8bf4\u660eDomain\u57df&#xff0c;Keystone\u4e2d\u4e00\u4e2a\u865a\u62df\u6982\u5ff5&#xff0c;\u4e00\u4e2a\u57df\u662f\u4e00\u7ec4User &#xff0c;Group\u6216Project\u7684\u5bb9\u5668User\u7528\u6237&#xff0c;\u662f\u53ef\u4ee5\u901a\u8fc7Keystone\u8bbf\u95eeOpenStack\u670d\u52a1\u7684\u4e2a\u4eba\u3001\u7cfb\u7edf\u6216\u67d0\u4e2a\u670d\u52a1Group\u7528\u6237\u7ec4&amp;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/104978.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T06:49:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064923-6aa647739b889.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/104978.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/104978.html\",\"name\":\"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2026-09-13T06:49:31+00:00\",\"dateModified\":\"2026-09-13T06:49:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/104978.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/104978.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/104978.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/104978.html","og_locale":"zh_CN","og_type":"article","og_title":"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"OpenStack\u8ba4\u8bc1\u7ba1\u7406-Keystone \u6587\u7ae0\u76ee\u5f55OpenStack\u8ba4\u8bc1\u7ba1\u7406-KeystoneKeystone\u57fa\u672c\u6982\u5ff5\u7406\u89e3Keystone\u6838\u5fc3\u6982\u5ff5\u901a\u8fc7\u4f8b\u5b50\u5b66\u4e60keystoneKeystone\u57fa\u672c\u6982\u5ff5 \u6982\u5ff5\u8bf4\u660eDomain\u57df&#xff0c;Keystone\u4e2d\u4e00\u4e2a\u865a\u62df\u6982\u5ff5&#xff0c;\u4e00\u4e2a\u57df\u662f\u4e00\u7ec4User &#xff0c;Group\u6216Project\u7684\u5bb9\u5668User\u7528\u6237&#xff0c;\u662f\u53ef\u4ee5\u901a\u8fc7Keystone\u8bbf\u95eeOpenStack\u670d\u52a1\u7684\u4e2a\u4eba\u3001\u7cfb\u7edf\u6216\u67d0\u4e2a\u670d\u52a1Group\u7528\u6237\u7ec4&amp;","og_url":"https:\/\/www.wsisp.com\/helps\/104978.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2026-09-13T06:49:31+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2026\/09\/20260913064923-6aa647739b889.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"9 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/104978.html","url":"https:\/\/www.wsisp.com\/helps\/104978.html","name":"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2026-09-13T06:49:31+00:00","dateModified":"2026-09-13T06:49:31+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/104978.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/104978.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/104978.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"OpenStack \u8ba4\u8bc1\u7ba1\u7406\uff1aKeystone \u8eab\u4efd\u670d\u52a1\u8be6\u89e3\u4e0e\u5b9e\u64cd"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/104978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=104978"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/104978\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/104958"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=104978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=104978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=104978"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=104978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}