Перейти к содержанию

Ключи API

Glarus BI позволяет создавать ключи API для аутентификации программных запросов к API. При установке разрешений для ключа API вы можете назначить ключ группе.

Важное предупреждение об API Glarus BI

В системе не используется версионность API Glarus BI. Мы редко меняем методы API и почти никогда не удаляем их, но если вы пишете код, который полагается на API, есть вероятность, что вам придётся обновлять ваш код в будущем.

Иногда хочется использовать API, когда идёт управление разрешениями для большого числа пользователей и групп, или при массовом архивировании, или при создании контента. Поэтому в систему добавлена возможность создавать ключи API для идентификации ваших программных запросов.

Создание API ключа

Чтобы создать API ключ:

  1. Перейдите: шестерёнка вверху справа > Управление > Настройки > Аутентификация.
  2. Прокрутите содержимое до Ключи API, нажмите Управление.
  3. Нажмите кнопку Создать ключ API.
  4. Введите Название ключа. Вы можете добавить несколько ключей API, название ключа поможет вам запомнить для чего используется ключ.
  5. Выберите Группу. Ключ будет иметь такие же разрешения, как и группа.
  6. Нажмите Создать.
  7. Скопируйте сгенерированный ключ API и сохраните его где-нибудь в безопасном месте.

Предупреждение

Glarus BI не сможет показать вам этот ключ снова. Если вы потеряете этот ключ, вам придётся генерировать новый.

Управление ключами API

Чтобы просматривать и управлять текущими API-ключами:

  1. Перейдите: шестерёнка вверху справа > Управление > Настройки > Аутентификация.
  2. Прокрутите содержимое до Ключи API, нажмите Управление.

Изменение настроек ключей API

Чтобы изменить настройки ключа API, нужно прокрутить список до ключа, который вы хотите редактировать и щёлкнуть на значок карандаш. — Glarus BI отобразит модальное окно Редактирование ключа API, где можно изменить:

  • название ключа;
  • группу принадлежности;
  • изменить или заново сгенерировать ключ. Glarus BI заменит текущий ключ новым ключом API. Восстановить старый ключ при этом будет невозможно.

Удаление ключей API

Предупреждение

Восстановить ключ после удаления будет невозможно. Вам придётся создать новый ключ.

Чтобы удалить API-ключ:

  1. Перейдите: шестерёнка вверху справа > Управление > Настройки > Аутентификация.
  2. Прокрутите содержимое до Ключи API, нажмите Управление.
  3. Выберите ключ, который требуется удалить, и нажмите на значок корзины.
  4. Glarus BI отобразит модальное окно Удаление ключей API. Нажмите Удалить ключ API.

Glarus BI перенесёт ключи API, связанные с удаляемой группой, в группу "Все пользователи"

Если вы привязали ключи API к какой-либо группе, а затем эта группа удаляется, то API-ключи всё ещё будут работать, но Glarus BI применит данные ключи к группе "Все пользователи". Если вы хотите привязать их к другой группе, придётся сделать это вручную.

Примеры запросов GET

Вот несколько запросов GET которые возвращают группы в Glarus BI. Данные примеры подразумевают, что вы запускаете Glarus BI локально с портом по умолчанию: 3000.

Пример с использованием curl

Замените YOUR_API_KEY API ключом, который вы сгенерировали выше.

curl \
-H 'x-api-key: YOUR_API_KEY' \
-X GET 'http://localhost:3000/api/permissions/group'

Пример на JavaScript

Предполагаем, что вы установили ключ как переменную среды:

export METABASE_API_KEY="YOUR_API_KEY"

Здесь работает базовый запрос GET, используя fetch, чтобы получить список групп. Вы можете скопировать код, сохранить его в файл (например, как api-test.js), и запустить код с командой node api-test.js.

// Предполагая, что вы установили ключ с процессом
// `export METABASE_API_KEY="YOUR_KEY_HERE"`
const API_KEY = process.env.METABASE_API_KEY;

const init = {
  headers: {
    "Content-Type": "application/json",
    "X-API-KEY": API_KEY,
  },
};

const host = "http://127.0.0.1:3000";

async function getGroups() {
  const response = await fetch(`${host}/api/permissions/group`, init);
  return response.json();
}

getGroups().then(groups => console.log("Groups in your Metabase:", groups));

Дополнительная информация