Wenn Entwickler Anwendungen in der Vorschau ansehen und bereitstellen, können sie ein vorhandenes Dienstkonto verwenden. Alternativ kann App Design Center automatisch ein neues Dienstkonto erstellen.
Wenn Sie die Bereitstellung mit Ihrem eigenen Dienstkonto vornehmen möchten, müssen Sie die erforderlichen Rollen und Berechtigungen für Identity and Access Management zuweisen. In diesem Dokument wird beschrieben, wie Sie Rollen zuweisen und Ihr Dienstkonto konfigurieren. Dazu gehören die folgenden Schritte:
- IAM-Richtlinienbindungen zum Dienstkonto und Nutzerkonto hinzufügen
- Dem Dienstkonto die Rollen zuweisen, die für die Bereitstellung der einzelnen Ressourcen erforderlich sind
- Dem Dienstkonto Berechtigungen hinzufügen, um die Bereitstellung außerhalb des Projekts vorzunehmen, in dem das Dienstkonto erstellt wurde
- Organisationsrichtlinien aktualisieren, damit Dienstkonten projektübergreifend verwendet werden können
Dienstkonto konfigurieren
So konfigurieren Sie Ihre Dienstkonten:
Fügen Sie Ihrem Dienstkonto eine IAM-Richtlinienbindung für die Rolle
roles/iam.serviceAccountUserfür den Dienst-Agent hinzu:gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \ --member="serviceAccount:service-SERVICE_ACCOUNT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountUser"Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_EMAIL: Ihre Dienstkonto-E-Mail-Adresse. Beispiel:my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.SERVICE_ACCOUNT_PROJECT_ID: Die Projekt-ID des Projekts, das Ihr Dienstkonto enthält.SERVICE_ACCOUNT_PROJECT_NUMBER: Die Projektnummer des Projekts, das Ihr Dienstkonto enthält.
Fügen Sie Ihrem Dienstkonto eine IAM-Richtlinienbindung für die Rolle
roles/iam.serviceAccountUserfür einen Nutzer hinzu:gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_EMAIL: Ihre Dienstkonto-E-Mail-Adresse. Beispiel:my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.USER_EMAIL: Die E-Mail-Adresse des Nutzers, der die Bereitstellung vornimmt.
Fügen Sie im Projekt mit Ihrem Dienstkonto IAM Richtlinienbindungen für die erforderlichen Dienst-Agent-Rollen im Verwaltungsprojekt hinzu, das Ihren Space enthält:
gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/apphub.editor"gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/config.agent"gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-MANAGEMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/serviceusage.serviceUsageAdmin"Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_PROJECT_ID: Die Projekt-ID des Projekts, das Ihr Dienstkonto enthält.MANAGEMENT_PROJECT_NUMBER: Die Projekt nummer des Verwaltungsprojekts , das Ihren Space enthält.
Achten Sie darauf, dass die Einschränkung der Organisationsrichtlinie
iam.disableCrossProjectServiceAccountUsageim Projekt mit Ihrem Dienstkonto nicht erzwungen wird. Diese Einschränkung wird standardmäßig erzwungen.Führen Sie den folgenden Befehl aus, um die Erzwingung der Einschränkung der Organisationsrichtlinie zu deaktivieren:
gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --project=SERVICE_ACCOUNT_PROJECT_IDErsetzen Sie Folgendes:
SERVICE_ACCOUNT_PROJECT_ID: Die Projekt-ID des Projekts, das Ihr Dienstkonto enthält.
Weisen Sie Ihrem Dienstkonto die Rollen zu, die für die Bereitstellung von Ressourcen in Projekten erforderlich sind. Die erforderlichen Rollen werden angezeigt, wenn Entwickler Anwendungen bereitstellen.
Fügen Sie beispielsweise die folgende Richtlinienbindung hinzu, um die Rolle
roles/run.adminzuzuweisen:gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:service-DEPLOYMENT_PROJECT_NUMBER@gcp-sa-designcenter.iam.gserviceaccount.com" \ --role="roles/run.admin"Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_PROJECT_ID: Die Projekt-ID des Projekts, das Ihr Dienstkonto enthält.DEPLOYMENT_PROJECT_NUMBER: Die Projektnummer des Projekts, in dem Sie Ressourcen bereitstellen.
App Design Center verwendet Infrastructure Manager, um Anwendungen in der Console bereitzustellen. Wenn Sie Ihr eigenes Dienstkonto für die Bereitstellung mit Infrastructure Manager verwenden möchten, führen Sie die Schritte unter Zugriff auf mehrere Projekte gewähren aus.
Wenn die Anwendung, die Sie bereitstellen, private Komponenten enthält, die Sie über eine Developer Connect-Verbindung importiert haben, gehen Sie so vor:
Weisen Sie Ihrem Dienstkonto die Rolle
roles/iam.serviceAccountTokenCreatorfür das Projekt zu, in dem Sie das Dienstkonto erstellt haben.gcloud projects add-iam-policy-binding SERVICE_ACCOUNT_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/iam.serviceAccountTokenCreator"Ersetzen Sie Folgendes:
SERVICE_ACCOUNT_PROJECT_ID: Die Projekt-ID des Projekts, das Ihr Dienstkonto enthält.SERVICE_ACCOUNT_EMAIL: Ihre Dienstkonto-E-Mail-Adresse. Beispiel:my-service-account@SERVICE_ACCOUNT_PROJECT_ID.iam.gserviceaccount.com.
Nächste Schritte
- Informationen zum Aktualisieren, Skalieren und Löschen von Ressourcen durch Verwalten von Anwendungen
- Infrastruktur mit der Console oder der Befehlszeile durch Bereitstellen von Anwendungen bereitstellen