Object Storage Users

Manage IAM users for your Managed Object Storage services. Users can be assigned policies and access keys to control their permissions.


POST/1.3/object-storage-2/{service_uuid}/users

Create user

Creates a new service user by given {service_uuid}.

Attributes

  • Name
    username
    Type
    string
    Description

    The name of the user to create. 1-64 characters, pattern: [\w+=,.@-]+. Note: _upcloud-internal-user is reserved for internal use.

Request

POST
/1.3/object-storage-2/{service_uuid}/users
curl -X POST https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "username": "example_user"
  }'

GET/1.3/object-storage-2/{service_uuid}/users

List users

Returns a list of available service users by given {service_uuid}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users \
  -u your_username:your_password

GET/1.3/object-storage-2/{service_uuid}/users/{username}

Get user details

Returns service user details by given {service_uuid} and {username}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users/{username}
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user \
  -u your_username:your_password

DELETE/1.3/object-storage-2/{service_uuid}/users/{username}

Delete user

Deletes existing user by given {service_uuid} and {username}.

Request

DELETE
/1.3/object-storage-2/{service_uuid}/users/{username}
curl -X DELETE https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user \
  -u your_username:your_password

GET/1.3/object-storage-2/{service_uuid}/users/{username}/tags

Get user tags

Returns a user's tags by the given {service_uuid} and {username}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users/{username}/tags
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/tags \
  -u your_username:your_password

PUT/1.3/object-storage-2/{service_uuid}/users/{username}/tags

Replace user tags

Replaces a user's tags by the given {service_uuid} and {username}.

Request

PUT
/1.3/object-storage-2/{service_uuid}/users/{username}/tags
curl -X PUT https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/tags \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "key": "environment",
    "value": "staging"
  }'

DELETE/1.3/object-storage-2/{service_uuid}/users/{username}/tags/{tag_key}

Delete user tags

Deletes a user's tag by the given {service_uuid}, {username}, and {tag_key}.

Request

DELETE
/1.3/object-storage-2/{service_uuid}/users/{username}/tags/{tag_key}
curl -X DELETE https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/tags/environment \
  -u your_username:your_password

PUT/1.3/object-storage-2/{service_uuid}/users/{username}/permissions-boundary

Create permissions boundary

Creates a user's permissions boundary by the given {service_uuid} and {username}.

Attributes

  • Name
    policy_name
    Type
    string
    Description

    A valid string to represent the name of the IAM policy. 1-128 characters.

Request

PUT
/1.3/object-storage-2/{service_uuid}/users/{username}/permissions-boundary
curl -X PUT https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/permissions-boundary \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "policy_name": "sample-policy"
  }'

DELETE/1.3/object-storage-2/{service_uuid}/users/{username}/permissions-boundary

Delete permissions boundary

Deletes a user's permissions boundary by the given {service_uuid} and {username}.

Request

DELETE
/1.3/object-storage-2/{service_uuid}/users/{username}/permissions-boundary
curl -X DELETE https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/permissions-boundary \
  -u your_username:your_password

GET/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies

List user inline policies

Lists the user inline policies by the given {service_uuid} and {username}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/inline-policies \
  -u your_username:your_password

GET/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies/{policy_name}

Get user inline policy

Get the user inline policy by the given {service_uuid}, {username} and {policy_name}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies/{policy_name}
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/inline-policies/ECSS3FullAccess \
  -u your_username:your_password

POST/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies

Create user inline policy

Creates a user inline policy by the given {service_uuid} and {username}.

Attributes

  • Name
    name
    Type
    string
    Description

    The name of the policy. 1-128 characters.

  • Name
    document
    Type
    string
    Description

    The policy document in JSON format.

Request

POST
/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies
curl -X POST https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/inline-policies \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ECSS3FullAccess",
    "document": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Resource\":\"*\"}]}"
  }'

DELETE/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies/{policy_name}

Delete user inline policy

Deletes a user inline policy by the given {service_uuid}, {username} and {policy_name}.

Request

DELETE
/1.3/object-storage-2/{service_uuid}/users/{username}/inline-policies/{policy_name}
curl -X DELETE https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/inline-policies/ECSS3FullAccess \
  -u your_username:your_password

GET/1.3/object-storage-2/{service_uuid}/users/{username}/policies

List attached user policies

Lists the attached policies for a user by the given {service_uuid} and {username}.

Request

GET
/1.3/object-storage-2/{service_uuid}/users/{username}/policies
curl -X GET https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/policies \
  -u your_username:your_password

PUT/1.3/object-storage-2/{service_uuid}/users/{username}/policies/{policy_name}

Attach user policy

Attaches a policy to a user by the given {service_uuid}, {username} and {policy_name}.

Request

PUT
/1.3/object-storage-2/{service_uuid}/users/{username}/policies/{policy_name}
curl -X PUT https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/policies/ECSS3FullAccess \
  -u your_username:your_password

DELETE/1.3/object-storage-2/{service_uuid}/users/{username}/policies/{policy_name}

Detach user policy

Detaches a policy from a user by the given {service_uuid}, {username} and {policy_name}.

Request

DELETE
/1.3/object-storage-2/{service_uuid}/users/{username}/policies/{policy_name}
curl -X DELETE https://api.upcloud.com/1.3/object-storage-2/0ab2f83f-03f3-4c48-9a38-0a3e89c6d024/users/example_user/policies/ECSS3FullAccess \
  -u your_username:your_password