doc-exports/docs/obs/api-ref/obs_04_0027.html
zhangyue 7d2a7ec198 OBS API DOC
Reviewed-by: Sabelnikov, Dmitriy <dmitriy.sabelnikov@t-systems.com>
Co-authored-by: zhangyue <zhangyue164@huawei.com>
Co-committed-by: zhangyue <zhangyue164@huawei.com>
2024-11-05 16:37:11 +00:00

307 lines
20 KiB
HTML

<a name="obs_04_0027"></a><a name="obs_04_0027"></a>
<h1 class="topictitle1">Configuring a Bucket Policy</h1>
<div id="body26544305"><div class="section" id="obs_04_0027__section5584184924715"><h4 class="sectiontitle">Functions</h4><p class="msonormal" id="obs_04_0027__p5987250">This operation creates or modifies policies for buckets. The existing policy in a bucket is overwritten by the policy in the request. You can add as many statements as you would like to a bucket. All these statements in JSON cannot exceed 20 KB.</p>
<p class="msonormal" id="obs_04_0027__p53885250">To perform this operation, the user must be the bucket owner or the bucket owner's IAM user that has permissions required for configuring bucket policies.</p>
</div>
<div class="section" id="obs_04_0027__section15205203"><h4 class="sectiontitle">Request Syntax</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen2605134"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span>PUT<span class="w"> </span>/?policy<span class="w"> </span>HTTP/1.1<span class="w"> </span>
Host:<span class="w"> </span>bucketname.obs.region.example.com
Date:<span class="w"> </span>date
Authorization:<span class="w"> </span>signatureValue
Policy<span class="w"> </span>written<span class="w"> </span>in<span class="w"> </span>JSON
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section2629102"><h4 class="sectiontitle">Request Parameters</h4><p class="msonormal" id="obs_04_0027__p24922659">This request contains no message parameters.</p>
</div>
<div class="section" id="obs_04_0027__section23661925"><h4 class="sectiontitle">Request Headers</h4><p class="msonormal" id="obs_04_0027__p5469531">This request uses common headers. For details, see <a href="obs_04_0007.html#obs_04_0007__table25197309">Table 3</a>.</p>
</div>
<div class="section" id="obs_04_0027__section11630735"><h4 class="sectiontitle">Request Elements</h4><p class="msonormal" id="obs_04_0027__p7499359534">The request body is a JSON string that contains the bucket policy information.</p>
</div>
<div class="section" id="obs_04_0027__section37567759"><h4 class="sectiontitle">Response Syntax</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen42500096"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span></pre></div></td><td class="code"><div><pre><span></span>HTTP/1.1<span class="w"> </span>status_code
Date:<span class="w"> </span>date
Content-Length:<span class="w"> </span>length
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section2565517"><h4 class="sectiontitle">Response Headers</h4><p class="msonormal" id="obs_04_0027__p1512332591013">The response to the request uses common headers. For details, see <a href="obs_04_0013.html#obs_04_0013__d0e686">Table 1</a>.</p>
</div>
<div class="section" id="obs_04_0027__section23089658"><h4 class="sectiontitle">Response Elements</h4><p class="msonormal" id="obs_04_0027__p19036118">This response contains no elements.</p>
</div>
<div class="section" id="obs_04_0027__section6480335"><h4 class="sectiontitle">Error Responses</h4><p class="msonormal" id="obs_04_0027__p65530572">No special error responses are returned. For details, see <a href="obs_04_0115.html#obs_04_0115__d0e843">Table 2</a>.</p>
</div>
<div class="section" id="obs_04_0027__section7816985174739"><h4 class="sectiontitle">Sample Request 1</h4><p id="obs_04_0027__p06017817213"><strong id="obs_04_0027__b136120251916">Grant permissions to an OBS tenant</strong>.</p>
<p id="obs_04_0027__p53741710144436">Grant permissions to the tenant whose ID is <strong id="obs_04_0027__b2073374316920">783fc6652cf246c096ea836694f71855</strong>.</p>
<p id="obs_04_0027__p924568111514">For details about how to obtain the tenant ID, see <a href="obs_04_0117.html">Obtaining a Domain ID and a User ID</a>. </p>
<div class="codecoloring" codetype="Xml" id="obs_04_0027__screen7883203144447"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span>PUT<span class="w"> </span>/?policy<span class="w"> </span>HTTP/1.1
Host:<span class="w"> </span>examplebucket.obs.region.example.com
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:32:25<span class="w"> </span>GMT
Authorization:<span class="w"> </span>OBS<span class="w"> </span>H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA=
{
<span class="w"> </span>&quot;Statement&quot;:<span class="w"> </span>[
<span class="w"> </span>{
<span class="w"> </span>&quot;Sid&quot;:<span class="w"> </span>&quot;Stmt1375240018061&quot;,
<span class="w"> </span>&quot;Action&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;GetBucketLogging&quot;
<span class="w"> </span>],
<span class="w"> </span>&quot;Effect&quot;:<span class="w"> </span>&quot;Allow&quot;,
<span class="w"> </span>&quot;Resource&quot;:<span class="w"> </span>&quot;logging.bucket&quot;,
<span class="w"> </span>&quot;Principal&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;ID&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;domain/783fc6652cf246c096ea836694f71855:user/*&quot;
<span class="w"> </span>]
<span class="w"> </span>}
<span class="w"> </span>}
<span class="w"> </span>]
}
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section52513512174842"><h4 class="sectiontitle">Sample Response 1</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen20225955175838"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span>HTTP/1.1<span class="w"> </span>204<span class="w"> </span>No<span class="w"> </span>Content
x-obs-request-id:<span class="w"> </span>7B6DFC9BC71DD58B061285551605709
x-obs-id-2:<span class="w"> </span>N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:32:25<span class="w"> </span>GMT
Content-Length:<span class="w"> </span>0
Server:<span class="w"> </span>OBS
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section62420254162610"><h4 class="sectiontitle">Sample Request 2</h4><p id="obs_04_0027__p960291982112"><strong id="obs_04_0027__b842352706103715">Grant permissions to an OBS user</strong>.</p>
<p id="obs_04_0027__p16263207144548">The user ID is <strong id="obs_04_0027__b649711143112">71f3901173514e6988115ea2c26d1999</strong>, and the account ID is <strong id="obs_04_0027__b149814146116">783fc6652cf246c096ea836694f71855</strong>.</p>
<p id="obs_04_0027__p95111020229">For details about how to obtain the account ID and user ID, see <a href="obs_04_0117.html">Obtaining a Domain ID and a User ID</a>. </p>
<div class="codecoloring" codetype="Xml" id="obs_04_0027__screen43469162144559"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span></pre></div></td><td class="code"><div><pre><span></span>PUT<span class="w"> </span>/?policy<span class="w"> </span>HTTP/1.1
Host:<span class="w"> </span>examplebucket.obs.region.example.com
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:33:28<span class="w"> </span>GMT
Authorization:<span class="w"> </span>OBS<span class="w"> </span>H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA=
{
<span class="w"> </span>&quot;Statement&quot;:<span class="w"> </span>[
<span class="w"> </span>{
<span class="w"> </span>&quot;Sid&quot;:<span class="w"> </span>&quot;Stmt1375240018062&quot;,
<span class="w"> </span>&quot;Action&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;PutBucketLogging&quot;
<span class="w"> </span>],
<span class="w"> </span>&quot;Effect&quot;:<span class="w"> </span>&quot;Allow&quot;,
<span class="w"> </span>&quot;Resource&quot;:<span class="w"> </span>&quot;examplebucket&quot;,
<span class="w"> </span>&quot;Principal&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;ID&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;domain/783fc6652cf246c096ea836694f71855:user/71f3901173514e6988115ea2c26d1999&quot;
<span class="w"> </span>]
<span class="w"> </span>}
<span class="w"> </span>}
<span class="w"> </span>]
}
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section4555671162610"><h4 class="sectiontitle">Sample Response 2</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen33465077162610"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span>HTTP/1.1<span class="w"> </span>204<span class="w"> </span>No<span class="w"> </span>Content
x-obs-request-id:<span class="w"> </span>7B6DFC9BC71DD58B061285551605709
x-obs-id-2:<span class="w"> </span>N0I2REZDOUJDNzFERDU4QjA2MTI4NTU1MTYwNTcwOUFBQUFBQUFBYmJiYmJiYmJD
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:33:28<span class="w"> </span>GMT
Content-Length:<span class="w"> </span>0
Server:<span class="w"> </span>OBS
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section18012296430"><h4 class="sectiontitle">Sample Request 3</h4><p id="obs_04_0027__p765843452119"><strong id="obs_04_0027__b12901747191618">Deny all users except the specified one all the operation permissions</strong>.</p>
<p id="obs_04_0027__p7510155920435">The user ID is <strong id="obs_04_0027__b12262652153511">71f3901173514e6988115ea2c26d1999</strong>, and the account ID is <strong id="obs_04_0027__b17417817368">783fc6652cf246c096ea836694f71855</strong>.</p>
<p id="obs_04_0027__p19354162619221">For details about how to obtain the account ID and user ID, see <a href="obs_04_0117.html">Obtaining a Domain ID and a User ID</a>. </p>
<div class="codecoloring" codetype="Xml" id="obs_04_0027__screen92591418114414"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span></pre></div></td><td class="code"><div><pre><span></span>PUT<span class="w"> </span>/?policy<span class="w"> </span>HTTP/1.1<span class="w"> </span>
Host:<span class="w"> </span>examplebucket.obs.region.example.com
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:34:34<span class="w"> </span>GMT
Authorization:<span class="w"> </span>OBS<span class="w"> </span>H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA=
<span class="w"> </span>
{
<span class="w"> </span>&quot;Statement&quot;:<span class="w"> </span>[
<span class="w"> </span>{
<span class="w"> </span>&quot;Effect&quot;:<span class="w"> </span>&quot;Deny&quot;,<span class="w"> </span>
<span class="w"> </span>&quot;Action&quot;:<span class="w"> </span>[&quot;*&quot;],<span class="w"> </span>
<span class="w"> </span>&quot;Resource&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;examplebucket/*&quot;,<span class="w"> </span>
<span class="w"> </span>&quot;examplebucket&quot;
<span class="w"> </span>],<span class="w"> </span>
<span class="w"> </span>&quot;NotPrincipal&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;ID&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;domain/783fc6652cf246c096ea836694f71855:user/71f3901173514e6988115ea2c26d1999&quot;,<span class="w"> </span>
<span class="w"> </span>&quot;domain/783fc6652cf246c096ea836694f71855&quot;
<span class="w"> </span>]
<span class="w"> </span>}
<span class="w"> </span>}
<span class="w"> </span>]
}
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section582262994311"><h4 class="sectiontitle">Sample Response 3</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen1769816556557"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span>HTTP/1.1<span class="w"> </span>204<span class="w"> </span>No<span class="w"> </span>Content<span class="w"> </span>
x-obs-request-id:<span class="w"> </span>A603000001604A7DFE4A4AF31E301891
x-obs-id-2:<span class="w"> </span>BKOvGmTlt6sda5X4G89PuMO4fabObGYmnpRGkaMba1LqPt0fCACEuCMllAObRK1n
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:34:34<span class="w"> </span>GMT
Content-Length:<span class="w"> </span>0
Server:<span class="w"> </span>OBS
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section14686142085618"><h4 class="sectiontitle">Sample Request 4</h4><p id="obs_04_0027__p535914011568"><strong id="obs_04_0027__b1027820223524">Request to allow only the specified domain name and external link requests that have no referer headers by using the URL validation whitelist.</strong></p>
<p id="obs_04_0027__p26421231122611">URL validation whitelist: <strong id="obs_04_0027__b842352706161230">http://storage.example.com</strong></p>
<div class="codecoloring" codetype="Xml" id="obs_04_0027__screen125857101416"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
<span class="normal"> 2</span>
<span class="normal"> 3</span>
<span class="normal"> 4</span>
<span class="normal"> 5</span>
<span class="normal"> 6</span>
<span class="normal"> 7</span>
<span class="normal"> 8</span>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span></pre></div></td><td class="code"><div><pre><span></span>PUT<span class="w"> </span>/?policy<span class="w"> </span>HTTP/1.1<span class="w"> </span>
Host:<span class="w"> </span>examplebucket.obs.region.example.com
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:34:34<span class="w"> </span>GMT
Authorization:<span class="w"> </span>OBS<span class="w"> </span>H4IPJX0TQTHTHEBQQCEC:jZiAT8Vx4azWEvPRMWi0X5BpJMA=
<span class="w"> </span>
{
<span class="w"> </span>&quot;Statement&quot;:<span class="w"> </span>[{
<span class="w"> </span>&quot;Effect&quot;:<span class="w"> </span>&quot;Deny&quot;,
<span class="w"> </span>&quot;Action&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;GetObject&quot;,
<span class="w"> </span>&quot;GetObjectVersion&quot;
<span class="w"> </span>],
<span class="w"> </span>&quot;Principal&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;ID&quot;:<span class="w"> </span>[&quot;*&quot;]
<span class="w"> </span>},
<span class="w"> </span>&quot;Resource&quot;:<span class="w"> </span>[&quot;examplebucket/*&quot;],
<span class="w"> </span>&quot;Condition&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;StringNotLike&quot;:<span class="w"> </span>{
<span class="w"> </span>&quot;Referer&quot;:<span class="w"> </span>[
<span class="w"> </span>&quot;http://storage.example.com*&quot;,
<span class="w"> </span>&quot;${null}&quot;
<span class="w"> </span>]
<span class="w"> </span>}
<span class="w"> </span>}
<span class="w"> </span>}]
}
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="obs_04_0027__section1062116195156"><h4 class="sectiontitle">Sample Response 4</h4><div class="codecoloring" codetype="Xml" id="obs_04_0027__screen20823429184315"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span>
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span>HTTP/1.1<span class="w"> </span>204<span class="w"> </span>No<span class="w"> </span>Content<span class="w"> </span>
x-obs-request-id:<span class="w"> </span>A603000001604A7DFE4A4AF31E301891
x-obs-id-2:<span class="w"> </span>BKOvGmTlt6sda5X4G89PuMO4fabObGYmnpRGkaMba1LqPt0fCACEuCMllAObRK1n
Date:<span class="w"> </span>WED,<span class="w"> </span>01<span class="w"> </span>Jul<span class="w"> </span>2015<span class="w"> </span>02:34:34<span class="w"> </span>GMT
Content-Length:<span class="w"> </span>0
Server:<span class="w"> </span>OBS
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="obs_04_0026.html">Advanced Bucket Settings</a></div>
</div>
</div>