Help Center> Object Storage Service> Developer Guide> Permission Control> ACL> Conversion Between Two ACL Formats

Conversion Between Two ACL Formats

The following uses an example to describe the relationship between ACL formats. The example for a bucket is as follows:

  • x-obs-acl : private
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
          <Delivered>false</Delivered>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-acl : public-read-write
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
          <Delivered>false</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>READ</Permission>
          <Delivered>false</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>WRITE</Permission>
          <Delivered>false</Delivered>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-acl : public-read-write-delivered
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
          <Delivered>false</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>READ</Permission>
          <Delivered>true</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>WRITE</Permission>
          <Delivered>true</Delivered>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-grant-read-write-delivered : id= domainId1
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
          <Delivered>false</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <ID>domainId1</ID>
          </Grantee>
          <Permission>READ</Permission>
          <Delivered>true</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <ID>domainId1</ID>
          </Grantee>
          <Permission>WRITE</Permission>
          <Delivered>true</Delivered>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-grant-read : id=domainId1
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
          <Delivered>false</Delivered>
        </Grant>
        <Grant>
          <Grantee>
            <ID>domainId1</ID>
          </Grantee>
          <Permission>READ</Permission>
          <Delivered>false</Delivered>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>

The example for an object is as follows:

  • x-obs-acl : private
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <Delivered>true</Delivered>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-acl : public-read-write
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <Delivered>true</Delivered>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>READ</Permission>
        </Grant>
        <Grant>
          <Grantee>
            <Canned>Everyone</Canned>
          </Grantee>
          <Permission>WRITE</Permission>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>
  • x-obs-grant-read : id=domainId1
    <AccessControlPolicy>
      <Owner>
        <ID>domainId</ID>
      </Owner>
      <Delivered>true</Delivered>
      <AccessControlList>
        <Grant>
          <Grantee>
            <ID>domainId</ID>
          </Grantee>
          <Permission>FULL_CONTROL</Permission>
        </Grant>
        <Grant>
          <Grantee>
            <ID>domainId1</ID>
          </Grantee>
          <Permission>READ</Permission>
        </Grant>
      </AccessControlList>
    </AccessControlPolicy>