Berechtigungen konfigurieren

In diesem Thema wird beschrieben, wie Sie die Berechtigungen und Anmeldedaten konfigurieren, die zum Aufrufen der Cloud Asset Inventory API erforderlich sind.

Authentifizierung

Bevor Sie die Cloud Asset Inventory API aufrufen können, müssen Sie sich entweder als Endnutzer oder als Dienstkonto authentifizieren. Weitere Informationen zur Authentifizierung finden Sie unter Authentifizierung.

Erforderliche Berechtigungen für das gcloud-Tool gewähren

Wenn Sie mit dem gcloud-Tool auf die Cloud Asset Inventory API zugreifen möchten, müssen Sie die erforderlichen Berechtigungen für die übergeordnete Ressource der Zielressource erteilen. Diese kann eine Organisation, ein Projekt oder ein Ordner sein. Geben Sie dieses übergeordnete Ressource im Feld parent Ihrer API-Anfragen an.

Wenn Ihr Konto die Cloud-Asset-Inhaberrolle (roles/cloudasset.owner) oder die einfache Inhaberrolle (roles/owner) für das übergeordnete Element der Ressource hat, verfügt es über ausreichende Berechtigungen, um die Cloud Asset Inventory-API aufzurufen, und Sie können zum Herunterladen der Anmeldeinformationen übergehen. Weitere Informationen zu Cloud Asset Inventory-Rollen finden Sie unter Rollen.

Rollen zuweisen

Führen Sie zum Zuweisen einer Rolle zu einem Konto die folgenden Schritte mit dem gcloud-Befehlszeilentool aus. gcloud-Tool installieren und initialisieren

Nutzerkonto

Führen Sie die folgenden Schritte aus, um einem Nutzerkonto die erforderlichen Rollen zuzuweisen.

  1. Führen Sie den folgenden Befehl aus, um sich mit Ihrem Nutzerkonto anzumelden.

    gcloud auth login USER_ACCOUNT_EMAIL
    
  2. Gewähren Sie Ihrem Nutzerkonto die Rolle „Cloud-Asset-Betrachter” (roles/cloudasset.viewer) oder die Rolle „Cloud-Asset-Inhaber” (roles/cloudasset.owner) für die Stammressource (übergeordnet). Dieses Projekt kann das Projekt sein, in dem die Cloud Asset Inventory API aktiviert ist.

    Führen Sie den folgenden Befehl aus, um Ihrem Nutzerkonto die Rolle „Cloud-Asset-Betrachter” zuzuweisen.

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \
         --member user:USER_ACCOUNT_EMAIL \
         --role roles/cloudasset.viewer
    

    Sie können dem Flag gcloud asset das Flag --billing-project hinzufügen, um das Abrechnungsprojekt anzugeben, in dem die Cloud Asset Inventory API aktiviert ist.

    --billing-project PROJECT_ID
    

    Wenn Sie dieses Flag angeben, benötigt Ihr Konto die Berechtigung serviceusage.services.use für das Projekt PROJECT_ID. Unter Informationen zu Rollen finden Sie eine Liste der vordefinierten Rollen, die diese Berechtigung enthalten.

Dienstkonto

Führen Sie die folgenden Schritte aus, um einem Dienstkonto die erforderlichen Rollen zuzuweisen. Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten erstellen und verwalten.

  1. Führen Sie den folgenden Befehl aus, um ein neues Dienstkonto zu erstellen. Wenn Sie bereits ein Dienstkonto in einem Projekt haben, in dem die Cloud Asset Inventory API aktiviert ist, können Sie diesen Schritt überspringen.

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
           --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    
  2. Gewähren Sie Ihrem Dienstkonto die Rolle „Cloud-Asset-Betrachter” (roles/cloudasset.viewer) oder die Rolle „Cloud-Asset-Inhaber” (roles/cloudasset.owner) für die Stammressource (übergeordnet). Dieses Projekt kann mit dem Projekt identisch sein, in dem die Cloud Asset Inventory API aktiviert ist.

    Führen Sie den folgenden Befehl aus, um Ihrem Dienstkonto die Rolle „Cloud-Asset-Betrachter” zu erteilen.

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \
            --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
            --role roles/cloudasset.viewer
    
  3. Führen Sie den folgenden Befehl aus, um einen privaten Schlüssel für Ihr Dienstkonto zu erstellen.

    gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \
            --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  4. Führen Sie den folgenden Befehl aus, um Ihr Dienstkonto zur Verwendung mit dem gcloud-Tool zu aktivieren.

    gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
            --key-file=YOUR_FILE_PATH/key.json
    

JSON-Anmeldedaten herunterladen

Für den Zugriff auf die Cloud Asset Inventory API ohne das gcloud-Tool benötigen Sie eine JSON-Anmeldedatendatei. Führen Sie die folgenden Schritte aus, um die Datei herunterzuladen.

  1. Gehen Sie zur Seite Anmeldedaten in der Google Cloud Console.

    Zur Seite "Domainbestätigung"

  2. Klicken Sie auf + Anmeldedaten erstellen und wählen Sie dann OAuth-Client-ID aus.

  3. Wenn Sie eine Client-ID für ein neues Projekt erstellen, müssen Sie zuerst den OAuth-Zustimmungsbildschirm einrichten. Der Zustimmungsbildschirm wird von der Cloud Console angezeigt, wenn eine Anwendung mit Ihrer Client-ID Zugriff auf private Daten anfordert.

    Führen Sie die folgenden Schritte aus, um den Zustimmungsbildschirm zu konfigurieren:

    1. Wählen Sie Zustimmungsbildschirm konfigurieren aus und geben Sie die erforderlichen Informationen ein.

    2. Speichern Sie die Änderungen.

  4. Wählen Sie auf der Seite Client-ID erstellen unter Anwendungstyp den entsprechenden Typ aus. Weitere Informationen zu Clienttypen finden Sie unter OAuth 2.0 einrichten.

  5. Geben Sie einen Namen für die Anmeldedaten ein und klicken Sie auf Erstellen.

  6. Klicken Sie auf OK, um das angezeigte Dialogfeld zu schließen. Bei der Authentifizierung mit der Cloud Asset Inventory API werden die Client-ID und die Secret-Werte nicht verwendet. Darüber hinaus können beide Werte aus der JSON-Datei mit den Anmeldedaten abgerufen werden.

  7. Klicken Sie zum Speichern der neuen JSON-Datei mit der Client-ID auf .

  8. Sie können die heruntergeladene JSON-Datei umbenennen und in einen für Sie geeigneten Pfad verschieben. In den folgenden Beispielen wird der Pfad ~/credentials.json verwendet.

Einrichtung der Anmeldedaten prüfen

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie Ihre Anmeldedaten korrekt eingerichtet haben:

   oauth2l header --json ~/credentials.json cloud-platform
   

Die Ausgabe sollte in etwa so aussehen:

Authorization: Bearer y29.xxxxxxx

Shell-Alias definieren

Es kann nützlich sein, einen Shell-Alias zum Aufrufen von Google Cloud REST APIs zu definieren.

Führen Sie den folgenden Befehl aus, um einen gcurl-Alias zum Aufrufen von Google Cloud REST APIs zu definieren:

   alias gcurl='curl -H "$(oauth2l header --json ~/credentials.json \
     cloud-platform)" -H "Content-Type: application/json" '