Nutzern Instanzzugriff gewähren

Auf dieser Seite wird beschrieben, wie Sie Ihren Nutzern mit Identity and Access Management (IAM) Zugriff auf Ihre Secure Source Manager-Instanz gewähren. Weitere Informationen zur Zugriffssteuerung in Secure Source Manager finden Sie unter Zugriffssteuerung mit IAM.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Secure Source Manager Instance Owner (roles/securesourcemanager.instanceOwner) für die Secure Source Manager-Instanz zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Gewähren des Instanzzugriffs für Nutzer benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Informationen zum Zuweisen von Secure Source Manager-Rollen finden Sie unter Zugriffssteuerung mit IAM.

Zugriff für Nutzer der Mitarbeiteridentitätsföderation gewähren

Wenn Sie die Mitarbeiteridentitätsföderation für den Zugriff auf Secure Source Manager verwenden, werden Hauptkonten anders dargestellt. Weitere Informationen zum Gewähren des Zugriffs auf Hauptkonten, die Gruppen von Identitäten darstellen, finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen.

Mit dem folgenden Befehl wird dem Nutzer user@example.com beispielsweise die Rolle „Instance Accessor“ (roles/securesourcemanager.instanceAccessor) im Workforce-Pool my-pool für die Instanz my-instance im Projekt my-project in der Region us-central1 zugewiesen:

  gcloud beta source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor

Sie können Nutzern oder Gruppen in Ihrem Workforce Identity-Pool basierend auf den Attributen Ihres Identitätsanbieters (IdP) Berechtigungen erteilen oder Common Expression Language (CEL) verwenden, um Ihre OIDC-Attribute benutzerdefinierten Attributen zuzuordnen und so eine Autorisierungsstrategie in Ihrer IAM-Richtlinie zu definieren. Weitere Informationen zu Attributzuordnungen finden Sie unter Attributzuordnungen.

Einzelnen Nutzern Zugriff gewähren

Verwenden Sie den folgenden Google Cloud CLI-Befehl, um einem einzelnen Nutzer Zugriff auf die Instanz zu gewähren:

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor

Ersetzen Sie Folgendes:

  • INSTANCE_ID durch die Instanz-ID.
  • Ersetzen Sie PROJECT_ID durch die Projekt-ID oder Projektnummer der Instanz.
  • REGION durch die Region, in der sich die Instanz befindet. Informationen zu den verfügbaren Secure Source Manager-Regionen finden Sie in der Dokumentation zu Standorten.
  • PRINCIPAL_IDENTIFIER mit der ID des Hauptkontos, dem Sie die Rolle zuweisen möchten.

    Wenn Sie die Rolle beispielsweise einem einzelnen Nutzer mit seiner E-Mail-Adresse zuweisen möchten, formatieren Sie die Prinzipal-ID als user:EMAIL, wobei EMAIL die E-Mail-Adresse des Nutzers ist.

    Weitere Informationen zu unterstützten Hauptkonto-IDs finden Sie unter Hauptkonto-IDs.

Mit dem folgenden Befehl wird beispielsweise dem Nutzer trusted-user1@gmail.com die Rolle roles/securesourcemanager.instanceAccessor für die Instanz my-instance im Projekt my-project in der Region us-central zugewiesen.

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor

