---
title: 'Изменить данные авторизации в OpenStack API'
sidebar_label: 'Изменить данные авторизации в OpenStack API'
sidebar_position: 4
description: 'Как изменить данные авторизации в OpenStack API'
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import CopyIcon from '@selectel/docux/icons/copy'
import {TabItemLabel} from '@selectel/docux/components'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Изменить данные для авторизации

Если вам нужно управлять ресурсами другого аккаунта, проекта, пула или под другим сервисным пользователем, измените данные для авторизации.

Процесс изменения данных зависит от того, как вы настроили авторизацию OpenStack API:

* если вы настраивали авторизацию средствами операционной системы – [измените данные авторизации в ОС](#edit-authorization-data-in-os);
* если вы настраивали авторизацию в Docker-контейнере – [измените данные авторизации в Docker-контейнере](#edit-authorization-data-in-docker).

### Изменить данные авторизации в ОС \{#edit-authorization-data-in-os}

<Tabs queryString="edit-authorization-data-in-os">
  <TabItem value="unix">
    <TabItemLabel>
      Linux/macOS
    </TabItemLabel>

    1. Откройте CLI.

    2. Откройте RC-файл в текстовом редакторе `nano`:

       ```bash
       nano /<directory_name>/<file_name>
       ```

       Укажите:

       * `<directory_name>` — имя директории с RC-файлом и Dockerfile;
       * `<file_name>` — имя RC-файла, который вы [скачали](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#download-rc-file-for-docker) для настройки OpenStack CLI. По умолчанию `rc.sh`.

    3. Измените данные авторизации в файле:

       ```bash
       export OS_PROJECT_DOMAIN_NAME='<account_id>'
       export OS_PROJECT_ID='<project_id>'
       export OS_TENANT_ID='<project_id>'
       export OS_REGION_NAME='<pool>'

       export OS_USER_DOMAIN_NAME='<account_id>'
       export OS_USERNAME='<user_name>'
       ```

       Укажите:

       * `<account_id>` — номер аккаунта. Можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу;
       * `<project_id>` — ID проекта. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/): в верхнем меню нажмите **Продукты** и выберите **Облачные серверы** → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите <CopyIcon />;
       * `<pool>` — [пул](/infrastructure/locations.mdx#pool), например `ru-2`;
       * `<user_name>` — имя сервисного пользователя, у которого есть доступ к управлению ресурсами. Можно посмотреть в [панели управления](https://my.selectel.ru/iam/service-users): в верхнем меню нажмите **IAM** → раздел **Сервисные пользователи**.

    4. Выйдите из текстового редактора `nano` с сохранением изменений: нажмите **Ctrl+Х**, а затем **Y+Enter**.

    5. Примените переменные окружения из RC-файла:

       ```bash
       source <file_name>
       ```

       Укажите `<file_name>` — имя RC-файла, который вы [скачали](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#download-rc-file-for-os) для настройки OpenStack CLI. По умолчанию `rc.sh`.

    6. Введите пароль OpenStack — пароль сервисного пользователя, которого вы указали на шаге 3.

    7. Убедитесь, что OpenStack CLI работает. Для этого откройте список облачных серверов:

       ```bash
       openstack server list
       ```

       Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в ответе появится их список. Если серверы пока не созданы, в ответе будет пустая строка.
  </TabItem>

  <TabItem value="windows">
    <TabItemLabel>
      Windows
    </TabItemLabel>

    1. Откройте CLI.

    2. Добавьте переменные окружения:

       ```bash
       set OS_AUTH_URL=<url>
       set OS_IDENTITY_API_VERSION=3
       set OS_VOLUME_API_VERSION=3
       set CLIFF_FIT_WIDTH=1
       set OS_PROJECT_DOMAIN_NAME=<account_id>
       set OS_PROJECT_ID=<project_id>
       set OS_TENANT_ID=<project_id>
       set OS_TENANT_NAME=<project_name>
       set OS_REGION_NAME=<pool>
       set OS_USER_DOMAIN_NAME=<account_id>
       set OS_USERNAME=<user_name>
       set OS_PASSWORD=<user_password>
       ```

       Укажите:

       * `<url>` — адрес (URL) для авторизации в API. Адрес зависит от региона и пула, можно посмотреть в подразделе [Аутентификация](/api/urls/#authorization) инструкции [Список URL](/api/urls/);
       * `<account_id>` — номер аккаунта. Можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу;
       * `<project_id>` — ID проекта. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/): в верхнем меню нажмите **Продукты** и выберите **Облачные серверы** → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите <CopyIcon />;
       * `<project_name>` — имя проекта. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/): в верхнем меню нажмите **Продукты** и выберите **Облачные серверы** → откройте меню проектов (название текущего проекта);
       * `<pool>` — [пул](/infrastructure/locations.mdx#pool), например `ru-2`;
       * `<user_name>` — имя сервисного пользователя, у которого есть доступ к управлению ресурсами. Можно посмотреть в [панели управления](https://my.selectel.ru/): в верхнем меню нажмите **IAM** → раздел **Сервисные пользователи**;
       * `<user_password>` — пароль сервисного пользователя. После создания пользователя посмотреть пароль нельзя — можно только сгенерировать новый. Подробнее в подразделе [Изменить пароль сервисного пользователя](/access-control/manage/edit-user-data-or-role.mdx#change-service-user-password) инструкции Изменить данные и роль пользователя.

    3. Убедитесь, что OpenStack CLI работает. Для этого откройте список облачных серверов:

       ```bash
       openstack server list
       ```

       Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в ответе появится их список. Если серверы пока не созданы, в ответе будет пустая строка.
  </TabItem>
</Tabs>

### Изменить данные авторизации в Docker-контейнере \{#edit-authorization-data-in-docker}

1. Откройте CLI.

2. Откройте RC-файл в текстовом редакторе `nano`:

   ```bash
   nano /<docker_directory>/<file_name>
   ```

   Укажите:

   * `<docker_directory>` — имя директории, в которую вы переместили RC-файл и Dockerfile;
   * `<file_name>` — имя RC-файла, который вы [скачали](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#download-rc-file-for-docker) для настройки OpenStack CLI. По умолчанию `rc.sh`.

3. Измените данные авторизации в файле:

   ```bash
   export OS_PROJECT_DOMAIN_NAME='<account_id>'
   export OS_PROJECT_ID='<project_id>'
   export OS_TENANT_ID='<project_id>'
   export OS_REGION_NAME='<pool>'

   export OS_USER_DOMAIN_NAME='<account_id>'
   export OS_USERNAME='<user_name>'
   ```

   Укажите:

   * `<account_id>` — номер аккаунта. Можно посмотреть в [панели управления](https://my.selectel.ru/) в правом верхнем углу;
   * `<project_id>` — ID проекта. Можно скопировать в [панели управления](https://my.selectel.ru/vpc/): в верхнем меню нажмите **Продукты** и выберите **Облачные серверы** → откройте меню проектов (название текущего проекта) → в строке нужного проекта нажмите <CopyIcon />;
   * `<pool>` — [пул](/infrastructure/locations.mdx#pool), например `ru-2`;
   * `<user_name>` — имя сервисного пользователя, у которого есть доступ к управлению ресурсами. Можно посмотреть в [панели управления](https://my.selectel.ru/iam/service-users): в верхнем меню нажмите **IAM** → раздел **Сервисные пользователи**.

4. Выйдите из текстового редактора `nano` с сохранением изменений: нажмите **Ctrl+Х**, а затем **Y+Enter**.

5. Запустите Docker-контейнер:

   ```bash
   docker run -ti --rm -v $(pwd):/workspace osc:dalmatian
   ```

6. Примените переменные окружения из RC-файла:

   ```bash
   source <file_name>
   ```

   Укажите `<file_name>` — имя RC-файла, который вы [скачали](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#download-rc-file-for-docker) для настройки OpenStack CLI. По умолчанию `rc.sh`.

7. Введите пароль OpenStack — пароль сервисного пользователя, для которого создан RC-файл.

8. Убедитесь, что OpenStack CLI работает. Для этого откройте список облачных серверов:

   ```bash
   openstack server list
   ```

   Если в пуле и проекте, которые указаны в переменных, созданы облачные серверы, то в выводе команды появится их список. Если серверы пока не созданы, в выводе команды будет пустая строка.

<Formbricks />
