Search code examples
ibm-cloud-infrastructureobject-storage

How to find canonical id in Softlayer?


How to find canonical id of the user in Softlayer. I could find this for AWS. but i using a new product by Softlayer called IBM COS.

aws --endpoint-url=https://s3-api.us-geo.objectstorage.softlayer.net s3api get-object-acl --bucket mytestbucket  --key foo.txt
{
    "Owner": {
        "DisplayName": "b25ce81dcaa1498db3d1c802badfsd",
        "ID": "b25ce81dcaa1498db3d1c802badfsd"
    },
    "Grants": [
        {
            "Grantee": {
                "Type": "Group",
                "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
            },
            "Permission": "READ"
        }
    ]
}

here the ID is canonical id. How to find this for a user through command line or the portal?


Solution

  • Currently, the 'canonical ID' shown in your request is the ID of the storage account itself. At this time there is no concept of a 'user' as far as object storage is concerned, only accounts (although this will change in the future as SoftLayer continues integrating more tightly with Bluemix). This means that as of now, ACLs can be used to grant other IBM COS Cross-Region accounts access at a granular level, or can make use of 'canned' ACLs to grant or restrict access at a coarse level.

    As such it isn't possible to find an ID for a user. An account's control ID can be found by retrieving an ACL for a bucket or object created by that account. There's some info about this in the documentation.