---
name: cloud-object-storage-getting-started
title: Getting started with IBM Cloud Object Storage
description: IBM Cloud&reg; Object Storage stores encrypted and dispersed data across multiple geographic locations. This getting started tutorial walks through the steps that are needed to use IBM Cloud Object Storage to create buckets, upload objects, and set up access policies to allow other users to work with your data.
last-updated: 2026-07-01
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/cloud-object-storage?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Getting started with IBM Cloud Object Storage
{: #getting-started-cloud-object-storage}

IBM Cloud&reg; Object Storage stores encrypted and dispersed data across multiple geographic locations. This getting started tutorial walks through the steps that are needed to use IBM Cloud Object Storage to create buckets, upload objects, and set up access policies to allow other users to work with your data.
{: shortdesc}

## Before you begin
{: #getting-started}

You need the following to get started with IBM Cloud Object Storage:
- An [IBM Cloud&reg; Platform account](https://cloud.ibm.com)
- An [instance of IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-provision&format=markdown)
- Some files on your local computer to upload to Object Storage.

This tutorial takes a new user through the first steps with the IBM Cloud Platform console. Developers who want to get started with the API, see the [Developer's Guide](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-gs-dev&format=markdown) or [API overview](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-compatibility-api&format=markdown).

## Create some buckets to store your data
{: #gs-create-buckets}

1. [Ordering IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-provision&format=markdown) creates a _service instance_. IBM Cloud Object Storage is a multi-tenant system, and all instances of Object Storage share physical infrastructure. You are automatically redirected to the service instance upon its creation. Your Object Storage instances are listed under **Storage** in [the resource list](https://cloud.ibm.com/resources).

   The terms 'resource instance' and 'service instance' refer to the same concept, and can be used interchangeably.
   {: tip}


1. You need a bucket before you can store data in your new _service instance_. To **Create a bucket**, start by choosing a unique name. All buckets in all regions across the globe share a single namespace. Ensure that you have the [correct permissions](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-iam-bucket-permissions&format=markdown) to create a bucket.

   When you name buckets or objects, be sure to avoid the use of Personally Identifiable Information (PII). PII is information that can identify any user (natural person) by name, location, or any other means.
   {: tip}

   Bucket names are required to be DNS addressable and are not case-sensitive.
   {: tip}

2. First, choose the [level of _resiliency_](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints&format=markdown) you want. Then, choose a _location_ where you would like your data to be physically stored. Resiliency refers to the scope and scale of the geographic area across which your data is distributed. _Cross Region_ resiliency spreads your data across several metropolitan areas, while _Regional_ resiliency spreads data across a single metropolitan area. A _Single Data Center_ distributes data across devices within a single site only.

3. Choose the [bucket's _storage class_](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-classes&format=markdown) to accurately reflect how often you expect to read the stored data. This is important as it determines your billing details. Follow the **Create** link to create and access your new bucket.

4. Determine the advanced configurations, if any, suitable to your content. You can store data by transitioning from any of the storage tiers (Standard, Vault, Cold Vault, and Flex) to long-term offline archive or use the online Cold Vault option.

Buckets are a way to organize your data, but they're not the sole way. Object names (often referred to as _object keys_) can use one or more forward slashes for a directory-like organizational system. You then use the portion of the object name before a delimiter to form an _object prefix_, which is used to list related objects in a single bucket through the Object Storage API.
{: tip}

## Add some objects to your buckets
{: #gs-add-objects}

Now go ahead and go to one of your buckets by selecting it from the list. Click **Add Objects**. New objects overwrite existing objects with the same names within the same bucket. When you use the console to upload objects the object name always matches the file name. There doesn't need to be any relationship between the file name and the object key if you're using the API to write data. Go ahead and add a handful of files to this bucket.

Objects are limited to 200 MB when uploaded through the console unless you use the [Aspera high-speed transfer](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-upload&format=markdown) plug-in or use Cross-Origin Resource Sharing (CORS), by setting the CORS headers. Larger objects (up to 10 TB) can also be [split into parts and uploaded in parallel using the API](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-large-objects&format=markdown). Object keys can be up to 1024 characters in length, and it's best to avoid any characters that might be problematic in a web address. For example, `?`, `=`, `<`, and other special characters might cause unwanted behavior if not URL-encoded.
{: tip}

## Search and filter objects in the UI
{: #gs-search-filter-objects}

You can use the Object Storage console to quickly locate objects within a bucket by using search and filtering capabilities. The UI provides both simple search and advanced filtering options to help you efficiently find objects based on specific properties.

### Search objects by prefix
{: #gs-search-by-prefix}

You can quickly find objects by searching for their names or prefixes.

1. In the **Objects** tab of your bucket, select **Filter by: Prefix only**.
2. Enter a keyword or prefix in the search field.
3. The object list updates automatically based on the entered value.

The search is based on the object name (key), and results are filtered in real time as you type.
{: tip}

### Filter objects using advanced properties
{: #gs-filter-advanced}

You can apply advanced filters to narrow down objects based on multiple attributes.

1. In the **Objects** tab, select **Filter by: Advanced properties**.
2. Choose a property from the list:
   - **Name contains** or **Prefix**
   - **Size (Bytes)**
   - **Last modified**
   - **Extension**
3. Enter or select the required values.
4. (Optional) Click **Add filter** to include additional conditions.
5. Select **AND** or **OR** to define how multiple filters are applied.
6. Click **Apply** to view the filtered object list.

For example, you can find all objects larger than 500000 bytes with names containing "backup" by combining size and name filters.

### Available filter options
{: #gs-filter-options}

You can select from the following filter types:

| Filter option | Description |
| ------------- | ----------- |
| Prefix | Filters objects by the starting characters of the name. |
| Name contains | Matches objects that include specific text. |
| Size (Bytes) | Filters based on object size by using comparison operators. |
| Last modified | Filters based on modification date. |
| Extension | Filters objects by file type. |
{: caption="Object filter options" caption-side="bottom"}

### Combine multiple filters
{: #gs-combine-filters}

You can combine multiple filters to refine your search further:

- Use **AND** to return objects that match all conditions
- Use **OR** to return objects that match any condition

This helps in identifying objects more precisely in large datasets.

Filtering large buckets with many objects might affect browser performance. Results depend on the number of objects and applied filters.
{: note}

If an object with a special character is uploaded to a bucket, it might cause problems with displaying and accessing it in the UI. In these cases, the object should be deleted and reuploaded with a more standard name. You might delete these objects with Expiration or Lifecycle rules if the UI and CLI deletions are not successful. Avoid special characters to prevent any difficulties with accessing or deleting the object.
{: attention}

## How do I invite a user to administer buckets and data?
{: #gs-invite-user}
{: help}
{: support}

Bringing in another user and allow them to act as an administrator for the instance and any data stored in it is an important way to distribute responsibility for administering your IBM Cloud Object Storage instance.

1. To add the new user, you first need to leave the current Object Storage interface and head for the IAM console. Go to the **Manage** menu and follow the link at **Access (IAM)** > **Users**. Click **Invite users**.

1. Enter the email address of a user you want to invite to your organization, then expand the **Services** section and select "Resource" from the **Assign access to** menu. Now choose "Cloud Object Storage" from the **Services** menu.

1. Now, three more fields appear: _Service instance_, _Resource Type_, and _Resource ID_. The first field defines which instance of Object Storage the user can access. It can also be set to grant the same level of access to all instances of Object Storage. We can leave the other fields blank for now.

1. The checkbox under **Select roles** determines the set of actions available to the user. Select the "Administrator" platform access role to allow the user grant other [users and service IDs](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-iam-overview&format=markdown) access to the instance. Select the "Manager" service access role to allow the user to manage the Object Storage instance as well as create and delete buckets and objects. These combinations of a _Subject_ (user), _Role_ (Manager), and _Resource_ (Object Storage service instance) together form [IAM policies](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-iam-overview&format=markdown). For more detailed guidance on roles and policies, [see the IAM documentation](https://cloud.ibm.com/docs/account?topic=account-userroles&format=markdown).



## Give developers access to a bucket.
{: #gs-bucket-policy}

1. Navigate to the **Manage** menu and follow the link at **Access(IAM)** > **Service IDs**.  Here you can create a _service ID_, which serves as an abstracted identity bound to the account. Service IDs can be assigned API keys and are used in situations where you don't want to tie a particular Developer's identity to a process or component of an application.


1. Repeat the above process but in step 3, choose a particular service instance, and enter "bucket" as the _Resource Type_ and the [full CRN](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-troubleshooting-cos&format=markdown#troubleshooting-cos-details) of an existing bucket as the _Resource ID_.
1. Now the service ID can access that particular bucket, and no others.

## Next steps
{: #gs-next-steps}

Now that you are familiar with your object storage via the web-based console, you might be interested in doing a similar workflow from the command line. Check out using the `ibmcloud cos` command-line utility to create a service instance and interacting with IAM. And you can further use `curl` for accessing COS directly. [Check out the API overview](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-compatibility-api&format=markdown) to get started.