Auf dieser Seite wird erläutert, wie Sie Empfehlungen des IAM-Recommenders aufrufen, interpretieren und anwenden. Mit dem IAM-Recommender können Sie das Prinzip der geringsten Berechtigung erzwingen und Mitgliedern nur die Berechtigungen erteilen, die sie tatsächlich benötigen.
Hinweis
- Weitere Informationen zum IAM Recommender
- Prüfen Sie, ob Sie die IAM-Berechtigungen haben, die Sie benötigen, um mit dem IAM-Recommender zu arbeiten.
- Lesen Sie die Best Practices für den IAM-Recommender.
Empfehlungen prüfen und anwenden
Die einfachste Möglichkeit, Ihre Empfehlungen zu prüfen und anzuwenden, ist das Verwenden der Google Cloud Console. Für folgende Aufgaben müssen Sie die Cloud Console verwenden:
- Details dazu ansehen, warum Sie eine Empfehlung erhalten haben
- Empfehlungen verwerfen
- Beim Anwenden einer Empfehlung automatisch eine benutzerdefinierte Rolle erstellen lassen
Sie können Empfehlungen auch mit dem gcloud
-Befehlszeilentool und der Recommender API prüfen und anwenden.
Console
Rufen Sie in der Cloud Console die Seite IAM auf.
Suchen Sie in der Liste der Mitglieder Ihres Projekts nach der Spalte Analysierte Berechtigungen.
Für jede Rolle, die einem Mitglied zugewiesen wurde, wird in dieser Spalte die Anzahl der nicht erforderlichen Berechtigungen angezeigt, gefolgt von der Gesamtzahl der Berechtigungen der Rolle:
Das Symbol Empfehlung verfügbar
gibt an, dass für die Rolle eine Empfehlung verfügbar ist, entweder um die Rolle zu widerrufen oder um sie durch eine Rolle mit weniger Berechtigungen zu ersetzen.Falls Empfehlungen zum Prüfen vorhanden sind, klicken Sie auf ein Empfehlung verfügbar-Symbol
, um sich Details zur Empfehlung anzusehen.Wenn die Empfehlung darin besteht, die Rolle zu ersetzen, schlägt der IAM-Recommender immer eine Reihe von vordefinierten Rollen vor, die Sie anwenden können.
In einigen Fällen schlägt der IAM-Recommender auch vor, eine neue benutzerdefinierte Rolle auf Projektebene zu erstellen. Wenn eine Empfehlung zum Erstellen einer benutzerdefinierten Rolle verfügbar ist, wird sie standardmäßig in der Cloud Console angezeigt. Wenn Sie sich wieder ansehen möchten, welche vordefinierte Rolle empfohlen wurde, klicken Sie auf Empfohlene vordefinierte Rollen ansehen.
Prüfen Sie die Empfehlung eingehend und machen Sie sich klar, wie sich dadurch der Zugriff des Mitglieds auf Google Cloud-Ressourcen ändert. Unter Empfehlungen prüfen erfahren Sie, welche Arten von Änderungen eine Empfehlung enthalten kann.
Optional: Wenn die Empfehlung lautet, eine benutzerdefinierte Rolle zu erstellen, aktualisieren Sie, falls nötig, den Titel, die Beschreibung, die ID und die Phase der Rollenerstellung.
Wenn Sie der benutzerdefinierten Rolle Berechtigungen hinzufügen möchten, klicken Sie auf Berechtigungen hinzufügen.
Wenn Sie aus der benutzerdefinierten Rolle Berechtigungen entfernen möchten, entfernen Sie für jede Berechtigung, die Sie entfernen möchten, das Häkchen aus dem entsprechenden Kästchen.
Setzen Sie die Empfehlung um.
Um die Empfehlung anzuwenden, klicken Sie auf Anwenden oder Erstellen und anwenden. Wenn Sie Ihre Meinung innerhalb der folgenden 90 Tage ändern, verwenden Sie den IAM Recommender-Verlauf, um Ihre Entscheidung rückgängig zu machen.
Wenn Sie die Empfehlung verwerfen möchten, klicken Sie auf Verwerfen und bestätigen dann Ihre Auswahl. Sie können eine verworfene Empfehlung wiederherstellen, solange die Empfehlung noch gültig ist.
Wiederholen Sie die vorherigen Schritte, bis Sie alle Empfehlungen geprüft haben.
gcloud
Empfehlungen prüfen
Führen Sie den gcloud recommender recommendations list
-Befehl aus, um Ihre Empfehlungen aufzulisten:
gcloud recommender recommendations list \
--location=global \
--recommender=google.iam.policy.Recommender \
--project=project-id \
--format=format
Ersetzen Sie die folgenden Werte:
project-id
: die Projekt-ID, z. B.project-123
.format
: das Format der Antwort. Verwenden Siejson
oderyaml
.
Die Antwort ähnelt dem folgenden Beispiel. In diesem Beispiel hat ein Dienstkonto in den letzten 90 Tagen keine Berechtigungen der Rolle "Compute-Administrator" (roles/compute.admin
) verwendet. Daher schlägt der IAM-Recommender vor, dass Sie die Rolle widerrufen:
[
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilter": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com",
"/iamPolicy/bindings/*/role": "roles/compute.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/example-project",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
]
},
"description": "This role has not been used during the observation window.",
"recommenderSubtype": "REMOVE_ROLE",
"etag": "\"770237e2c0decf40\"",
"lastRefreshTime": "2020-01-09T06:06:17Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"revokedIamPermissionsCount": 708
}
},
"stateInfo": {
"state": "ACTIVE"
}
}
]
Prüfen Sie jede Empfehlung sorgfältig und überlegen Sie, wie sich durch die empfohlenen Änderungen der Zugriff des Mitglieds auf Google Cloud-Ressourcen ändert.
Sehen Sie sich die Nachrichten für die Empfehlung an, um zu erfahren, auf welcher Berechtigungsnutzung diese Empfehlung basiert. Diese Nachrichten werden im Feld associatedInsights
aufgelistet. So rufen Sie Nachrichten auf:
- Kopieren Sie die Nachricht-ID. Die Nachricht-ID ist alles nach
insights/
im Feldinsight
. Im vorherigen Beispiel lautet die Nachrichten-ID279ef748-408f-44db-9a4a-1ff8865b9839
. - Folgen Sie der Anleitung, um eine Nachricht zu erhalten. Verwenden Sie dazu die kopierte Nachrichten-ID und die ID des Nachrichtentyps
google.iam.policy.Insight
.
So wenden Sie eine Empfehlung an:
Verwenden Sie den Befehl
gcloud recommender recommendations mark-claimed
, um den Status der Empfehlung inCLAIMED,
zu ändern. Dadurch wird verhindert, dass sich die Empfehlung ändert, während Sie sie anwenden:gcloud recommender recommendations mark-claimed \ recommendation-id \ --location=global \ --recommender=google.iam.policy.Recommender \ --project=project-id \ --format=format \ --etag=etag \ --state-metadata=state-metadata
Ersetzen Sie die folgenden Werte:
-
recommendation-id
: die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Im oben gezeigten Beispiel lautet die IDfb927dc1-9695-4436-0000-f0f285007c0f
. project-id
: die Projekt-ID, z. B.project-123
.-
format
: das Format der Antwort. Verwenden Siejson
oderyaml
. -
etag
: der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Beachten Sie, dass dieser Wert auch Anführungszeichen enthalten kann. -
state-metadata
: Optional. Durch Kommas getrennte Schlüssel/Wert-Paare, die die von Ihnen ausgewählten Metadaten zur Empfehlung enthalten. Beispiel:--state-metadata=reviewedBy=alice,priority=high
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
Wenn der Befehl erfolgreich ausgeführt wurde, wird die Empfehlung in der Antwort im
CLAIMED
-Status aufgeführt, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden im Beispiel die meisten Felder weggelassen:[ { "description": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"df7308cca9719dcc\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]
-
Rufen Sie die IAM-Richtlinie für das Projekt ab und ändern Sie die Richtlinie so, dass sie der Empfehlung entspricht.
Aktualisieren Sie den Empfehlungsstatus auf
SUCCEEDED
, falls Sie die Empfehlung anwenden konnten, oder aufFAILED
, falls Sie die Empfehlung nicht anwenden konnten:gcloud recommender recommendations command \ recommendation-id \ --location=global \ --recommender=google.iam.policy.Recommender \ --project=project-id \ --format=format \ --etag=etag \ --state-metadata=state-metadata
Ersetzen Sie die folgenden Werte:
command
: Verwenden Siemark-succeeded
, wenn Sie die Empfehlung anwenden konnten, odermark-failed
, wenn Sie die Empfehlung nicht anwenden konnten.-
recommendation-id
: die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Im oben gezeigten Beispiel lautet die IDfb927dc1-9695-4436-0000-f0f285007c0f
. project-id
: die Projekt-ID, z. B.project-123
.-
format
: das Format der Antwort. Verwenden Siejson
oderyaml
. -
etag
: der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Beachten Sie, dass dieser Wert auch Anführungszeichen enthalten kann. -
state-metadata
: Optional. Durch Kommas getrennte Schlüssel/Wert-Paare, die die von Ihnen ausgewählten Metadaten zur Empfehlung enthalten. Beispiel:--state-metadata=reviewedBy=alice,priority=high
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
Wenn Sie beispielsweise die Empfehlung als erfolgreich angewendet markiert haben, wird die Empfehlung in der Antwort im
SUCCEEDED
-Status angezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:[ { "description": "This role has not been used during the observation window.", "recommenderSubtype": "REMOVE_ROLE", "etag": "\"dd0686e7136a4cbb\"", "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } } ]
REST
Empfehlungen prüfen
Die Methode recommendations.list
der Recommender API listet alle verfügbaren Empfehlungen für Ihr Projekt auf.
Ersetzen Sie diese Werte in den folgenden Anweisungen:
project-id
: Ihre Google Cloud-Projekt-ID.page-size
: Optional. Die maximale Anzahl von Ergebnissen, die von dieser Anfrage zurückgegeben werden sollen. Wenn nicht angegeben, bestimmt der Server die Anzahl der zurückzugebenden Ergebnisse. Wenn die Anzahl der Empfehlungen die Seitengröße überschreitet, enthält die Antwort ein Paginierungstoken, mit dem Sie die nächste Ergebnisseite abrufen können.page-token
: Optional. Das Paginierungstoken, das in einer früheren Antwort von dieser Methode zurückgegeben wurde. Wenn dieser Wert angegeben wird, beginnt die Liste der Empfehlungen dort, wo die vorherige Anfrage endet.filter
: Optional. Ein Filterausdruck, mit dem sich die zurückgegebenen Empfehlungen einschränken lassen. Sie können Empfehlungen anhand des FeldesstateInfo.state
filtern. Beispiel:stateInfo.state:"DISMISSED"
oderstateInfo.state:"FAILED"
.
HTTP-Methode und URL:
GET https://recommender.googleapis.com/v1/projects/project-id/locations/global/recommenders/google.iam.policy.Recommender/recommendations?pageSize=page-size&pageToken=page-token&filter=filter
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort ähnelt dem folgenden Beispiel. In diesem Beispiel hat ein Dienstkonto in den letzten 90 Tagen keine Berechtigungen der Rolle "Compute-Administrator" (roles/compute.admin
) verwendet. Daher schlägt der IAM-Recommender vor, dass Sie die Rolle widerrufen:
{ "recommendations": [ "name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f", "description": "This role has not been used during the observation window.", "lastRefreshTime": "2020-01-09T06:06:17Z", "primaryImpact": { "category": "SECURITY", "securityProjection": { "revokedIamPermissionsCount": 708 } }, "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilter": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "serviceAccount:id-1234567890@example-project.iam.gserviceaccount.com", "/iamPolicy/bindings/*/role": "roles/compute.admin" }, "resource": "//cloudresourcemanager.googleapis.com/projects/example-project", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] } ] }, "stateInfo": { "state": "ACTIVE" } "etag": "\"770237e2c0decf40\"", "recommenderSubtype": "REMOVE_ROLE", "associatedInsights": [ { "insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/279ef748-408f-44db-9a4a-1ff8865b9839" } ] }
Prüfen Sie jede Empfehlung sorgfältig und überlegen Sie, wie sich durch die empfohlenen Änderungen der Zugriff des Mitglieds auf Google Cloud-Ressourcen ändert.
Sehen Sie sich die Nachrichten für die Empfehlung an, um zu erfahren, auf welcher Berechtigungsnutzung diese Empfehlung basiert. Diese Nachrichten werden im Feld associatedInsights
aufgelistet. So rufen Sie Nachrichten auf:
- Kopieren Sie die Nachricht-ID. Die Nachricht-ID ist alles nach
insights/
im Feldinsight
. Im vorherigen Beispiel lautet die Nachrichten-ID279ef748-408f-44db-9a4a-1ff8865b9839
. - Folgen Sie der Anleitung, um eine Nachricht zu erhalten. Verwenden Sie dazu die kopierte Nachrichten-ID und die ID des Nachrichtentyps
google.iam.policy.Insight
.
So wenden Sie eine Empfehlung an:
Markieren Sie die Empfehlung als
CLAIMED
:Die Methode
recommendations.markClaimed
der Recommender API markiert eine Empfehlung alsCLAIMED
. Dadurch wird verhindert, dass sich die Empfehlung ändert, während Sie sie anwenden.Ersetzen Sie diese Werte in den folgenden Anweisungen:
project-id
: Ihre Google Cloud-Projekt-ID.recommendation-id
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.etag
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.state-metadata
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/project-id/locations/global/recommenders/google.iam.policy.Recommender/recommendations/recommendation-id:markClaimed
JSON-Text anfordern:
{ "etag": "etag" "stateMetadata": { "state-metadata" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort zeigt die Empfehlung im
CLAIMED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:{ "description": "This role has not been used during the observation window.", "stateInfo": { "state": "CLAIMED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
Rufen Sie die IAM-Richtlinie für das Projekt ab und ändern Sie die Richtlinie so, dass sie der Empfehlung entspricht.
Aktualisieren Sie den Empfehlungsstatus auf
SUCCEEDED
, falls Sie die Empfehlung anwenden konnten, oder aufFAILED
, falls Sie die Empfehlung nicht anwenden konnten:SUCCEEDED
Die Methode
recommendations.markSucceeded
der Recommender API markiert eine Empfehlung alsSUCCEEDED
, was darauf hinweist, dass Sie sie anwenden konnten.Ersetzen Sie diese Werte in den folgenden Anweisungen:
project-id
: Ihre Google Cloud-Projekt-ID.recommendation-id
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.etag
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.state-metadata
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/project-id/locations/global/recommenders/google.iam.policy.Recommender/recommendations/recommendation-id:markSucceeded
JSON-Text anfordern:
{ "etag": "etag" "stateMetadata": { "state-metadata" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort zeigt die Empfehlung im
SUCCEEDED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:{ "description": "This role has not been used during the observation window.", "stateInfo": { "state": "SUCCEEDED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
FAILED
Die Methode
recommendations.markFailed
der Recommender API markiert eine Empfehlung alsFAILED
, was darauf hinweist, dass Sie sie nicht anwenden konnten.Ersetzen Sie diese Werte in den folgenden Anweisungen:
project-id
: Ihre Google Cloud-Projekt-ID.recommendation-id
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.etag
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.state-metadata
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/project-id/locations/global/recommenders/google.iam.policy.Recommender/recommendations/recommendation-id:markFailed
JSON-Text anfordern:
{ "etag": "etag" "stateMetadata": { "state-metadata" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort zeigt die Empfehlung im
FAILED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:{ "description": "This role has not been used during the observation window.", "stateInfo": { "state": "FAILED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } } "etag": "\"dd0686e7136a4cbb\"", "recommenderSubtype": "REMOVE_ROLE" }
Änderungen ansehen, zurücksetzen und wiederherstellen
Nachdem Sie eine Empfehlung angewendet oder verworfen haben, wird diese Aktion im Empfehlungsverlauf aufgeführt. So rufen Sie den Empfehlungsverlauf auf:
Rufen Sie in der Cloud Console die Seite IAM auf.
Klicken Sie oben auf dem Bildschirm auf Empfehlungsverlauf.
Die Cloud Console zeigt eine Liste der bisherigen Aktionen im Rahmen Ihrer IAM-Empfehlungen.
Klicken Sie auf den Pfeil zum Maximieren
, um Details zu einer Empfehlung aufzurufen.In der Cloud Console werden Details zur ausgeführten Aktion angezeigt, einschließlich des Mitglieds, das die Aktion ausgeführt hat:
Optional: Falls erforderlich, können Sie die Empfehlung zurücksetzen, wodurch die Änderungen durch die Empfehlung rückgängig gemacht werden, oder eine Empfehlung wiederherstellen, die Sie verworfen haben.
Um eine zuvor für eine Empfehlung angewendete Änderung rückgängig zu machen, klicken Sie auf Wiederherstellen. Die Cloud Console macht dann die Änderungen an den Rollen des Mitglieds wieder rückgängig. Die Empfehlung wird nun nicht mehr in der Cloud Console angezeigt.
Klicken Sie zum Wiederherstellen einer verworfenen Empfehlung auf Wiederherstellen. Die Empfehlung wird dann in der Cloud Console auf der Seite IAM angezeigt. Es wurden keine Rollen oder Berechtigungen geändert.
Nächste Schritte
- Übersicht zum IAM-Recommender
- Recommender
- Mehr zu den Best Practices für die Verwendung des IAM-Recommenders erfahren
- Mehr über die Verwendung von IAM-Statistiken erfahren
- Vordefinierte Rollen und benutzerdefinierte Rollen in IAM