Cloud Asset Inventory のサポートとトラブルシューティング

一般的なサポートとトラブルシューティング

Stack Overflow で質問する

Stack Overflow で Cloud Asset Inventory に関するご質問を提出できます。Cloud Asset Inventory に関する質問にはタグ google-cloud-asset-inventory を使用します。このタグを使うと、Stack Overflow コミュニティからだけではなく、タグを監視して非公式なサポートを提供する Google エンジニアからも回答を受け取ることができます。

サポート パッケージを入手する

Google Cloud Platform には、24 時間 365 日の対応や電話サポート、テクニカル サポート マネージャーへのお問い合わせなど、さまざまなニーズに対応する各種のサポート パッケージが用意されています。詳しくは、GCP サポートをご覧ください。

Cloud Asset Inventory について議論する

cai-discuss Google グループに参加すると、Cloud Asset Inventory について議論したり、Cloud Asset Inventory に関するお知らせや最新情報を入手したりできます。

フィードバックを送信する

Cloud Asset Inventory ディスカッション グループに参加して、フィードバックをお寄せください。バグやエラーを報告する場合は、メッセージに次の情報を含めてください。

  • 何があったか、何が起こるはずだったか。
  • 問題を再現する方法。

一般的な問題

Cloud Asset API を操作するときに発生する可能性のある一般的な問題と、その対処方法を以下に示します。

リクエストに無効な認証情報が含まれている

OAuth ヘッダーを正しく設定しない場合、呼び出しで次のエラーが返されます。

{
  "error": {
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected
               OAuth 2 access token, login cookie or other valid
               authentication credential. See
               https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.DebugInfo",
        "detail": "Authentication error: 2"
      }
    ]
  }
}

この問題に対処するには、初期設定を確認する手順を繰り返します。

呼び出し元に権限がない

アセットをエクスポートする権限や、組織、プロジェクト、フォルダの履歴を取得する権限がない場合はエラーが返されます。

たとえば、権限がない状態で次のコマンドを実行したとします。

gcurl -d '{"outputConfig":{"gcsDestination": \
{"uri":gs://YOUR_BUCKET/NEW_FILE}}}' \
https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

その場合、次のエラーが返されます。

{
 "error": {
  "code": 403,
  "message": "The caller does not have permission",
  "status": "PERMISSION_DENIED",
  "details": [
   {
    "@type": "type.googleapis.com/google.rpc.DebugInfo",
    "detail": "[ORIGINAL ERROR] generic::permission_denied: Request
    denied by Cloud IAM."
   }
  ]
 }
}

この問題に対処するには、プロジェクトまたは組織の管理者にアクセス権限を要請してください。エクスポートまたは履歴取得の対象とするアセットに応じて、次の権限のいずれかが必要になります。

  • cloudasset.viewer
  • project.owner

役割と権限の詳細については、役割についてをご覧ください。

Cloud Storage ファイルへの書き込みに失敗する

エクスポートしたデータを保存する Cloud Storage バケットが、エクスポート実行元の Cloud Asset API 対応プロジェクトの中にない場合、リクエストを実行すると次のアクセス拒否エラーが発生します。

    {
     "error": {
      "code": 7,
      "message": "Failed to write to: YOUR_BUCKET/FILE",
     }
    }
    

この問題に対処するには、エクスポート実行元の Cloud Asset API 対応プロジェクトに属する Cloud Storage バケットを使用するか、service-PROJECT_NUMBER@gcp-sa-cloudasset.iam.gservice account.com サービス アカウントに roles/storage.admin の役割を付与します。ここで、PROJECT_NUMBER は、エクスポート実行元の Cloud Asset API 対応プロジェクトのプロジェクト番号です。

Cloud Asset API の結果が古い

Cloud Asset API のデータ更新頻度はベスト エフォートに基づきます。ほぼすべての資産の更新内容が数分以内にクライアントで利用可能になりますが、まれに、ExportAssets または BatchGetAssetsHistory メソッドの結果にアセットに対する最新の更新内容が含まれない場合があります。

アセットの最新の更新内容を取得するには、Cloud Asset API 呼び出しのタイムスタンプを、現在のタイムスタンプより 2 分先になるように調整します。

BatchGetAssetsHistory に対するリクエスト URL が長すぎる

BatchGetAssetsHistory メソッドは、すべてのリクエスト データを長さ制限付き URL で送信する HTTP GET アクションです。そのため、リクエストが長すぎるとエラーが発生します。

これを回避するには、クライアント コードで HTTP POST を使用して、Content-Typeapplication/x-www-form-urlencoded に設定したリクエストを X-HTTP-Method-Override: GET HTTP ヘッダーとともに送信する必要があります。詳細については、長いリクエスト URL をご覧ください。

HTTP POST を使用した BatchGetAssetsHistory のリクエストの例を以下に示します。

curl -X POST -H "X-HTTP-Method-Override: GET" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -H "Authorization: Bearer " \
     -d 'assetNames=&contentType=1&readTimeWindow.startTime=2018-09-01T09:00:00Z' \
     https://cloudasset.googleapis.com/v1/projects/:batchGetAssetsHistory
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Resource Manager のドキュメント