Руководство пользователя для разработчиков
Типы API-ключей
В Epsilon Metrics вы можете найти 3 типа API-ключей:
- Обычные
- Публичные по умолчанию
- Мастер
Обычные
Обычные API-ключи являются наиболее распространенным типом API-ключей. Они обеспечивают доступ к API и таблицам баз данных (или наборам данных) гибким и детализированным образом.
Например, один API-ключ может предоставлять доступ к:
- SQL API
- Набору данных
world_population
с разрешением на выборку - Набору данных
liked_cities
с разрешениями на выборку/вставку - Созданию новых наборов данных в учетной записи пользователя
- Просмотру существующих наборов данных в учетной записи пользователя
С этим API-ключом вы можете:
- Получить доступ к SQL API, но не к Maps API.
- Выполнить запрос
SELECT SQL
к набору данныхworld_population
, но не кUPDATE
,DELETE
илиINSERT
. - Выполнить запрос
INSERT
к набору данныхliked_cities
, но не кnational_incomes
. - Выполнить запросы
CREATE TABLE AS...
для создания новых таблиц в учетной записи пользователя. Как владелец созданных таблиц, вы также сможете выполнять командыDROP
иALTER
на созданных таблицах. - Читать метаданные (например, имя или конфиденциальность) из
national_incomes
, но не его содержимое.
Вы можете создать столько обычных API-ключей, сколько захотите. Более того, для обеспечения безопасности мы рекомендуем создавать столько обычных API-ключей, сколько приложений/карт вы создаете. Поскольку обычные API-ключи можно отменить независимо, у вас есть полный контроль над жизненным циклом ваших учетных данных API.
Важной особенностью обычных API-ключей является то, что они не редактируемы. Вы не можете добавлять/удалять наборы данных или API. Такая конструкция специально разработана по соображениям безопасности.
Еще одна важная особенность обычных API-ключей заключается в том, что они наследуют все разрешения на наборы данных от публичного API-ключа по умолчанию.
Ниже приведен пример реального API-ключа, отображаемого в учетной записи Epsilon Metrics.
Публичные по умолчанию
Публичные по умолчанию - это разновидность обычных API-ключей. Они также предоставляют доступ к API и наборам данных, но только для чтения.
У каждого пользователя есть только один публичный API-ключ по умолчанию. Это означает, что при создании пользователя для него выдается API-ключ по умолчанию, и эти ключи нельзя отозвать/удалить.
Например, публичный API-ключ по умолчанию может предоставлять доступ к:
- SQL API
- Maps API
- Набору данных
world_population
с разрешением на чтение - Набору данных
liked_cities
с разрешением на чтение
Как видите, возможен доступ к API и выбранным наборам данных только для чтения.
В начале этого раздела об аутентификации мы утверждали, что все запросы к API требуют API-ключ. Ну, мы немного солгали. Если ключ не указан, используется публичный API-ключ по умолчанию.
Предупреждение: Это сделано по причинам обратной совместимости. Не ожидайте поддержки этого поведения в долгосрочной перспективе, оно может быть устаревшим.
Привыкайте всегда отправлять API-ключ, даже если это публичный по умолчанию.
Косметическое отличие от других типов API-ключей заключается в коде/токене, который идентифицирует эти API-ключи: это просто default_public
. Это простая строка, читаемая человеком, без случайных символов.
Мастер
Мастер-ключи - это очень специальный вид API-ключей. Как и в случае с типом “Публичный по умолчанию”, у каждого пользователя есть только один неподлежащий отзыву мастер-API-ключ.
Особенность мастер-API-ключей состоит в том, что они предоставляют доступ ко ВСЕМУ: API и наборам данных (выборка/вставка/создание/удаление). Кроме того, для доступа к большинству конечных точек Auth API требуется мастер-API-ключ.
Ваш мастер-API-ключ имеет множество привилегий, поэтому храните его в секрете. Не делитесь им в общедоступных местах, таких как GitHub или коде на стороне клиента.
Ниже приведен пример мастер-API-ключа.