Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Zuweisen von Berechtigungen zu Aufträgen

Ändere die für GITHUB_TOKEN gewährten Standardberechtigungen.

Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.

Übersicht

Du kannst permissions verwenden, um die Standardberechtigungen zu ändern, die dem GitHub-Token (GITHUB_TOKEN) gewährt werden. So kannst du Zugriff nach Bedarf hinzufügen oder entfernen, um nur den mindestens erforderlichen Zugriff zu gewähren. Weitere Informationen findest du unter Automatische Tokenauthentifizierung.

permissions kann entweder als Schlüssel auf oberster Ebene verwendet werden, um für alle Aufträge im Workflow zu gelten, oder innerhalb bestimmter Aufträge. Wenn du den Schlüssel permissions innerhalb eines bestimmten Auftrags hinzufügst, werden die von dir angegebenen Zugriffsrechte auf alle Aktionen und Ausführungsbefehle innerhalb dieses Auftrags angewendet, die das GitHub-Token (GITHUB_TOKEN) verwenden. Weitere Informationen findest du unter jobs.<job_id>.permissions.

Verfügbare Bereiche und Zugriffswerte:

permissions:
  actions: read|write|none
  checks: read|write|none
  contents: read|write|none
  deployments: read|write|none
  issues: read|write|none
  discussions: read|write|none
  packages: read|write|none
  pages: read|write|none
  pull-requests: read|write|none
  repository-projects: read|write|none
  security-events: read|write|none
  statuses: read|write|none

Wenn du den Zugriff für einen dieser Bereiche angibst, werden alle, die nicht angegeben sind, auf none festgelegt.

Du kannst die folgende Syntax verwenden, um Lese- oder Schreibzugriff für alle verfügbaren Bereiche zu definieren:

permissions: read-all|write-all

Du kannst die folgende Syntax verwenden, um Berechtigungen für alle verfügbaren Bereiche zu deaktivieren:

permissions: {}
``` Darüber hinaus kannst du den `permissions`-Schlüssel verwenden, um Leseberechtigungen für geforkte Repositorys hinzuzufügen oder zu entfernen, aber in der Regel kannst du keinen Schreibzugriff gewähren. Eine Ausnahme für dieses Verhalten besteht dann, wenn ein Administratorbenutzer die Option **Schreibtoken an Workflows aus Pull Requests senden** in den GitHub Actions-Einstellungen ausgewählt hat. Weitere Informationen findest du unter [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).

### Beispiel: Zuweisen von Berechtigungen zu GITHUB_TOKEN

In diesem Beispiel wird gezeigt, wie Berechtigungen für das GitHub-Token (`GITHUB_TOKEN`) festgelegt werden, die für alle Aufträge im Workflow gelten. Bei allen Berechtigungen handelt es sich um die Gewährung von Lesezugriff.

```yaml
name: "My workflow"

on: [ push ]

permissions: read-all

jobs:
  ...

Zuweisen von Berechtigungen zu einem bestimmten Auftrag

Du kannst für einen spezifischen Auftrag jobs.<job_id>.permissions verwenden, um die Standardberechtigungen zu ändern, die demGITHUB_TOKEN gewährt werden, und können so den Zugriff nach Bedarf hinzufügen oder entfernen, um nur den erforderlich Mindestzugriff zu gewähren. Weitere Informationen findest du unter Automatische Tokenauthentifizierung.

Wenn du die Berechtigung in einer Auftragsdefinition angibst, kannst du bei Bedarf einen anderen Satz von Berechtigungen für die GITHUB_TOKEN für jeden Auftrag konfigurieren. Alternativ kannst du die Berechtigungen für alle Aufträge im Workflow angeben. Informationen zum Definieren von Berechtigungen auf Workflow-Ebene findest du unter permissions.

Verfügbare Bereiche und Zugriffswerte:

permissions:
  actions: read|write|none
  checks: read|write|none
  contents: read|write|none
  deployments: read|write|none
  issues: read|write|none
  discussions: read|write|none
  packages: read|write|none
  pages: read|write|none
  pull-requests: read|write|none
  repository-projects: read|write|none
  security-events: read|write|none
  statuses: read|write|none

Wenn du den Zugriff für einen dieser Bereiche angibst, werden alle, die nicht angegeben sind, auf none festgelegt.

Du kannst die folgende Syntax verwenden, um Lese- oder Schreibzugriff für alle verfügbaren Bereiche zu definieren:

permissions: read-all|write-all

Du kannst die folgende Syntax verwenden, um Berechtigungen für alle verfügbaren Bereiche zu deaktivieren:

permissions: {}
``` Darüber hinaus kannst du den `permissions`-Schlüssel verwenden, um Leseberechtigungen für geforkte Repositorys hinzuzufügen oder zu entfernen, aber in der Regel kannst du keinen Schreibzugriff gewähren. Eine Ausnahme für dieses Verhalten besteht dann, wenn ein Administratorbenutzer die Option **Schreibtoken an Workflows aus Pull Requests senden** in den GitHub Actions-Einstellungen ausgewählt hat. Weitere Informationen findest du unter [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-private-repository-forks).

### Beispiel: Festlegen von Berechtigungen für einen bestimmten Auftrag

In diesem Beispiel werden Berechtigungen angezeigt, die für den `GITHUB_TOKEN` eingestellt werden, der nur für den Auftrag namens `stale` angewendet werden. Der Schreibzugriff wird für die `issues`- und `pull-requests`-Bereiche gewährt. Alle anderen Bereiche haben keinen Zugriff.

```yaml
jobs:
  stale:
    runs-on: ubuntu-latest

    permissions:
      issues: write
      pull-requests: write

    steps:
      - uses: actions/stale@v5