Sie können eine einzelne vorhandene Berechtigungsregel, einen sogenannten ACL-Eintrag, aus einer ACL-Ressource von Managed Service for Apache Kafka entfernen, ohne andere Einträge in der Liste zu beeinträchtigen. Diese Funktion ist nützlich, um bestimmte Berechtigungen schrittweise zu widerrufen.
Dieser Vorgang entspricht dem Löschen einer einzelnen Apache Kafka-ACL-Bindung und erfordert kein eTag für die Nebenläufigkeitssteuerung.
Erforderliche Rollen und Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Managed Kafka ACL Editor (roles/managedkafka.aclEditor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Entfernen eines ACL-Eintrags benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Entfernen eines ACL-Eintrags erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Entfernen eines ACL-Eintrags erforderlich:
-
Erteilen Sie diese Berechtigung für die ACL:
managedkafka.acls.updateEntries
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Die Rolle Managed Kafka ACL Editor (roles/managedkafka.aclEditor) enthält die erforderliche Berechtigung zum Hinzufügen oder Entfernen einzelner ACL-Einträge. Weitere Informationen finden Sie unter Vordefinierte Rollen für Google Cloud Managed Service for Apache Kafka.
ACL-Eintrag entfernen
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init Führen Sie den Befehl
gcloud managed-kafka acls remove-acl-entryaus:ACL_ID(erforderlich): die eindeutige ID der ACL-Ressource von Managed Service for Apache Kafka, aus der Sie einen Eintrag entfernen möchten. Diese Variable gibt das Ressourcenmuster an, aus dem der Eintrag entfernt wird. Weitere Informationen zur ACL-ID finden Sie unter ACL-ID.CLUSTER_ID(erforderlich): Die ID des Clusters, der die ACL-Ressource enthält.LOCATION(erforderlich): Die Region, in der sich der Cluster befindet. Weitere Informationen zur Region finden Sie unter Unterstützte Standorte.PRINCIPAL(erforderlich): Das Hauptkonto des Nutzers oder Dienstkontos des zu entfernenden ACL-Eintrags. Verwenden Sie das FormatUser:{google_service_account_email}oder den PlatzhalterUser:*.OPERATION(erforderlich): Der Vorgangstyp des zu entfernenden ACL-Eintrags. Zulässige Werte sindALL,READ,WRITE,CREATE,DELETE,ALTER,DESCRIBE,CLUSTER_ACTION,DESCRIBE_CONFIGS,ALTER_CONFIGSundIDEMPOTENT_WRITE.PERMISSION_TYPE(optional, Standardwert ALLOW): Der Typ der zu entfernenden Berechtigung:ALLOWoderDENY.HOST(optional, Standardwert: *): Der Clienthost des zu entfernenden ACL-Eintrags. Für Google Cloud Managed Service for Apache Kafka muss dieser Wert auf das Platzhalterzeichen'*'gesetzt werden.
gcloud managed-kafka acls remove-acl-entry ACL_ID \ --cluster=CLUSTER_ID \ --location=LOCATION \ --principal=PRINCIPAL \ --operation=OPERATION \ --permission-type=PERMISSION-TYPE \ --host=HOST \
Ersetzen Sie Folgendes:
Befehlsbeispiel
Sie müssen die genauen Details des ACL-Eintrags angeben, den Sie entfernen möchten, indem Sie die Flags --principal, --operation, --permission-type und --host verwenden.
Führen Sie den folgenden Befehl aus, um einen ACL-Eintrag zu entfernen, der einem bestimmten Dienstkonto das Lesen aus einem Thema mit dem Namen test-topic im Cluster test-cluster in der Region us-central1 ermöglicht. Wenn dieser ACL-Eintrag der einzige war, wird die ACL gelöscht und die Antwort enthält deleted: True.
Andernfalls wird der aktualisierte ACL-Eintrag zurückgegeben.
gcloud managed-kafka acls remove-acl-entry topic/test-topic \
--cluster=test-cluster \
--location=us-central1 \
--principal='User:service-account@test-project.iam.gserviceaccount.com' \
--operation=READ \
--permission-type=ALLOW \
--host='*' \