"use strict";(self.webpackChunkelementary_public_docs=self.webpackChunkelementary_public_docs||[]).push([[92067],{15680:(e,t,r)=>{r.d(t,{xA:()=>p,yg:()=>m});var n=r(96540);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var o=n.createContext({}),s=function(e){var t=n.useContext(o),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},p=function(e){var t=s(e.components);return n.createElement(o.Provider,{value:t},e.children)},g="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},y=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,o=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),g=s(r),y=a,m=g["".concat(o,".").concat(y)]||g[y]||u[y]||l;return r?n.createElement(m,c(c({ref:t},p),{},{components:r})):n.createElement(m,c({ref:t},p))}));function m(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,c=new Array(l);c[0]=y;var i={};for(var o in t)hasOwnProperty.call(t,o)&&(i[o]=t[o]);i.originalType=e,i[g]="string"==typeof e?e:a,c[1]=i;for(var s=2;s{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>u,frontMatter:()=>l,metadata:()=>i,toc:()=>s});var n=r(58168),a=(r(96540),r(15680));const l={sidebar_position:3},c="\u8ba4\u8bc1\u9274\u6743",i={unversionedId:"support/rm/openapi/authentication",id:"support/rm/openapi/authentication",title:"\u8ba4\u8bc1\u9274\u6743",description:"\u8bbf\u95ee\u51ed\u8bc1",source:"@site/docs/support/rm/openapi/authentication.md",sourceDirName:"support/rm/openapi",slug:"/support/rm/openapi/authentication",permalink:"/help/docs/support/rm/openapi/authentication",draft:!1,editUrl:"https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/support/rm/openapi/authentication.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"API\u6982\u89c8",permalink:"/help/docs/support/rm/openapi/ApiOverview"},next:{title:"\u521b\u5efa\u7ba1\u7406\u7ec4",permalink:"/help/docs/support/rm/openapi/hierarchy-service-create-management-group"}},o={},s=[{value:"\u8bbf\u95ee\u51ed\u8bc1",id:"\u8bbf\u95ee\u51ed\u8bc1",level:2},{value:"\u8bf7\u6c42\u7b7e\u540d",id:"\u8bf7\u6c42\u7b7e\u540d",level:2},{value:"\u8ba1\u7b97\u7b7e\u540d",id:"\u8ba1\u7b97\u7b7e\u540d",level:2},{value:"\u4f8b\u5b50",id:"\u4f8b\u5b50",level:2}],p={toc:s},g="wrapper";function u(e){let{components:t,...r}=e;return(0,a.yg)(g,(0,n.A)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"\u8ba4\u8bc1\u9274\u6743"},"\u8ba4\u8bc1\u9274\u6743"),(0,a.yg)("h2",{id:"\u8bbf\u95ee\u51ed\u8bc1"},"\u8bbf\u95ee\u51ed\u8bc1"),(0,a.yg)("p",null,"Access Key\uff08\u8bbf\u95ee\u5bc6\u94a5\uff09\u662f\u4e00\u79cd\u7528\u4e8e\u8eab\u4efd\u9a8c\u8bc1\u548c\u6388\u6743\u7684\u51ed\u636e\uff0c\u7528\u4e8e\u8bbf\u95ee\u548c\u4f7f\u7528\u5404\u79cd\u670d\u52a1\u548cAPI\u3002Access Key \u901a\u5e38\u7531\u7528\u6237\u5728\u7528\u6237\u63a7\u5236\u53f0-\u5b89\u5168\u4e2d\u5fc3\u751f\u6210\u548c\u7ba1\u7406\u3002"),(0,a.yg)("p",null,"Access Key \u7531\u4e24\u90e8\u5206\u7ec4\u6210\uff1aAccess Key ID\uff08\u8bbf\u95ee\u5bc6\u94a5\u6807\u8bc6\u7b26\uff09\u548c Secret Access Key\uff08\u8bbf\u95ee\u5bc6\u94a5\u5bc6\u94a5\uff09\u3002Access Key ID \u662f\u7528\u4e8e\u6807\u8bc6\u8bbf\u95ee\u5bc6\u94a5\u7684\u552f\u4e00\u6807\u8bc6\u7b26\uff0c\u800c Secret Access Key \u5219\u662f\u7528\u4e8e\u5bf9\u8bf7\u6c42\u8fdb\u884c\u7b7e\u540d\u548c\u8eab\u4efd\u9a8c\u8bc1\u7684\u673a\u5bc6\u5bc6\u94a5\u3002"),(0,a.yg)("p",null,"\u4f7f\u7528 Access Key \u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\u53ef\u4ee5\u63d0\u4f9b\u4e00\u5b9a\u7684\u5b89\u5168\u6027\uff0c\u56e0\u4e3a\u53ea\u6709\u6301\u6709\u6b63\u786e\u7684 Access Key \u624d\u80fd\u901a\u8fc7\u8eab\u4efd\u9a8c\u8bc1\u5e76\u83b7\u5f97\u8bbf\u95ee\u6743\u9650\u3002Access Key \u901a\u5e38\u9700\u8981\u59a5\u5584\u4fdd\u7ba1\uff0c\u907f\u514d\u6cc4\u9732\u7ed9\u672a\u7ecf\u6388\u6743\u7684\u4eba\u5458\u6216\u5e94\u7528\u7a0b\u5e8f\u3002"),(0,a.yg)("p",null,"\u5728\u4f7f\u7528\u67d0\u4e9b\u670d\u52a1\u6216API\u65f6\uff0c\u9700\u8981\u5728\u8bf7\u6c42\u4e2d\u5305\u542b Access Key \u76f8\u5173\u7684\u4fe1\u606f\uff0c\u4ee5\u8bc1\u660e\u8eab\u4efd\u5e76\u83b7\u5f97\u6388\u6743\u3002\u5177\u4f53\u7684\u4f7f\u7528\u65b9\u6cd5\u548c\u8981\u6c42\u53d6\u51b3\u4e8e\u6240\u4f7f\u7528\u7684\u670d\u52a1\u6216API\u7684\u63d0\u4f9b\u5546\u3002\u901a\u5e38\uff0cAccess Key \u76f8\u5173\u7684\u4fe1\u606f\u9700\u8981\u4f5c\u4e3a\u8bf7\u6c42\u7684\u4e00\u90e8\u5206\uff0c\u53ef\u4ee5\u901a\u8fc7\u8bf7\u6c42\u5934\u3001\u8bf7\u6c42\u53c2\u6570\u6216\u8bf7\u6c42\u4f53\u7684\u5f62\u5f0f\u8fdb\u884c\u4f20\u9012\u3002"),(0,a.yg)("h2",{id:"\u8bf7\u6c42\u7b7e\u540d"},"\u8bf7\u6c42\u7b7e\u540d"),(0,a.yg)("p",null,"\u5e73\u53f0\u63d0\u4f9b\u4e86\u5b89\u5168\u7684",(0,a.yg)("strong",{parentName:"p"},"\u7b7e\u540d\u6821\u9a8c")," \u65b9\u5f0f\uff0cAPI\u8bbf\u95ee\u4e2d\u9700\u8981\u751f\u6210Http Authorization Header, \u53ea\u6709\u901a\u8fc7\u7b7e\u540d\u6821\u9a8c\u7684\u8bf7\u6c42\u624d\u80fd\u5230\u8fbe\u4e1a\u52a1\u540e\u7aef\u3002"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-text",metastring:"codeBlock_bY9V thin-scrollbar",codeBlock_bY9V:!0,"thin-scrollbar":!0},'\n Authorization: hmac accesskey="{accesskey}", algorithm="{algorithm}", headers="{headers}", signature="{signature}"\n\n')),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:null},"\u53c2\u6570\u540d\u79f0"),(0,a.yg)("th",{parentName:"tr",align:null},"\u7c7b\u578b"),(0,a.yg)("th",{parentName:"tr",align:null},"\u8bf4\u660e"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},"accesskey"),(0,a.yg)("td",{parentName:"tr",align:null},"string"),(0,a.yg)("td",{parentName:"tr",align:null},"\u7528\u6237\u7684access key id")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},"algorithm"),(0,a.yg)("td",{parentName:"tr",align:null},"string"),(0,a.yg)("td",{parentName:"tr",align:null},"hmac-sha256")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},"headers"),(0,a.yg)("td",{parentName:"tr",align:null},"string"),(0,a.yg)("td",{parentName:"tr",align:null},"\u53c2\u4e0e\u7b7e\u540d\u8ba1\u7b97\u7684header, \u5f53\u524d\u4e3ax-date \u548crequest-line")),(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},"signature"),(0,a.yg)("td",{parentName:"tr",align:null},"string"),(0,a.yg)("td",{parentName:"tr",align:null},"\u8bf7\u6c42\u7b7e\u540d")))),(0,a.yg)("h2",{id:"\u8ba1\u7b97\u7b7e\u540d"},"\u8ba1\u7b97\u7b7e\u540d"),(0,a.yg)("p",null,"\u5bf9HTTP\u8bf7\u6c42\u8fdb\u884c\u89c4\u8303\u5e76\u53d6\u5f97\u8bf7\u6c42\u7684\u54c8\u5e0c\u503c\u540e\uff0c\u5c06\u5176\u4e0e\u7b7e\u540d\u7b97\u6cd5\u3001\u7b7e\u540d\u65f6\u95f4\u4e00\u8d77\u7ec4\u6210\u5f85\u7b7e\u540d\u5b57\u7b26\u4e32\u3002"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-text",metastring:"codeBlock_bY9V thin-scrollbar",codeBlock_bY9V:!0,"thin-scrollbar":!0},'\nStringToSign =\n "x-data: {X-Data}" + \\n +\n {RequestLine}\n\n')),(0,a.yg)("p",null,"\u4f2a\u4ee3\u7801\u4e2d\u53c2\u6570\u8bf4\u660e\u5982\u4e0b\u3002"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("strong",{parentName:"li"},"X-Date")," \uff1a\u8bf7\u6c42\u65f6\u95f4\u6233\u3002"),(0,a.yg)("li",{parentName:"ul"},"\u683c\u5f0f\u53c2\u8003",(0,a.yg)("a",{parentName:"li",href:"https://datatracker.ietf.org/doc/html/rfc2616#section-3.3"},"https://datatracker.ietf.org/doc/html/rfc2616#section-3.3")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("strong",{parentName:"li"},"RequestLine")," \uff1a",(0,a.yg)("a",{parentName:"li",href:"https://datatracker.ietf.org/doc/html/rfc2616#section-5.1"},"https://datatracker.ietf.org/doc/html/rfc2616#section-5.1"))),(0,a.yg)("p",null,"\u5c06SK\uff08Secret Access Key\uff09\u548c\u521b\u5efa\u7684\u5f85\u7b7e\u5b57\u7b26\u4e32\u4f5c\u4e3a\u52a0\u5bc6\u54c8\u5e0c\u51fd\u6570\u7684\u8f93\u5165\uff0c\u8ba1\u7b97\u7b7e\u540d\uff0c\u5c06\u4e8c\u8fdb\u5236\u503c\u8f6c\u6362\u4e3abase64\u8868\u793a\u5f62\u5f0f\u3002\u4f2a\u4ee3\u7801\u5982\u4e0b\uff1a"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-text",metastring:"codeBlock_bY9V thin-scrollbar",codeBlock_bY9V:!0,"thin-scrollbar":!0},"\nsignature = Base64Encode(HMAC(Secret Access Key, StringToSign))\n\n")),(0,a.yg)("table",null,(0,a.yg)("thead",{parentName:"table"},(0,a.yg)("tr",{parentName:"thead"},(0,a.yg)("th",{parentName:"tr",align:null},"Secret Access Key"),(0,a.yg)("th",{parentName:"tr",align:null},"\u7b7e\u540d\u5bc6\u94a5"))),(0,a.yg)("tbody",{parentName:"table"},(0,a.yg)("tr",{parentName:"tbody"},(0,a.yg)("td",{parentName:"tr",align:null},"string to sign"),(0,a.yg)("td",{parentName:"tr",align:null},"\u521b\u5efa\u7684\u5f85\u7b7e\u5b57\u7b26\u4e32")))),(0,a.yg)("h2",{id:"\u4f8b\u5b50"},"\u4f8b\u5b50"),(0,a.yg)("p",null,"AccessKey ID: 9eb0a32f-09c6-48da-8feb-34806dd60bdc"),(0,a.yg)("p",null,"AccessKey Secret: secret"),(0,a.yg)("p",null,"X-Date: Thu, 22 Jun 2017 17:15:21 GMT"),(0,a.yg)("p",null,"request-line: GET /requests HTTP/1.1"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-text",metastring:"codeBlock_bY9V thin-scrollbar",codeBlock_bY9V:!0,"thin-scrollbar":!0},'StringToSign = "x-data: {X-Data}" + \\n +{RequestLine}\n = "x-date: Thu, 22 Jun 2017 17:15:21 GMT\\nGET /requests HTTP/1.1"\nsignature = base64(hmac_sha256("secret", StringToSign)) \n = "IXlgb2baHcvPrV7a/C+hKS+E5oHIQXXyz4k4maWws50="\n\n')))}u.isMDXComponent=!0}}]);