Blog

Eingeschränkte organisatorische Einschränkungen Verwaltung

Laurens Knoll

Laurens Knoll

Aktualisiert Oktober 16, 2025
3 Minuten

Sie benötigen eine Berechtigung auf Organisationsebene, um GCP-Ressourcenbeschränkungen zu konfigurieren. Glücklicherweise können Sie diese Berechtigungen mit Hilfe von Ressourcen-Tags und IAM-Bedingungen auf Ihren Workload-Kontext anwenden. Wir zeigen Ihnen, wie Sie das machen.

Organisationspolitische Beschränkungen

IAM schränkt nur die erlaubten Aktionen ein. Es hindert Sie nicht daran, Ressourcen mit bestimmten Attributen wie nicht abgeschirmte VMs oder externe IP-Adressen einzusetzen. Diese Einschränkungen werden mit Organisationsrichtlinieneinschränkungen konfiguriert.

Um Ressourcenbeschränkungen zu konfigurieren, benötigen Sie die Rolle Administrator für Organisationsrichtlinien. Leider wird diese Berechtigung auf der Organisationsebene erteilt. Folglich haben Sie entweder die Berechtigung, alle Ressourcenbeschränkungen zu verwalten oder gar keine.

Sie können IAM-Bedingungen verwenden, um IAM-Berechtigungen auf bestimmte Ressourcen zu übertragen. In diesem Fall beschränken wir die Rolle Organisationsrichtlinien-Admin auf Ressourcen , die mit einem bestimmten Schlüssel gekennzeichnet sind.

Organisation, die für die Verwaltung von Richtlinien zuständig ist

In diesem Beispiel erhält ein Workload-CI/CD-Service-Konto die Berechtigung, Ressourcenbeschränkungen für Ordner und Projekte zu konfigurieren, die mit dem org-policy-scope/my-scope-Tag versehen sind. Dadurch kann das Workload-Team Ressourcenbeschränkungen für seine Projekte konfigurieren, ohne das Risiko einzugehen, dass Ressourcenbeschränkungen für andere Projekte konfiguriert werden.

Sehen Sie sich die Quellen auf GitHub an.

Mit den nächsten Schritten wird die Infrastruktur konfiguriert:

  1. Definieren Sie Ressourcen-Tags
  2. Ressourcen-Tags binden
  3. Bedingte IAM-Berechtigungen zuweisen
  4. Organisationsrichtlinieneinschränkungen konfigurieren

Anmerkung: Schritt 1, 2 und 3 erfordern die Berechtigungen der IAM-Richtlinie für Organisationen.

1. Definieren Sie Ressourcen-Tags

Definieren Sie den Tag org-policy-scope-Ressource als Schlüssel und den my-scope-Wert als Bereich.

resource "google_tags_tag_key" "org_policy_scope" {
  parent = data.google_organization.org.name

  short_name  = "org-policy-scope"
  description = "Scoping tag for organization policy constraint management."
}

resource "google_tags_tag_value" "org_policy_scope_my_scope" {
  parent      = google_tags_tag_key.org_policy_scope.id
  short_name  = "my-scope"
  description = "Org policy scope (my-scope) tag."
}

2. Ressourcen-Tags binden

Binden Sie das Tag org-policy-scope/my-scope-resource an die entsprechenden Ressourcen.

resource "google_project" "example" {
  project_id = "org-pol-admin-example"
  name       = "org-pol-admin-example"
}

resource "google_tags_tag_binding" "scope_my_scope_allow_project_example" {
  tag_value = google_tags_tag_value.org_policy_scope_my_scope.id
  parent    = "//cloudresourcemanager.googleapis.com/projects/${google_project.example.number}"
}

3. Bedingte IAM-Berechtigungen zuweisen

Weisen Sie dem CI/CD-Service-Konto bedingt die Rolle Administrator der Organisationsrichtlinie zu.

resource "google_organization_iam_member" "cicd_org_policy_admin_scope_my_scope" {
  org_id = data.google_organization.org.org_id
  role   = "roles/orgpolicy.policyAdmin"
  member = "serviceAccount:${google_service_account.cicd_org_policy_admin.email}"

  condition {
    title = "my-scope"
    expression = "resource.matchTagId('${google_tags_tag_key.org_policy_scope.id}', '${google_tags_tag_value.org_policy_scope_my_scope.id}')"
  }
}

4. Organisationsrichtlinieneinschränkungen konfigurieren

Verteilen Sie schließlich Ihre Ressourcenbeschränkungen über das CI/CD-Servicekonto.

resource "google_org_policy_policy" "scope_my_scope_require_shielded_vm" {
  parent = google_project.example.id
  name   = "${google_project.example.id}/policies/compute.requireShieldedVm"

  spec {
    inherit_from_parent = false

    rules {
      enforce = "TRUE"
    }
  }

  timeouts {
    create = "1m"
  }
}

Bemerkung Wenn Sie versuchen, eine Ressourcenbeschränkung für eine Ressource außerhalb des Geltungsbereichs zu erstellen, tritt eine Zeitüberschreitung auf. Die Zeitüberschreitung tritt auf, weil der Terraform-Anbieter versucht, die aktuelle Konfiguration zu lesen, was aber nicht möglich ist.

Fazit

Organisationsrichtlinieneinschränkungen sind eine wertvolle Ergänzung zu den IAM-Berechtigungen. Durch die Verwendung von IAM-Bedingungen und Ressourcen-Tags können Sie die ORganisationsrichtlinien-Admin-Berechtigungen erweitern. Auf diese Weise können Sie es Workload-Teams ermöglichen, Ressourcenbeschränkungen zu nutzen.

Bild von MasterTux aus Pixabay

Verfasst von

Laurens Knoll

As a cloud consultant I enjoy improving what your company does best. I enable your business using cloud technology and enable your engineers by applying software engineering practices to your infrastructure domain.

Contact

Let’s discuss how we can support your journey.