> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to get started with Object Storage: Create your first bucket

Most ML/AI workloads involve large files, such as datasets and artifacts of trained models. To efficiently store, access and share them, you can use Object Storage, a simple storage service offered by Nebius AI Cloud.

In this guide, you will learn how to start using Object Storage. You will set up your environment to work with Object Storage, create your first *bucket*, a data container, and upload a test file.

## Prepare your environment

Make sure that you meet the prerequisites for your preferred interface:

<Tabs group="interfaces">
  <Tab title="Web console">
    Make sure you are in a [group](/iam/authorization/groups/index) that has at least the `editor` role within your tenant; for example, the default `editors` group. You can check this in the [Administration → IAM](https://console.nebius.com/iam) section of the web console.
  </Tab>

  <Tab title="Nebius AI Cloud CLI">
    In this guide, you will use the terminal in your environment, e.g. on your local machine, to run commands that create and manage Nebius AI Cloud resources. The commands use certain command line interfaces (CLIs) and tools that you need to install first. Here are all the installation commands in a single copy-and-paste block:

    <CodeGroup>
      ```bash Ubuntu theme={null}
      sudo apt-get install unzip jq
      curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
      unzip awscliv2.zip
      sudo ./aws/install
      curl -sSL https://storage.eu-north1.nebius.cloud/cli/install.sh | bash
      nebius profile create
      ```

      ```bash macOS theme={null}
      brew install jq
      curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
      sudo installer -pkg AWSCLIV2.pkg -target /
      curl -sSL https://storage.eu-north1.nebius.cloud/cli/install.sh | bash
      nebius profile create
      ```
    </CodeGroup>

    These commands will install the following:

    * **AWS CLI** ([how to install](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)) manages buckets and objects: Object Storage is compatible with Amazon S3. For Linux, the AWS CLI is distributed in a ZIP archive, so the commands also install the `unzip` package.
    * **jq** ([how to install](https://jqlang.github.io/jq/download/)) parses JSON outputs from the Nebius AI Cloud CLI and extracts resource IDs for other commands.
    * **Nebius AI Cloud CLI** ([how to install](../cli/install)) manages all Nebius AI Cloud resources. In this guide, the CLI is used to create access-related resources. It can also be used for creating and modifying Object Storage buckets, but not for uploading objects.

    The last command, `nebius profile create`, will guide you through several prompts. After you complete the prompts, your browser will open the Nebius AI Cloud web console sign-in screen. Sign in to the web console to complete the initialization. If you have access to multiple tenants, the CLI will prompt you to choose a tenant ID. After that, save your project ID in the CLI configuration:

    If the project ID has not been configured during the `nebius profile create` flow, [get the project ID](/iam/manage-projects#how-to-get-a-project-id) and save it in the CLI configuration:

    ```bash theme={null}
    nebius config set parent-id <project_ID>
    ```
  </Tab>
</Tabs>

## Configure access, credentials and AWS CLI settings

<Note>
  If you are using the [web console](https://console.nebius.com), you can skip this step and proceed to [creating a bucket](#create-a-bucket-and-upload-a-file-to-it).
</Note>

1. Create a service account and save its ID to an environment variable:

   ```bash theme={null}
   export NB_SA_ID=$(nebius iam service-account create \
     --name object-storage-sa --format json \
     | jq -r '.metadata.id')
   ```

2. Grant edit access to the service account:

   1. Get the tenant ID:

      ```bash theme={null}
      export NB_PROJECT_ID=$(nebius config get parent-id)
      export NB_TENANT_ID=$(nebius iam project get $NB_PROJECT_ID --format jsonpath='{.metadata.parent_id}')
      ```

   2. Get the ID of the default `editors` group:

      ```bash theme={null}
      export NB_EDITORS_GROUP_ID=$(nebius iam group get-by-name \
        --name editors --parent-id $NB_TENANT_ID \
        --format jsonpath='{.metadata.id}')
      ```

   3. Add the service account to `editors` group:

      ```bash theme={null}
      nebius iam group-membership create \
        --parent-id $NB_EDITORS_GROUP_ID \
        --member-id $NB_SA_ID
      ```

3. Create an [access key](/iam/service-accounts/access-keys) for the service account and get its AWS-like ID and contents:

   ```bash theme={null}
   export NB_ACCESS_KEY_ID=$(nebius iam access-key create \
     --account-service-account-id $NB_SA_ID \
     --description 'AWS CLI' \
     --format json | jq -r '.resource_id')
   export NB_ACCESS_KEY_AWS_ID=$(nebius iam access-key get-by-id \
     --id $NB_ACCESS_KEY_ID \
     --format json | jq -r '.status.aws_access_key_id')
   export NB_SECRET_ACCESS_KEY=$(nebius iam access-key get-secret-once \
     --id $NB_ACCESS_KEY_ID --format json \
     | jq -r '.secret')
   ```

4. Add the key to the AWS CLI configuration:

   ```bash theme={null}
   aws configure set aws_access_key_id $NB_ACCESS_KEY_AWS_ID
   aws configure set aws_secret_access_key $NB_SECRET_ACCESS_KEY
   ```

5. Depending on your project [region](/overview/regions), add the Nebius AI Cloud region ID and the Object Storage endpoint URL to the AWS CLI configuration:

   ```bash theme={null}
   aws configure set region <region_ID>
   aws configure set endpoint_url https://storage.<region_ID>.nebius.cloud
   ```

   For example, run the following commands for a project in `eu-north1`:

   ```bash theme={null}
   aws configure set region eu-north1
   aws configure set endpoint_url https://storage.eu-north1.nebius.cloud
   ```

## Create a bucket and upload a file to it

In Object Storage, a bucket is a container for *objects*. An object, in turn, is a file together with its metadata such as the file name (it is called *object key* in Object Storage terms). You can use the [web console](https://console.nebius.com) or the AWS CLI to create buckets and upload objects.

<Tabs group="interfaces">
  <Tab title="Web console">
    1. Create a bucket:
       1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/sidebar/storage.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=0a2dad6b48aea10e85f6f3e2343aee26" width="16" height="16" data-path="_assets/sidebar/storage.svg" /> **Storage** → **Object Storage**.

       2. Click <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/plus.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=7c9efc69d65fc58db0eb73702fd81aa1" width="16" height="16" data-path="_assets/plus.svg" /> **Create bucket**.

       3. (Optional) Specify the bucket name.

          The bucket name must be unique across the region. For more information, see [Naming](/object-storage/overview#naming).

       4. Set the [bucket parameters](/object-storage/buckets/manage#bucket-parameters).

       5. Click **Create bucket**.
    2. Upload a file:

       1. Click <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/plus.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=7c9efc69d65fc58db0eb73702fd81aa1" width="16" height="16" data-path="_assets/plus.svg" /> **Add** → **Object**.
       2. In the window that opens, select the file to upload.
       3. Click **Upload**.
    3. Check that the **Objects** tab shows the new object.
  </Tab>

  <Tab title="AWS CLI">
    1. Create a bucket:

       ```bash theme={null}
       aws s3 mb s3://quickstart-bucket
       ```

    2. Upload an object:

       ```bash theme={null}
       echo 'Hello world!' > test.txt
       aws s3 cp test.txt s3://quickstart-bucket/test.txt
       ```

    3. To make sure that the object has been uploaded, list the objects in the bucket:

       ```bash theme={null}
       aws s3 ls s3://quickstart-bucket
       ```
  </Tab>
</Tabs>
