# Verwenden von GITHUB_TOKEN für die Authentifizierung in Workflows

Erfahren Sie, wie Sie GITHUB_TOKEN verwenden, um sich im Namen von GitHub Actions zu authentifizieren.

Dieses Lernprogramm führt Sie durch die Verwendung der `GITHUB_TOKEN` Authentifizierung in GitHub Actions Workflows, einschließlich Beispielen zum Übergeben des Tokens an Aktionen, zum Erstellen von API-Anforderungen und zum Konfigurieren von Berechtigungen für die sichere Automatisierung.

Referenzinformationen findest du unter [Workflowsyntax für GitHub Actions](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions).

## Verwenden des `GITHUB_TOKEN` in einem Workflow

Sie können die `GITHUB_TOKEN` Standardsyntax zum Verweisen auf geheime Schlüssel verwenden: `${{ secrets.GITHUB_TOKEN }}`. Beispiele für die Verwendung des Tokens sind das `GITHUB_TOKEN` Übergeben des Tokens als Eingabe an eine Aktion oder die Verwendung, um eine authentifizierte GitHub API-Anforderung zu erstellen.

> \[!IMPORTANT]
> Eine Aktion kann über den `GITHUB_TOKEN`-Kontext auf das `github.token` zugreifen, auch wenn der Workflow das `GITHUB_TOKEN` nicht explizit für die Aktion übergibt. Als gute Sicherheitsmethode solltest du immer sicherstellen, dass Aktionen nur über den minimalen benötigten Zugriff verfügen, indem du die Berechtigungen für `GITHUB_TOKEN` einschränkst. Weitere Informationen finden Sie unter [Workflowsyntax für GitHub Actions](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions).

### Beispiel 1: Übergeben des `GITHUB_TOKEN` als Eingabe

In diesem Beispielworkflow wird die [GitHub CLI](/de/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli) verwendet, die das `GITHUB_TOKEN` als Wert für den `GH_TOKEN`-Eingabeparameter erfordert:

```yaml copy
name: Open new issue
on: workflow_dispatch

jobs:
  open-issue:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - run: |
          gh issue --repo ${{ github.repository }} \
            create --title "Issue title" --body "Issue body"
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
```

### Beispiel 2: Aufrufen der REST-API

Du kannst das `GITHUB_TOKEN` für authentifizierte API-Aufrufe verwenden. In diesem Beispielworkflow wird ein Problem mit der GitHub REST-API erstellt:

```yaml
name: Create issue on commit

on: [ push ]

jobs:
  create_issue:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url http(s)://HOSTNAME/api/v3/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail
```

## Ändern der Berechtigungen für `GITHUB_TOKEN`

Verwende den `permissions`-Schlüssel in deiner Workflowdatei, um Berechtigungen für das `GITHUB_TOKEN` für einen gesamten Workflow oder für einzelne Aufträge zu ändern. So kannst du die erforderlichen Mindestberechtigungen für einen Workflow oder Auftrag konfigurieren. Als bewährte Sicherheitsmethode sollten Sie dem `GITHUB_TOKEN` nur den geringsten erforderlichen Zugriff gewähren.

Eine Liste der verfügbaren Berechtigungen und deren parametrisierte Namen findest du unter [Verwalten deiner persönlichen Zugriffstoken](/de/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#account-permissions).

Die beiden zuvor in diesem Artikel beschriebenen Workflowbeispiele zeigen, wie der `permissions`-Schlüssel auf Auftragsebene verwendet wird.

## Erteilen zusätzlicher Berechtigungen

Wenn Sie ein Token benötigen, das Berechtigungen erfordert, die im `GITHUB_TOKEN` nicht verfügbar sind, erstellen Sie ein GitHub App und generieren Sie innerhalb Ihres Workflows ein Installationszugriffstoken. Weitere Informationen finden Sie unter [Erstellen authentifizierter API-Anforderungen mit einer GitHub App in einem GitHub Actions-Workflow](/de/enterprise-server@3.22/apps/creating-github-apps/authenticating-with-a-github-app/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). Alternativ können Sie ein Objekt personal access tokenerstellen, es als geheimer Schlüssel in Ihrem Repository speichern und das Token in Ihrem Workflow mit der `${{ secrets.SECRET_NAME }}` Syntax verwenden. Weitere Informationen findest du unter [Verwalten deiner persönlichen Zugriffstoken](/de/enterprise-server@3.22/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) und [Verwenden von Geheimnissen in GitHub-Aktionen](/de/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets).

## Nächste Schritte

* [GITHUB\_TOKEN](/de/enterprise-server@3.22/actions/concepts/security/github_token)
* [Workflowsyntax für GitHub Actions](/de/enterprise-server@3.22/actions/reference/workflows-and-actions/workflow-syntax#permissions)