# Verwenden von GITHUB_TOKEN für die Authentifizierung in Workflows

Erfahre, wie du das GITHUB_TOKEN für die Authentifizierung im Auftrag von GitHub Actions verwendest.

Dieses Tutorial führt dich durch die Verwendung von `GITHUB_TOKEN` für die 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/actions/reference/workflow-syntax-for-github-actions#permissions).

## Verwenden des `GITHUB_TOKEN` in einem Workflow

Du kannst das `GITHUB_TOKEN` mit der Standardsyntax zum Verweisen auf Geheimnisse verwenden: `${{ secrets.GITHUB_TOKEN }}`. Zu den Beispielen für die Verwendung von `GITHUB_TOKEN` zählt das Übergeben des Tokens als Eingabe an eine Aktion oder dessen 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/actions/reference/workflow-syntax-for-github-actions#permissions).

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

In diesem Beispielworkflow wird die [GitHub CLI](/de/actions/using-workflows/using-github-cli-in-workflows) 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. Dieser Beispiel-Workflow erzeugt ein Problem mithilfe der GitHub-REST-API:

```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 https://api.github.com/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/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#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 du ein Token benötigst, das Berechtigungen erfordert, die im `GITHUB_TOKEN` nicht verfügbar sind, erstelle eine GitHub App und generiere ein Installationszugriffstoken in deinem Workflow. Weitere Informationen finden Sie unter [Erstellen authentifizierter API-Anforderungen mit einer GitHub App in einem GitHub Actions-Workflow](/de/apps/creating-github-apps/guides/making-authenticated-api-requests-with-a-github-app-in-a-github-actions-workflow). Alternativ kannst du ein personal access token erstellen, als Geheimnis in deinem Repository speichern und das Token in deinem Workflow mit der Syntax `${{ secrets.SECRET_NAME }}` verwenden. Weitere Informationen findest du unter [Verwalten deiner persönlichen Zugriffstoken](/de/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) und [Verwenden von Geheimnissen in GitHub-Aktionen](/de/actions/security-guides/using-secrets-in-github-actions).

## Nächste Schritte

* [GITHUB\_TOKEN](/de/actions/concepts/security/github_token)
* [Workflowsyntax für GitHub Actions](/de/actions/reference/workflow-syntax-for-github-actions#permissions)