In diesem Leitfaden wird beschrieben, wie Sie die Cloud Asset Inventory Analyze Move API verwenden, um einen detaillierten Bericht über Warnungen und Hindernisse von einer Liste kritischer Richtliniensysteme zu erhalten, bevor Sie Ihr Projekt tatsächlich verschieben.
APIs aktivieren
Ein Projekt als API-Nutzerprojekt auswählen oder erstellen und die Cloud Asset API aktivieren
Dieses Nutzerprojekt kann sich von dem Projekt unterscheiden, das Sie analysieren und migrieren möchten. Das Nutzerprojekt wird zum Generieren von Anmeldedaten für die API-Anfrage verwendet.
Im nächsten Abschnitt werden die erforderlichen Rollen und Berechtigungen beschrieben, die dem Quellprojekt, das Sie analysieren möchten, gewährt werden müssen.
Berechtigungen zuweisen
Für die Analyse der Projektverschiebung benötigen Sie eine Rolle mit der Berechtigung cloudasset.assets.analyzeMove
, z. B. Cloud Asset-Betrachter oder Betrachter.
Wenn Sie Analysen für einen Dienst erhalten möchten, benötigen Sie außerdem Rollen im Zusammenhang mit diesen Diensten. Diese Berechtigungen umfassen Folgendes:
Wenn Sie die übernommenen IAM-Richtlinien aus der Quelle ansehen möchten übergeordnete Organisationsressource des Projekts haben, benötigen Sie
resourcemanager.organizations.getIamPolicy
-Berechtigung für den übergeordnete Organisationsressource des Quellprojekts.Wenn Sie die übernommenen IAM-Richtlinien aus dem übergeordneten Ordner des Quellprojekts aufrufen möchten, benötigen Sie die Berechtigung
resourcemanager.folders.getIamPolicy
für den übergeordneten Ordner des Quellprojekts.Wenn Sie die IAM-Richtlinien für das Projekt aufrufen möchten, benötigen Sie die Berechtigung
resourcemanager.projects.getIamPolicy
für das Quellprojekt.Wenn Sie die Organisationsrichtlinien aufrufen möchten, die in diesem Projekt übernommen wurden, benötigen Sie die Berechtigung
orgpolicy.policy.get
für das Quellprojekt.Wenn Sie die übernommenen Compute Engine-Firewallrichtlinien ansehen möchten Für dieses Projekt benötigen Sie den
compute.organizations.setSecurityPolicy
für den Quellordner oder die Organisationsressource.Wenn Sie die übernommenen Tags für dieses Projekt ansehen möchten, benötigen Sie die Berechtigung
resourcemanager.hierarchyNodes.listEffectiveTags
für das Quellprojekt oder dessen Ancestor-Knoten.
Analyse durchführen
Sie können die Google Cloud CLI oder die API verwenden, um die Migration eines Ressource ausgehend von ihrer aktuellen Position in der Ressourcenhierarchie.
gcloud
Um die Auswirkungen der Migration eines Projekts von seiner aktuellen Position im
Ressourcenhierarchie erstellen, verwenden Sie den Befehl gcloud asset analyze-move
:
gcloud asset analyze-move --project=PROJECT_ID \ (--destination-folder=FOLDER_ID \ | --destination-organization=ORGANIZATION_ID)
Um die Auswirkungen zu analysieren, die das Verschieben eines Projekts in einen anderen Ordner hat, führen Sie den folgenden Befehl aus:
Befehl mit --destination-folder
:
gcloud asset analyze-move --project=PROJECT_ID \ --destination-folder=FOLDER_ID
Um die Auswirkungen der Verlagerung eines Projekts in eine andere Organisation zu analysieren,
Führen Sie den Befehl mit --destination-organization
aus:
gcloud asset analyze-move --project=PROJECT_ID \ --destination-organization=ORGANIZATION_ID
Wobei:
PROJECT_ID
ist die eindeutige Projekt-ID des das Sie migrieren. Beispiel:--myProject123
.FOLDER_ID
ist die numerische Ordner-ID des Zielordner, in dem die Analyse ausgeführt werden soll. Beispiel:45678901123
.ORGANIZATION_ID
ist die numerische Organisation ID der Zielorganisation, für die die Analyse durchgeführt werden soll. Beispiel:78901123456
.
API
Um die Auswirkungen der Migration eines Projekts von seiner aktuellen Position im ohne Verschieben in der Ressourcenhierarchie ausführen, verwenden Sie cloudasset.analyzeMove-Methode:
GET https://cloudasset.googleapis.com/v1/{resource=*/*}: \ analyzeMove?destinationParent=DESTINATION_NAME
Wobei:
resource
ist der Name der Ressource, für die der die Analyse durchzuführen. Da nur Projektressourcen unterstützt werden, muss dies die Projekt-ID oder eine Projektnummer sein. Beispiel:projects/my-project-id
oderprojects/12345
.DESTINATION_NAME
ist der Name des Google Cloud-Ordners oder der Google Cloud-Organisationsressource, der bzw. die der Zielressource als übergeordnetes Element zugewiesen werden soll. Die Analyse wird anhand der Auswirkungen der Ressource zum angegebenen übergeordneten Ziel. Das Ziel muss eine Ordnernummer oder eine Organisationsressourcennummer sein. Beispiel:folders/123
oderorganizations/123
Analyseantworten verschieben
Die Antwort, die Sie von der Move Analysis API erhalten, wird nach Dienstname gruppiert. Unter jedem Dienst befindet sich eine Liste von Warnungen und Blockierungen, die für diese Projektmigration gelten. Die Blockierungen, die von dieser Analyse zurückgegeben werden, bedeuten, dass die Projektmigration zur Laufzeit blockiert wird, wenn Sie mit dem Verschieben fortfahren, bevor Sie diese beheben.
Fehlerbehebung
Wenn die Move Analysis API einen Fehler zurückgibt, enthält sie einen standardmäßigen gRPC-Code sowie eine Nachricht, die den Grund für das Scheitern der Analyse des Projekts durch die Move Analysis API beschreibt.
In der folgenden Tabelle werden die Fehlercodes beschrieben, die von der Move Analysis API möglicherweise zurückgegeben werden:
Fehlername | Fehlercode | Beschreibung |
---|---|---|
Ungültiges Argument | 3 | Wird zurückgegeben, wenn Sie die API für ein Projekt mit einem ungültigen Argument aufrufen, z. B. mit einem falschen Ressourcennamen. |
Berechtigung verweigert | 7 | Wird zurückgegeben, wenn Sie nicht die erforderlichen Berechtigungen zum Ausführen der Analyse haben oder das Quellprojekt nicht vorhanden ist. |
Intern | 13 | Wird zurückgegeben, wenn bei einem Aufruf an ein Richtliniensystem wie der Identitäts- und Zugriffsverwaltung oder der Organisationsrichtlinie ein Problem auftritt. Das bedeutet nicht, dass die Migration nicht möglich ist. Sie können die Analyse wiederholen, nachdem Sie den Dienst auf einen Ausfall überprüft haben. |
Nicht verfügbar | 14 | Wird zurückgegeben, wenn ein internes System nicht synchron ist. Das bedeutet nicht, dass die Migration nicht möglich ist. Sie können die Analyse wiederholen. |
Nicht authentifiziert | 16 | Wird zurückgegeben, wenn Sie nicht die richtigen Anmeldedaten für diese Analyse angegeben haben. |
Beispiel für Fehlermeldung
Das folgende Beispiel zeigt den Fehlercode, der einem Nutzer zurückgegeben wird, der nicht die Berechtigung cloudasset.assets.analyzeMove
für das zu migrierende Projekt hat:
{ "error": { "code": 403, "message": "Failed to fetch Project: projects/test-project-service-3 to perform move analysis.", "status": "PERMISSION_DENIED"} }
Einige Richtliniensysteme analysieren die Ressourcenverschiebung möglicherweise nicht. Das folgende Beispiel zeigt den vom hierarchischen Firewalldienst zurückgegebenen Fehler, wenn der Nutzer die Berechtigung compute.organizations.setSecurityPolicy
für das zu migrierende Projekt nicht hat:
{ "moveAnalysis": [{ "displayName": "name hidden", "analysis": { "warnings": [{ "detail": "details hidden" }] } }, { "displayName": "name hidden", "analysis": { "warnings": [{ "detail": "details hidden" }] } }, { "displayName": "Hierarchical Firewall", "error": { "code": 7, "message": "Failed to retrieve inherited security policies to perform analysis. Required 'compute.organizations.setSecurityPolicy' permission for {resource ID}" }}] }
Nächste Schritte
Die Move Analysis API bietet Details, mit denen sich Blockaden und andere beim Verschieben eines Projekts von einer Organisationsressource in eine andere. Weitere Informationen Informationen zum Migrieren von Projekten zwischen Organisationsressourcen finden Sie unter Projekte migrieren