Cloud Dev Helpers

GCPリソース解析

リソース名、GCSアドレス、サービスアカウントJSONからモードを選び、1つずつ確認します。

GCPリソース解析

リソース名・アドレス・JSON

検査レポート

このブラウザーのメモリー内で処理。入力の保存・送信、リソースへの接続、認証は行いません。

入力の解釈

相対名または完全名の成対パス。APIバージョンやREST self linkは対象外です。

単一入力・65,536 UTF-16単位・リソース4,096単位・オブジェクト1,024バイト・JSON深さ100。

入力またはモードが変わりました。出力前に再解析してください。

ログに完全な名前が残っていても、設定欄が求めるのはプロジェクトや親だけかもしれません。GCPリソース解析では、その長い名前を階層として読み取れます。ストレージのアドレスと認証ファイルは意味が異なるため、入力を自動推測せず、選んだモードごとの結果を表示します。

GCPリソース解析で読み違いを減らす

パスの各組を確認する

GCPリソース解析はコレクションとIDを組にして、親と末端を分けて表示します。完全なリソース名ではサービスホストも取り出しますが、相対名からサービスを推測しません。数字のプロジェクト識別子も文字列のまま残すため、別のIDへ勝手に変わることはありません。

長いリソースパスがプロジェクト、場所、サービスのノードに分かれる図。

鍵を含めずに項目を見る

レポートは許可した項目から組み立て直し、private_keyを常に伏せます。未知の項目は名前も値も再掲せず、数だけ示します。入力欄の原文はそのままなので、鍵自体を削除したわけではありません。プロジェクトやメールアドレスも共有前に確認してください。

認証文書が項目フィルターを通り、秘密鍵を塗りつぶしたレポートになる図。

入力形式と更新タイミングを確認

01

モード変更は原文を残す

モードを切り替えても入力は置き換えません。古い結果を無効にして、新しい解釈で確認します。例を表示すると現在のモード用の架空データと置換文字数を先に確認でき、適用するまで入力は変わりません。

02

パーセント記号の意味を分ける

gsからHTTPSへ変換するとき、gs://内の%20は空白ではなく3文字です。HTTPSでは%2520になります。HTTPS入力は1回だけデコードし、プラスは空白にしません。連続するスラッシュもオブジェクト名の一部として残ります。

03

古い結果を持ち出さない

自動解析は編集が止まって350ミリ秒後に実行します。オフにすると解析ボタンとCtrl/Cmd + Enterを使えます。編集直後はエクスポートできません。例やクリアの適用は1回取り消せ、入力と結果の両方が元に戻ります。

形式ごとに確認できる内容

リソースの階層とスコープ

相対名と//service.googleapis.com付きの完全名を受け付けます。コレクションとID、親、末端のほか、projects、organizations、foldersや場所の組を表示します。数字だけのプロジェクト項目を区別しますが、番号とIDの対応までは求めません。

同じオブジェクトのGCS URL変換

gs://とstorage.googleapis.comのパス形式を相互変換し、バケット名、オブジェクト名、UTF-8バイト数を表示します。単一のDNSラベルとして使えるバケットには仮想ホスト形式も出力。ドットや下線のあるバケットではパス形式を使います。

サービスアカウントJSONの基本検査

typeがservice_accountであること、必須の文字列項目と既知のメタデータを検査します。重複キーや安全に表せない数値、HTTPS以外のメタデータURLは拒否します。PEMは外枠とBase64の形だけを確認し、暗号鍵の正しさまでは証明しません。

受け付ける形式と対象外の処理

クラウドの状態は確認しない
解析成功は存在、権限、公開状態、認証成功を意味しません。プロジェクトIDから番号への検索も行いません。リージョンやゾーンは入力どおり表示するため、実在するか、その種類のリソースで利用できるかは別途確認が必要です。
汎用のコレクションとIDの組
コレクション名とIDが交互に並び、コレクション名が重複しない形式を対象とします。RESTのself link、メールアドレス単体、空区間、ワイルドカード、パーセント表記、クエリとフラグメントは対象外です。Computeのglobalなど例外的なパスも判定しません。
ストレージの端点を限定する
パス形式、または単一DNSラベルのバケットによる仮想ホスト形式のHTTPSだけを扱います。HTTP、明示的ポート、ユーザー情報、署名クエリ、フラグメント、Firebase、JSON API、コンソール、独自ドメインは拒否し、パラメータを捨てて変換しません。
ファイルパスとして正規化しない
連続スラッシュとgs内の字面の%を保持します。ドット区間、バックスラッシュ、制御文字、予約されたACME接頭辞は対象外です。オブジェクト名はフラット名前空間の1,024バイトまで。世代番号やワイルドカードを解釈せず、シェル用のエスケープも行いません。
伏せる範囲を限定する
秘密鍵と未知の項目はレポートに入りませんが、入力と取り消し用の一時スナップショットには原文が残ります。許可したメタデータ内のあらゆる秘密を検知する機能ではありません。鍵の表示、原本出力、RSA検証、失効確認、署名、認証は行いません。
単一入力と処理量の上限
ファイル、複数行の一括処理、リモートURLからの取り込みには対応しません。入力は65,536 UTF-16単位、リソース名は4,096単位、JSONの深さは100までです。共有スキャナーのノード上限も適用し、超過時は切り詰めずエクスポートを止めます。

GCPリソース解析についての質問

完全なリソース名からリソースを探せますか?

完全な名前にはサービスホストと相対リソースパスが含まれます。レポートでサービスと親を確認すれば、続きの調査先を絞れます。ただし実際のリソースを見つけるには対応するコンソールやAPI、権限が必要で、このページは存在を確認しません。

Cloud Storageのgs URIはどこで確認できますか?

Cloud Storageでバケットと正確なオブジェクト名を確認します。形式はgs://bucket/objectです。GCSモードでは既存のgs値を調べたり、対応するHTTPSアドレスから変換したりできます。バケットだけの値も扱えますが、特定のオブジェクトを示すものではありません。

バケット内のオブジェクトのHTTP URLはどう取得しますか?

対応するパス形式はhttps://storage.googleapis.com/bucket/objectで、オブジェクト名の適切なエンコードが必要です。生成しても非公開データが公開されることはなく、署名も付きません。アクセス権限のエラーと文字コードの問題は分けて確認してください。

プロジェクトIDからGoogle Cloudのプロジェクト番号を取得できますか?

IDと番号は異なる識別子です。数字だけのプロジェクト項目かどうかは分かりますが、文字列だけで対応するIDや番号は計算できません。対応付けには権限のあるGoogle Cloudのプロジェクト照会を使い、APIが指定する形式を保持してください。

サービスアカウントのJSONファイルをGitHubに置いてもよいですか?

本物の秘密鍵を含むファイルはリポジトリに登録しないでください。本ページの出力は鍵を伏せますが、表示されるメタデータにも確認が必要です。すでに鍵が漏えいした場合はファイルの削除だけで済ませず、Google Cloudの手順に沿って鍵を交換・削除してください。

対応形式なのに結果が合いませんか?

設定に必要な値を見極める

GCPリソース解析で階層を読み取り、入力がアドレスや認証JSONなら対応するモードへ切り替えてください。