Mehreren Nutzern Zugriff gewähren

  1. Erstellen Sie eine Google-Gruppe mit allen Nutzern, die auf Ihre Instanz zugreifen müssen. Die Gruppe kann eine domainspezifische Gruppe sein.

    Wir empfehlen, eine allgemeine Gruppe zu erstellen, die alle potenziellen Nutzer umfasst, z. B. alle Entwickler und Personen, die Probleme in Ihrem Unternehmen melden könnten. Nutzer müssen Mitglied dieser Gruppe sein, um auf Ressourcen in einer Secure Source Manager-Instanz zuzugreifen oder solche Ressourcen zu erstellen, einschließlich Repositories und Problemen.

    Wenn Sie eine breite Gruppe erstellen, können Teamleiter Nutzerrollen auf Instanz- und Repository-Ebene verwalten, ohne auch die Mitgliedschaft der Gruppe verwalten zu müssen.

  2. Führen Sie den folgenden Befehl aus, um die aktuelle Zulassungsrichtlinie zu lesen und in /tmp/instances.json zu speichern:

      gcloud beta source-manager instances get-iam-policy INSTANCE_ID \
          --project=PROJECT_ID \
          --region=REGION \
          --format=json > /tmp/instance.json
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID durch die Instanz-ID.
    • PROJECT_ID durch die Projekt-ID oder Projektnummer der Instanz.
    • REGION durch die Region, in der sich die Instanz befindet. Informationen zu den verfügbaren Secure Source Manager-Regionen finden Sie in der Dokumentation zu Standorten.

    Die Ausgabe enthält alle vorhandenen Bindungen oder, falls keine vorhanden sind, den Wert etag, wie im Folgenden dargestellt:

    {
        "etag": "BwUjHYKJUiQ="
    }
    
  3. Bearbeiten Sie die JSON-Datei /tmp/instance.json, um Ihrer Gruppe bzw. Ihren Gruppen die folgenden Rollen zuzuweisen:

    • Rolle „Instance Accessor“ (roles/securesourcemanager.instanceAccessor) für Nutzer, die die Instanz ansehen, aber keine Repositorys erstellen oder ändern müssen.
    • Die Rolle „Instance Repository Creator“ (roles/securesourcemanager.instanceRepositoryCreator) für Nutzer, die Repositorys erstellen und ändern müssen.
    • Rolle „Instanzinhaber“ (roles/securesourcemanager.instanceOwner) für Nutzer, die Ihre Instanz verwalten

    In der folgenden Beispielrichtlinie wird der Gruppe your-group@gmail.com die Rolle roles/securesourcemanager.instanceRepositoryCreator und den Nutzern trusted-user1@gmail.com und trusted-user2@gmail.com die Rolle roles/securesourcemanager.instanceOwner zugewiesen.

    {
      "etag": "ETAG",
      "bindings": [
        {
          "role": "roles/securesourcemanager.instanceRepositoryCreator",
          "members": [
            "group:GROUP_EMAIL"
          ]
        },
        {
          "role": "roles/securesourcemanager.instanceOwner",
          "members": [
            "user:USER_EMAIL_1",
            "user:USER_EMAIL_2"
          ]
        }
      ]
    }
    

    Ersetzen Sie Folgendes:

    • ETAG mit dem Wert etag aus der getIamPolicy-Antwort. In diesem Fall wäre das BwUjHYKJUiQ=.
    • GROUP_EMAIL durch die E-Mail-Adresse Ihrer Google-Gruppe.
    • USER_EMAIL_1 und USER_EMAIL_2 mit den E‑Mail-Adressen der Nutzer, denen Sie die Rolle „Instanzinhaber“ zuweisen möchten.
  4. Speichern Sie die bearbeitete Datei /tmp/instance.json.

  5. Nachdem Sie die gespeicherte Zulassungsrichtlinie geändert haben, um die gewünschten Rollen zuzuweisen und zu widerrufen, aktualisieren Sie die Zulassungsrichtlinie Ihrer Instanz, indem Sie den folgenden Befehl ausführen:

    gcloud beta source-manager instances set-iam-policy INSTANCE_ID  \
        --project=PROJECT_ID \
        --region=REGION \
        /tmp/instance.json
    

    Ersetzen Sie Folgendes:

    • INSTANCE_ID durch die Instanz-ID.
    • PROJECT_ID durch die Projekt-ID oder Projektnummer der Instanz.
    • REGION durch die Region, in der sich die Instanz befindet. Informationen zu den verfügbaren Secure Source Manager-Regionen finden Sie in der Dokumentation zu Standorten.

Nächste Schritte