1
0
mirror of synced 2026-01-03 06:04:16 -05:00
Files
docs/translations/ru-RU/content/developers/apps/getting-started-with-apps/differences-between-github-apps-and-oauth-apps.md
2022-11-16 21:42:42 +00:00

122 lines
21 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Различия между приложениями GitHub и приложениями OAuth
intro: 'Понимание различий между {% data variables.product.prodname_github_apps %} и {% data variables.product.prodname_oauth_apps %} поможет вам решить, какое приложение вы хотите создать. {% data variables.product.prodname_oauth_app %} выступает в качестве пользователя GitHub, тогда как {% data variables.product.prodname_github_app %} использует собственное удостоверение при установке в организации или в репозиториях в организации.'
redirect_from:
- /early-access/integrations/integrations-vs-oauth-applications
- /apps/building-integrations/setting-up-a-new-integration/about-choosing-an-integration-type
- /apps/differences-between-apps
- /developers/apps/differences-between-github-apps-and-oauth-apps
versions:
fpt: '*'
ghes: '*'
ghae: '*'
ghec: '*'
topics:
- GitHub Apps
- OAuth Apps
shortTitle: GitHub Apps & OAuth Apps
ms.openlocfilehash: d70304b71de11a4a24f2acc6c2545e78cbd19b0c
ms.sourcegitcommit: f638d569cd4f0dd6d0fb967818267992c0499110
ms.translationtype: MT
ms.contentlocale: ru-RU
ms.lasthandoff: 10/25/2022
ms.locfileid: '148008709'
---
## Кто может устанавливать приложения GitHub и авторизовывать приложения OAuth?
Вы можете установить приложения GitHub в личной учетной записи или в принадлежащих вам организациях. Если у вас есть права администратора в репозитории, вы можете устанавливать приложения GitHub в учетных записях организации. Если приложение GitHub установлено в репозитории и требует разрешений организации, владелец организации должен утвердить это приложение.
{% data reusables.apps.app_manager_role %}
Для приложений OAuth, наоборот, пользователи предоставляют авторизацию, что дает приложению возможность действовать в качестве пользователя, прошедшего проверку подлинности. Например, можно авторизовать приложение OAuth, которое находит все уведомления для пользователя, прошедшего проверку подлинности. Вы всегда можете отозвать разрешения из приложения OAuth.
{% ifversion limit-app-access-requests %} {% data reusables.organizations.restricted-app-access-requests %} {% endif %}
{% data reusables.apps.deletes_ssh_keys %}
| Приложения GitHub | Приложения OAuth |
| ----- | ------ |
| Чтобы установить приложение GitHub в организации, вы должны быть владельцем организации или иметь разрешения администратора в репозитории. Если приложение GitHub установлено в репозитории и требует разрешений организации, владелец организации должен утвердить это приложение. | Вы можете авторизовать приложение OAuth для доступа к ресурсам. |
| Приложение GitHub можно установить в личном репозитории. | Вы можете авторизовать приложение OAuth для доступа к ресурсам.|
| Чтобы удалить приложение GitHub в организации и его права доступа, вы должны быть владельцем организации, владельцем личного репозитория или иметь разрешения администратора в репозитории. | Чтобы удалить права доступа, достаточно удалить маркер доступа OAuth. |
| Чтобы запросить установку приложения GitHub, вы должны быть владельцем организации или иметь разрешения администратора в репозитории. | Если в организации активна политика приложения, любой участник этой организации может запросить установку приложения OAuth в организации. Владелец организации должен утвердить или отклонить запрос. |
## Что дает доступ к приложениям GitHub и приложениям OAuth?
Владельцы учетных записей могут использовать {% data variables.product.prodname_github_app %} в одной учетной записи, не предоставляя доступа к другой учетной записи. Например, вы можете установить стороннюю службу компиляции в организации вашего работодателя, не предоставляя этой службе доступа к репозиториям в вашей личной учетной записи. Приложение GitHub остается установленным, когда настроивший его пользователь покидает организацию.
_Авторизованное_ приложение OAuth App имеет доступ ко всем ресурсам, которые доступны пользователю или владельцу организации.
| Приложения GitHub | Приложения OAuth |
| ----- | ------ |
| Установка приложения GitHub предоставляет приложению доступ к выбранным репозиториям учетной записи пользователя или организации. | Авторизация приложения OAuth предоставляет приложению доступ к ресурсам, доступным пользователю. Например, к репозиториям, к которым у него есть доступ. |
| Маркер установки из приложения GitHub теряет доступ к ресурсам, когда администратор удаляет репозитории из установки. | Маркер доступа OAuth теряет доступ к ресурсам, когда пользователь теряет доступ, например при отмене доступа на запись в репозиторий. |
| Маркеры доступа установки ограничиваются указанными репозиториями с разрешениями, выбранными создателем приложения. | Маркер доступа OAuth ограничивается через области действия. |
| Приложения GitHub могут запрашивать доступ отдельно к проблемам и запросам на вытягивание, без доступа к фактическому содержимому репозитория. | Приложения OAuth должны запросить область действия `repo`, чтобы получить доступ к проблемам, запросам на вытягивание или любым другим ресурсам репозитория. |
| Приложения GitHub не подчиняются политикам приложений организации. Приложение GitHub имеет доступ только к репозиториям, для которых владелец организации предоставил соответствующие разрешения. | Если политика приложения организации активна, то только владелец организации может разрешить установку приложения OAuth. При установке приложение OAuth получает доступ к любым ресурсам, видимым для маркера, который владелец организации имеет в утвержденной организации. |
| Приложение GitHub получает событие веб-перехватчика при изменении или удалении установки. Это позволяет создателю приложения узнать, что он получил или потерял доступ к определенным ресурсам организации. | Приложения OAuth могут в любое время потерять доступ к организации или репозиторию, если изменится уровень доступа пользователя. Приложение OAuth не сообщает, когда теряет доступ к ресурсу. |
## Идентификация на основе маркеров
{% note %}
**Примечание.** Приложения GitHub также могут использовать маркер на основе пользователя. Дополнительные сведения см. в статье [Идентификация и авторизация пользователей для приложений GitHub](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/).
{% endnote %}
| Приложения GitHub | Приложения OAuth |
| ----- | ----------- |
| Приложение GitHub может вне основного процесса запросить маркер доступа к установке с использованием закрытого ключа в формате веб-маркера JSON. | Приложение OAuth может обменять маркер запроса на маркер доступа после перенаправления через веб-запрос. |
| Маркер установки идентифицирует приложение как бот приложений GitHub, например @jenkins-bot. | Маркер доступа идентифицирует приложение как пользователя, который предоставил этот маркер приложению, например @octocat. |
| Срок действия маркеров установки истекает через определенное время (в настоящее время это 1 час). | Маркеры OAuth остаются активными, пока они не будут отозваны клиентом. |
| Для {% data variables.product.prodname_github_apps %}, установленных в организациях или репозиториях, применяются ограничения частоты запросов между серверами. Дополнительные сведения см. в статье [Ограничения скорости для {% data variables.product.prodname_github_apps %}](/developers/apps/building-github-apps/rate-limits-for-github-apps). | Маркеры OAuth используют ограничение скорости для пользователя: {% ifversion fpt or ghec or ghes %}5000{% elsif ghae %}15 000{% endif %} запросов в час. |
| Разрешения на увеличение ограничений скорости можно предоставлять как на уровне приложений GitHub (это затронет все установки), так и на уровне отдельных установок. | Разрешение на увеличение ограничения скорости предоставляется для каждого приложения OAuth. Каждый маркер, предоставленный этому приложению OAuth, получает увеличенное ограничение. |
| {% data variables.product.prodname_github_apps %} может выполнять проверку подлинности от имени пользователя. Такой механизм называется запросом от пользователя к серверу. Поток для авторизации аналогичен потоку авторизации приложения OAuth. Маркеры "пользователь-сервер" имеют ограниченный срок действия, который можно продлить с помощью маркера обновления. Дополнительные сведения см. в статьях [Обновление маркеров доступа "пользователь — сервер"](/apps/building-github-apps/refreshing-user-to-server-access-tokens/) и [Идентификация и авторизация пользователей для приложений GitHub](/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/). | Поток OAuth, который используется в {% data variables.product.prodname_oauth_apps %}, авторизует {% data variables.product.prodname_oauth_app %} от имени пользователя. Аналогичный поток, который используется в {% data variables.product.prodname_github_app %} для авторизации запросов от пользователя к серверу. |
## Запрос уровней разрешений для ресурсов
В отличие от приложений OAuth, приложения GitHub имеют целевые разрешения, позволяющие им запрашивать доступ только к тем ресурсам, которые им нужны. Например, приложение GitHub для непрерывной интеграции (CI) может запрашивать доступ на чтение к содержимому репозитория и доступ на запись к API состояния. Другое приложение GitHub может управлять проблемами, метками и вехами, не имея доступа на чтение или запись к коду. Приложения OAuth не могут использовать детализированные разрешения.
| Access | Приложения GitHub (разрешения `read` или `write`) | Приложения OAuth |
| ------ | ----- | ----------- |
| **Доступ к общедоступным репозиториям** | Во время установки необходимо выбрать общедоступный репозиторий. | Область `public_repo`. |
| **Доступ к коду или содержимому репозитория** | Содержимое репозитория | Область `repo`. |
| **Доступ к проблемам, меткам и вехам** | Проблемы | Область `repo`. |
| **Доступ к запросам на вытягивание, меткам и вехам** | Запросы на вытягивание | Область `repo`. |
| **Доступ к состояниям фиксации (для сборок CI)** | Состояния фиксаций | Область `repo:status`. |
| **Доступ к развертываниям и состояниям развертывания** | Развернутые приложения | Область `repo_deployment`. |
| **Для получения событий через веб-перехватчик** | Приложение GitHub по умолчанию включает веб-перехватчик. | Область `write:repo_hook` или `write:org_hook`. |
## Обнаружение репозитория
| Приложения GitHub | Приложения OAuth |
| ----- | ----------- |
| Приложения GitHub могут получить из `/installation/repositories` список репозиториев, к которые установка имеет доступ. | Приложения OAuth могут получить из `/user/repos` представление пользователя, а из `/orgs/:org/repos` — представление организации для доступных репозиториев. |
| Приложения GitHub получают действия веб-перехватчиков при добавлении репозиториев в установку и при удалении их из нее. | Приложения OAuth создают действия веб-перехватчиков организации для уведомлений о создании нового репозитория в организации. |
## Веб-перехватчики
| Приложения GitHub | Приложения OAuth |
| ----- | ----------- |
| По умолчанию приложения GitHub имеют один веб-перехватчик, который получает события, для которых она настроен, по каждому репозиторию, к которому он имеет доступ. | Приложения OAuth запрашивают область веб-перехватчика, чтобы создать веб-перехватчик на уровне репозитория для каждого репозитория, из которого они будут получать события. |
| Приложения GitHub получают определенные события уровня организации с разрешения участника этой организации. | Приложения OAuth запрашивают область веб-перехватчика организации, чтобы создать веб-перехватчик организации для каждой организации, из которых они будут получать события уровня организации. |
| Веб-перехватчики автоматически отключаются при удалении приложения GitHub. | Веб-перехватчики не отключаются автоматически, если маркер доступа приложения OAuth удаляется, и их невозможно очистить автоматически. Вам придется обратиться к пользователям с просьбой сделать это вручную.|
## Доступ к Git
| Приложения GitHub | Приложения OAuth |
| ----- | ----------- |
| Приложения GitHub запрашивают разрешение содержимого репозитория и используют маркер установки для проверки подлинности с помощью [Git на основе HTTP](/apps/building-github-apps/authenticating-with-github-apps/#http-based-git-access-by-an-installation). | Приложения OAuth запрашивают область `write:public_key` и [создают ключ развертывания](/rest/reference/deployments#create-a-deploy-key) через API. Затем этот ключ можно использовать для выполнения команд Git. |
| Этот маркер используется в качестве пароля HTTP. | Этот маркер используется в качестве имени пользователя HTTP. |
## Учетные записи компьютеров и ботов
Учетные записи пользователей компьютера — это личные учетные записи на основе OAuth, которые используются для различения автоматизированных систем на основе системы пользователей GitHub.
Учетные записи ботов используются только в приложениях GitHub и встраиваются в каждое приложение GitHub.
| Приложения GitHub | Приложения OAuth |
| ----- | ----------- |
| Боты приложений GitHub не используют рабочее место {% data variables.product.prodname_enterprise %}. | Каждая учетная запись пользователя использует одно рабочее место {% data variables.product.prodname_enterprise %}. |
| Так как боту приложения GitHub никогда не назначается пароль, клиент не может войти в него напрямую. | Учетной записи пользователя компьютера предоставляется имя пользователя и пароль, управление и защиту для которого клиент выполняет самостоятельно. |