Рубрики
Uncategorized

Github_token in github Действия: как это работает, изменяют разрешения, настройки

Сегодня я расскажу вам все о GitHub_Token в действиях GitHub. Вы узнаете, что это … Tagged с DevOps, GitHub, CICD, Codenewbie.

Сегодня я расскажу вам все о Github_token в GitHub Actions. Вы узнаете, что это такое, Как это работает , как Настройка его поведение и как ограничить или Измените свои разрешения Анкет

видео

Как обычно, если вы Визуальный ученик , или просто предпочитаю смотреть и слушать вместо чтения, здесь у вас есть Видео со всем объяснением и демонстрацией , что, чтобы быть справедливым, много более полное чем этот пост.

Ссылка на видео: https://youtu.be/jek07kpejny

Если вы предпочитаете читать, хорошо … давайте просто продолжим:)

Что такое github_token

Давайте начнем с того, что GitHub_Token находится в действиях GitHub и как это работает.

Github_token — это Специальный токен доступа что вы можете использовать для аутентификации от имени действий GitHub. GitHub автоматически создает Секрет github_token, который вы можете использовать в своем рабочем процессе, и вы можете использовать его для аутентификации в рабочем процессе.

Это работает, так это то, что когда вы включаете действия GitHub в репозиторий, GitHub устанавливает приложение GitHub на что. Секрет github_token — это в основном токен для установки приложения Github.

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

Надеюсь, механизм теперь более ясен. Давайте быстро посмотрим, как использовать github_token

Используйте токен GitHub

Есть 2 способа использовать токен: от Секреты и из контекст Анкет

      - uses: actions/labeler@v2
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}

В этом первом примере мы используем секреты. Github_token поглотить это. Как уже упоминалось, секрет создается автоматически, поэтому вы можете просто использовать его сразу.

      - name: Create a Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ github.token }}

Здесь вместо этого мы используем контекст Github, который содержит токен. Обратите внимание, что эти два эквивалентны.

Личный токен доступа против github_token

Если вы думаете _ «Почему я должен использовать github_token вместо моего обычного PAT?», Помните, что всегда доступен токен для личного доступа, поэтому, если кто -то может украсть этот PAT, он потенциально может принести некоторый вред.

Вместо этого истекает github_token сразу после окончания работы. Таким образом, даже если кто -то может украсть его (что почти невозможно ), они в основном не могут сделать что -то не так.

Разрешения по умолчанию

По умолчанию GitHub_Token имеет довольно полный список разрешений, назначенных ему.

В этой таблице показаны разрешения, предоставленные GitHub_Token по умолчанию. Хорошо, что люди с разрешениями администратора на предприятие, организация или репозиторий могут установить по умолчанию Разрешения быть либо разрешающими, либо ограниченными Анкет

Разрешения UI

Итак, посмотрим, как мы можем Изменить разрешения of github_token, чтобы сделать его еще более безопасным.

Просто зайдите в свой репозиторий или организацию Настройки , затем нажмите на Действия Анкет

Здесь вы можете изменить разрешения, назначенные вашему токену, выбрав Читать и написать (Что позволяет вам получить доступ к контенту и вносить изменения) или Только для чтения Анкет

Это очень быстро, но, с другой стороны, довольно ограничен. Что если я хочу назначить разрешения более детальным образом?

Гранулированные разрешения через YAML

Вы можете использовать разрешения Ключ в Ямл рабочий процесс Файл для изменения разрешений для github_token для всего рабочего процесса или для отдельных заданий.

permissions:
  contents: write
  pull-requests: write 
  issues: read
  packages: none

И вы можете использовать все разрешения, которые перечислены в таблице выше. Кроме того, как вы можете видеть ниже, он поддерживает Intellisense Если вы сделаете это в интерфейсе GitHub напрямую:

Когда используется ключ разрешений, все неопределенные разрешения устанавливаются на нет

Вы можете персонализировать разрешения токена либо на уровне работы, либо на весь уровень рабочего процесса (или на самом деле оба):

[...]
permissions:
  contents: write
  pull-requests: write  

jobs:
  job1:
    runs-on: ubuntu-latest

    steps:
      [...]

  job2:   
    runs-on: ubuntu-latest  
    permissions:
      issues: write
    steps:
    [...]

Выводы

Надеюсь, у вас сейчас лучшее понимание о GitHub_Token, что он делает и как мы можем правильно установить его разрешения. Дайте мне знать в разделе комментариев ниже, если у вас есть другие вопросы по этому поводу.

Также проверьте это видео Где я говорю о создании личных токенов доступа в GitHub.

Мол, поделиться и следуй за мной 🚀 Для большего содержания:

📽 YouTubeКупить мне кофе 💖 Patreon 🌐 CoderDave.io Веб -сайт 👕 Мерч 👦🏻 Страница Facebook 🐱‍💻 GitHub 👲🏻 Twitter 👴🏻 LinkedIn 🔉 Подкаст

Оригинал: «https://dev.to/github/the-githubtoken-in-github-actions-how-it-works-change-permissions-customizations-3cgp»