Standardmäßig können Dienste und Jobs nur von Projektinhabern und -bearbeitern erstellt, aktualisiert, gelöscht oder aufgerufen werden. Außerdem sind nur Projektinhaber und Cloud Run-Administratoren zum Ändern von IAM-Richtlinien (Identity and Access Management) berechtigt, um beispielsweise einen Dienst öffentlich zu machen. Weitere Informationen finden Sie unter IAM-Rollen für Cloud Run.
Mit IAM können Sie verschiedenen Hauptkonten – Hauptkonten oder Gruppen – Rollen zuweisen, die Berechtigungen zur Ausführung dieser Aktionen enthalten.
Vordefinierte Cloud Run-Rollen
Im Vergleich zu einfachen Rollen (Inhaber, Bearbeiter und Betrachter) haben die folgenden vordefinierten Rollen eine detailliertere Zugriffssteuerung für den Zugriff auf Cloud Run-Ressourcen:
Rolle | Beschreibung |
---|---|
Cloud Run-Administrator (roles/run.admin ) |
Kann Dienste und Jobs erstellen, aktualisieren und löschen, kann Jobausführungen abrufen, auflisten und löschen. Kann Dienste und Jobs aufrufen, kann Jobausführungen abbrechen. Kann IAM-Richtlinien abrufen und festlegen. Kann Empfehlungen aufrufen, anwenden und ablehnen. Erfordert eine zusätzliche Konfiguration, um Dienste bereitstellen zu können. |
Cloud Run-Entwickler (roles/run.developer ) |
Kann Dienste und Jobs erstellen, aktualisieren und löschen, kann Ausführungen von Jobs abrufen, auflisten und löschen. Kann IAM-Richtlinien abrufen, aber nicht festlegen. Kann Empfehlungen ansehen, anwenden und verwerfen. |
Cloud Run-Betrachter (roles/run.viewer ) |
Kann Dienste, Jobs und Jobausführungen aufrufen. Kann IAM-Richtlinien abrufen. Kann Empfehlungen aufrufen. |
Cloud Run-Aufrufer (roles/run.invoker ) |
Kann Dienste und Jobs aufrufen und Jobausführungen abbrechen. |
Zugriff auf einen einzelnen Dienst oder Job steuern
Sie können den Zugriff individuell für Dienste oder Jobs steuern.
Dienst öffentlich machen
Diese Option gilt für einen Cloud Run-Dienst, der eine öffentliche API oder Website ist.
Sie können nicht authentifizierte Aufrufe eines Dienstes zulassen. Dazu weisen Sie dem Mitgliedstyp allUsers
die IAM-Rolle "Cloud Run Invoker" zu.
Sie benötigen die Berechtigung run.services.setIamPolicy
, um die Authentifizierung für einen Cloud Run-Dienst zu konfigurieren. Diese Berechtigung ist in den beiden Rollen Inhaber und Cloud Run-Administrator enthalten. Eine vollständige Liste der Rollen und ihrer Berechtigungen finden Sie unter IAM-Rollen für Cloud Run.
Konsolenbasierte Benutzeroberfläche
Für einen vorhandenen Cloud Run-Dienst:
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Dienst, den Sie veröffentlichen möchten. (Klicken Sie nicht auf den Dienst selbst.)
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie in das Textfeld Neue Hauptkonten den Wert allUsers
ein.
Wählen Sie im Drop-down-Menü Rolle die Rolle Cloud Run Invoker aus.
Klicken Sie auf Speichern.
Sie werden aufgefordert, zu bestätigen, dass Sie diese Ressource veröffentlichen möchten. Klicken Sie auf Öffentlichen Zugriff zulassen, um die Änderung auf die IAM-Einstellungen des Dienstes anzuwenden.
Für einen neuen Dienst, den Sie erstellen, erstellen Sie den Dienst. Wählen Sie jedoch auf dem Tab Authentifizierung die Option Nicht authentifizierte Aufrufe zulassen aus, um den Dienst öffentlich verfügbar zu machen. Wenn Sie Authentifizierung erforderlich auswählen, wird der Dienst privat.
gcloud
Fügen Sie mit dem Befehl gcloud run services
den speziellen Mitgliedstyp allUsers
einem Dienst hinzu und weisen Sie ihm die Rolle roles/run.invoker
zu, um einen Dienst öffentlich zugänglich zu machen:
gcloud run services add-iam-policy-binding [SERVICE_NAME] \ --member="allUsers" \ --role="roles/run.invoker"
Alternativ können Sie den Befehl gcloud run deploy
ausführen, um den Dienst beim Bereitstellen des Dienstes öffentlich zugänglich zu machen:
gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated
YAML
Erstellen Sie eine Datei mit dem Namen policy.yaml
und dem folgendem Inhalt:
bindings:
- members:
- allUsers
role: roles/run.invoker
Lassen Sie nicht authentifizierte Aufrufe für den vorhandenen SERVICE zu:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
Fügen Sie der vorhandenen Datei main.tf
Folgendes hinzu, um einen Cloud Run-Dienst zu erstellen:
Fügen Sie die folgende Ressource hinzu, die auf Ihren Cloud Run-Dienst verweist, um die IAM-Dienstbindung für roles/run.invoker
zu aktualisieren:
Diese Bindung ist nur für die angegebene Rolle autoritativ. Andere IAM-Bindungen innerhalb der IAM-Dienstrichtlinie werden beibehalten.
Domaineingeschränkte Freigabe
Wenn das Projekt einer Organisationsrichtlinie für die domaineingeschränkte Freigabe unterliegt, können Sie standardmäßig keine öffentlichen Dienste erstellen. Sie können Tags und bedingte Richtlinien verwenden, um bestimmte Dienste von dieser Einschränkung auszunehmen. Weitere Informationen finden Sie im Blogpost zum Erstellen öffentlicher Cloud Run-Dienste, wenn die Freigabe der Domain beschränkt ist.
Hauptkonten hinzufügen
Sie können einem Job oder einem Dienst Hauptkonten hinzufügen.
Hauptkonten zu einem Dienst hinzufügen
So fügen Sie einem Dienst Hauptkonten hinzu:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Dienst, dem Sie Hauptkonten hinzufügen möchten. (Klicken Sie nicht auf den Dienst selbst.)
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie in das Textfeld Neue Hauptkonten eine oder mehrere Identitäten ein, die Zugriff auf den Dienst benötigen.
Wählen Sie aus dem Drop-down-Menü Rolle eine oder mehrere Rollen aus. Die ausgewählten Rollen werden in der Ansicht mit einer kurzen Beschreibung ihrer jeweiligen Berechtigungen angezeigt.
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud run services add-iam-policy-binding
aus:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
Dabei ist SERVICE_NAME
der Dienstname, MEMBER_TYPE
der Hauptkontotyp (z. B. user:email@domain.com
) und ROLE
die Rolle.
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Hauptkonten zu einem Job hinzufügen
So fügen Sie einem Job Hauptkonten hinzu:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Job, dem Sie Hauptkonten hinzufügen möchten. (Klicken Sie nicht auf den Job selbst.)
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie in das Textfeld Neue Hauptkonten eine oder mehrere Identitäten ein, die Zugriff auf den Job benötigen.
Wählen Sie aus dem Drop-down-Menü Rolle eine oder mehrere Rollen aus. Die ausgewählten Rollen werden in der Ansicht mit einer kurzen Beschreibung ihrer jeweiligen Berechtigungen angezeigt.
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud run jobs add-iam-policy-binding
aus:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
Dabei ist JOB_NAME
der Jobname, MEMBER_TYPE
der Hauptkontotyp (z. B. user:email@domain.com
) und ROLE
die Rolle.
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Hauptkonten aus einer Rolle entfernen
Sie können Hauptkonten aus einem Dienst oder einem Job entfernen.
Hauptkonten aus einer Rolle für einen Dienst entfernen
So entfernen Sie Hauptkonten aus einer Rolle für einen Dienst:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Dienst, für den Sie Hauptkonten entfernen möchten. (Klicken Sie nicht auf den Dienst selbst.)
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Geben Sie das Hauptkonto ein, das Sie im Rollenlistenfilter entfernen möchten, in dem alle Rollen angezeigt werden, die diesem Hauptkonto zugewiesen sind.
Klicken Sie auf den Papierkorb neben dem Hauptkonto in der gewünschten Rolle, um diese Rolle aus dem Hauptkonto zu entfernen.
Im Bestätigungsdialogfeld können Sie dieses Hauptkonto aus allen Rollen im Dienst entfernen. Klicken Sie auf Entfernen, um das Hauptkonto aus der Rolle zu entfernen.
gcloud
Führen Sie den Befehl gcloud run services remove-iam-policy-binding
aus:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
Dabei ist SERVICE_NAME
der Dienstname, MEMBER_TYPE
der Hauptkontotyp (z. B. user:email@domain.com
) und ROLE
die Rolle.
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Hauptkonten aus einer Rolle für einen Job entfernen
So entfernen Sie Hauptkonten aus einer Rolle für einen Job:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Job, dem Sie Hauptkonten hinzufügen möchten. (Klicken Sie nicht auf den Job selbst.)
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Geben Sie das Hauptkonto ein, das Sie im Rollenlistenfilter entfernen möchten, in dem alle Rollen angezeigt werden, die diesem Hauptkonto zugewiesen sind.
Klicken Sie auf den Papierkorb neben dem Hauptkonto in der gewünschten Rolle, um diese Rolle aus dem Hauptkonto zu entfernen.
Im Bestätigungsdialogfeld können Sie dieses Hauptkonto aus allen Rollen im Job entfernen. Klicken Sie auf Entfernen, um das Hauptkonto aus der Rolle zu entfernen.
gcloud
Führen Sie den Befehl gcloud run jobs remove-iam-policy-binding
aus:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
Dabei ist JOB_NAME
der Jobname, MEMBER_TYPE
der Hauptkontotyp (z. B. user:email@domain.com
) und ROLE
die Rolle.
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Mehrere Hauptkonten auf einmal hinzufügen oder entfernen
Sie können mit einem Bulk-Vorgang mehrere Hauptkonten zu Diensten und Jobs hinzufügen oder aus ihnen entfernen.
Mehrere Hauptkonten für Dienste im Bulk hinzufügen und entfernen
So führen Sie einen Bulk-Vorgang zum Hinzufügen oder Entfernen von Hauptkonten aus einem Dienst aus:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Dienst, für den Sie Hauptkonten hinzufügen oder aus denen Sie Hauptkonten entfernen möchten. (Klicken Sie nicht auf den Dienst selbst.)
Wählen Sie den Dienst aus, dem Sie Hauptkonten hinzufügen oder aus dem Sie Hauptkonten entfernen möchten.
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
So fügen Sie Hauptkonten hinzu:
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie in das Textfeld Neue Hauptkonten eine oder mehrere Identitäten ein, die Zugriff auf den Dienst benötigen.
Wählen Sie aus dem Drop-down-Menü Rolle eine oder mehrere Rollen aus. Die ausgewählten Rollen werden in der Ansicht mit einer kurzen Beschreibung ihrer jeweiligen Berechtigungen angezeigt.
Klicken Sie auf Speichern.
So entfernen Sie Hauptkonten:
Geben Sie das Hauptkonto ein, das Sie im Rollenlistenfilter entfernen möchten, in dem alle Rollen angezeigt werden, die diesem Hauptkonto zugewiesen sind.
Klicken Sie auf den Papierkorb neben dem Hauptkonto in der gewünschten Rolle, um diese Rolle aus dem Hauptkonto zu entfernen.
Im Bestätigungsdialogfeld können Sie dieses Hauptkonto aus allen Rollen im Dienst entfernen. Klicken Sie auf Entfernen, um das Hauptkonto aus der Rolle zu entfernen.
gcloud
Erstellen Sie eine IAM-Richtlinie:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Führen Sie den Befehl gcloud run services set-iam-policy
aus:
gcloud run services set-iam-policy SERVICE_NAME policy.json
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Mehrere Hauptkonten für Jobs im Bulk hinzufügen und entfernen
So führen Sie einen Bulk-Vorgang zum Hinzufügen oder Entfernen von Hauptkonten aus einem Job aus:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Job, dem Sie Hauptkonten hinzufügen möchten. (Klicken Sie nicht auf den Job selbst.)
Wählen Sie den Job aus, dem Sie Hauptkonten hinzufügen oder aus dem Sie Hauptkonten entfernen möchten.
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
So fügen Sie Hauptkonten hinzu:
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie in das Textfeld Neue Hauptkonten eine oder mehrere Identitäten ein, die Zugriff auf den Dienst benötigen.
Wählen Sie aus dem Drop-down-Menü Rolle eine oder mehrere Rollen aus. Die ausgewählten Rollen werden in der Ansicht mit einer kurzen Beschreibung ihrer jeweiligen Berechtigungen angezeigt.
Klicken Sie auf Speichern.
So entfernen Sie Hauptkonten:
Geben Sie das Hauptkonto ein, das Sie im Rollenlistenfilter entfernen möchten, in dem alle Rollen angezeigt werden, die diesem Hauptkonto zugewiesen sind.
Klicken Sie auf den Papierkorb neben dem Hauptkonto in der gewünschten Rolle, um diese Rolle aus dem Hauptkonto zu entfernen.
Im Bestätigungsdialogfeld können Sie dieses Hauptkonto aus allen Rollen im Job entfernen. Klicken Sie auf Entfernen, um das Hauptkonto aus der Rolle zu entfernen.
gcloud
Erstellen Sie eine IAM-Richtlinie:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Führen Sie den Befehl gcloud run jobs set-iam-policy
aus:
gcloud run jobs set-iam-policy JOB_NAME policy.json
Eine Liste der zulässigen Werte für MEMBER_TYPE
finden Sie auf der Seite für IAM-Konzepte.
Eine Liste der zulässigen Werte für ROLE
finden Sie unter IAM-Rollen für Cloud Run.
Hauptkonten ansehen
Sie können Hauptkonten für Dienste und Jobs aufrufen.
Hauptkonten für einen Dienst aufrufen
So rufen Sie Hauptkonten für einen Dienst auf:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Dienst, den Sie für Hauptkonten und Rollen aufrufen möchten. (Klicken Sie nicht auf den Dienst selbst.)
Wählen Sie den Dienst aus, den Sie für Hauptkonten und Rollen aufrufen möchten.
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Die Liste der Rollen und Hauptkonten wird nach zugeteilten Rollen gruppiert angezeigt.
gcloud
Führen Sie den Befehl gcloud run services get-iam-policy
aus:
gcloud run services get-iam-policy SERVICE_NAME
Hauptkonten für einen Job aufrufen
So rufen Sie Hauptkonten für einen Job auf:
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Klicken Sie auf das Kästchen links neben dem Job, dem Sie Hauptkonten hinzufügen möchten. (Klicken Sie nicht auf den Job selbst.)
Wählen Sie den Job aus, den Sie für Hauptkonten und Rollen aufrufen möchten.
Klicken Sie im Informationsfenster oben rechts auf den Tab Berechtigungen. Wenn der Informationsbereich nicht sichtbar ist, müssen Sie möglicherweise auf Infofeld ansehen klicken und dann auf Berechtigungen klicken.
Die Liste der Rollen und Hauptkonten wird nach zugeteilten Rollen gruppiert angezeigt.
gcloud
Führen Sie den Befehl gcloud run jobs get-iam-policy
aus:
gcloud run jobs get-iam-policy JOB_NAME
Zugriff auf alle Dienste und Jobs in einem Projekt steuern
Wenn Sie Hauptkonten in allen Diensten und Jobs eines Projekts Rollen zuweisen möchten, können Sie IAM auf Projektebene verwenden.
Konsolenbasierte Benutzeroberfläche
Öffnen Sie die Google Cloud Console:
Suchen Sie das Hauptkonto, dem Sie eine projektweite Rolle zuweisen möchten.
Klicken Sie rechts neben dem Hauptkonto auf das Bleistiftsymbol.
Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie die gewünschte Rolle aus.
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud projects add-iam-policy-binding
aus:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER_TYPE \ --role=ROLE
Dabei ist MEMBER_TYPE
der Hauptkontotyp (z. B. user:email@domain.com
) und ROLE
die Rolle (z. B. roles/run.admin
).
Hinweis: Die Hauptkontotypen allUsers
und allAuthenticatedUsers
können nicht auf Projektebene angewendet werden, sondern müssen jedem Dienst einzeln hinzugefügt werden.
Nächste Schritte
Erfahren Sie, wie Sie Entwickler, Dienste und Nutzer für die soeben gespeicherten Dienste sicher authentifizieren.