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

# Open Telekom Cloud

In order to integrate with Open Telecom Cloud, you must:

1. Create the account to access data in the Object Storage Service.
2. Give the account read access to the desired buckets by:
   * Creating a Custom Bucket Policy.
   * (Optional) If you have *Cross-origin resource sharing (CORS)* configured on your buckets, make sure that `*.encord.com` is given read access.
3. Create the integration.

## 1. Start Setting up the Integration

1. To create an Open Telekom Cloud integration, click the **+ Add integration** button in the [Integrations tab](/platform-documentation/General/annotate-data-integrations). Select *OTC*.

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/create-integration-new.png" width="600" />
</div>

2. Give the integration a meaningful name

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/azure_integration/otc-integration-name.png" width="500" />
</div>

## 2. Create an Account for Encord IAM

1. Log in to the OTC console and navigate to the Identity and Access Management (IAM) dashboard.

2. Create a new user with *Programmatic access*.

<img src="https://storage.googleapis.com/docs-media.encord.com/static/img/admins/settings/integrations/otc/otc_create_user.png" width="900" />

3. Download the access key.

<img src="https://storage.googleapis.com/docs-media.encord.com/static/img/admins/settings/integrations/otc/otc_download_access_key.png" width="900" />

4. Paste the `OTC account access ID` and the `Secret access key` into Step 2 of the OTC integration window in Encord.

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/admins/settings/integrations/otc/paste-otc-deets.png" width="600" />
</div>

## 3. Give the Account Read Access to Your Buckets

1. In OTC, navigate to the bucket and click the **Create Bucket Policy** button.

2. Click **OK** to create the custom bucket policy.

<img src="https://storage.googleapis.com/docs-media.encord.com/static/img/admins/settings/integrations/otc/otc_custom_bucket_policy.png" width="900" />

## 4. Configuring CORS

<Warning>
  If you use Infrastructure as Code tools like Terraform, they can overwrite your manual CORS settings. To prevent this, always include the correct CORS policy in your Terraform configuration file.
</Warning>

If your bucket has a configured CORS policy, make sure it permits access from `*.encord.com`.

<img src="https://storage.googleapis.com/docs-media.encord.com/static/img/admins/settings/integrations/otc/otc_cors_rules.png" width="900" />

## 5. Create the Integration

In Encord, click the **Create** button at the bottom of the integration pop-up. The integration now appears in the list of integrations.

## 6. Testing the Integration

1. Click the **Run a test** button to test the integration.

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/otc-integration-new.png" width="300" />
</div>

2. Paste the URL of any object in the bucket and click **Check Encord can access this URI**. If the test is successful a green tick appears next to *Encord infrastructure* and *This machine*.

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/test-integration-success.png" width="550" />
</div>

***

## Register OTC Data

Navigate to the [Register cloud data](/platform-documentation/Curate/add-files/index-register-cloud-data) page for guidance on how to register data stored in OTC to Encord.
