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 die gcloud-Befehlszeile gewähren

Um die gcloud-Befehlszeile für den Zugriff auf die Cloud Asset Inventory API zu verwenden, müssen Sie die erforderlichen Berechtigungen für das übergeordnete Ziel der Ressource gewähren. Dies kann entweder eine Organisation, ein Projekt oder ein Ordner sein. Sie müssen dieses übergeordnete Element im Feld parent Ihrer API-Anfragen angeben.

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 werden gewährt

Führen Sie die folgenden Schritte mit der Google Cloud-Befehlszeile aus, um einem Konto eine Rolle zuzuweisen. Weitere Informationen zum Installieren und Initialisieren der gcloud-Befehlszeile.

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 Befehl 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 für die gcloud-Befehlszeile 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

Damit Sie ohne die gcloud-Befehlszeile auf die Cloud Asset Inventory API zugreifen können, benötigen Sie eine JSON-Datei mit Anmeldedaten. Führen Sie die folgenden Schritte aus, um die Datei herunterzuladen.

  1. Rufen Sie in der Cloud Console die Seite Anmeldedaten auf.

    Zur Seite „Domainbestätigung“

  2. Wählen Sie + Anmeldedaten erstellen und anschließend OAuth-Client-ID aus.

  3. Wenn Sie eine Client-ID für ein neues Projekt erstellen, müssen Sie zuerst den OAuth-Zustimmungsbildschirm einrichten. In der Cloud Console wird der Zustimmungsbildschirm angezeigt, wenn eine Anwendung, die Ihre Client-ID verwendet, 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. Beachten Sie, dass die Client-ID und Secret-Werte bei der Authentifizierung bei der Cloud Asset Inventory API nicht verwendet werden. Außerdem können beide Werte aus der JSON-Datei für 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 Pfad verschieben, der für Sie praktisch ist. In den folgenden Beispielen verwenden wir den Pfad ~/credentials.json.

Einrichtung der Anmeldedaten prüfen

Führen Sie den folgenden Befehl aus, um zu prü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" '