認証や権限、APIプロキシの失敗をVictoriaLogsの実行ログから調べ、状態コードやシークレット解決エラーなど、原因の手掛かりを整理するスキルです。
- 401・403・503の原因を調べたいとき
- 連携機能の認証失敗を追跡したいとき
- シークレットの解決状況を確認したいとき
Centaur sandboxでgcloudを使い、Google Cloudのリソースや権限を確認・操作する手順を案内します。認証や権限エラーの見分け方も分かります。
Use the gcloud CLI from a Centaur sandbox, where iron-proxy injects Google Cloud credentials on the wire. Use before any gcloud command, Google Cloud deploy, Cloud Run, Cloud Build, Artifact Registry, Cloud Storage, or IAM task, and whenever gcloud reports no credentialed account, asks you to run `gcloud auth login`, or a Google API returns 401, 403, or SERVICE_DISABLED.
実行スコア 未検証
インストール方法を見るCentaur sandboxからgcloudを使ってGoogle Cloudの情報を確認したり、依頼された操作を進めたりする際の手順を示します。ローカルにGoogleログインがなくても、iron-proxyがAPIリクエストに認証情報を加える仕組みを前提に、プレースホルダートークンを設定して実際のAPI呼び出しを行います。プロジェクトを明示する方法、利用中の主体(principal)を確認する方法、401・403・SERVICE_DISABLEDなどのエラーへの対応も説明します。
Cloud RunやCloud Build、Artifact Registry、Cloud Storage、IAMなどをgcloudで扱うときに使えます。認証アカウントが見つからない表示や、Google APIの権限エラーが出たときの切り分けにも向いています。
Centaur sandboxとiron-proxyを前提とします。IDトークンの発行、署名付きURL、signBlobは利用できません。破壊的操作やIAM変更は、明示的な依頼がない限り実行前に確認します。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
The sandbox has no local Google login. When the current principal holds a GCP credential grant, iron-proxy adds a real Authorization header to each Google API request as it leaves the sandbox. So gcloud auth list shows no credentialed account even when access works. Never report "no GCP credentials" or "no authenticated account" because of gcloud auth list or gcloud config get-value account. Make a real call first.
gcloud refuses to send requests without a local credential. Give it a placeholder token, which the proxy replaces:
printf 'placeholder' > /tmp/gcp-placeholder-token
export CLOUDSDK_AUTH_ACCESS_TOKEN_FILE=/tmp/gcp-placeholder-token
gcloud run services list --project=<project> --region=<region>
Set the variable in the same shell command as the gcloud call, because shell state does not persist between tool calls. --access-token-file=/tmp/gcp-placeholder-token on a single command works too. With the variable set, gcloud auth print-access-token prints placeholder. Scripts that pass that value in an Authorization header still work, because the proxy overwrites the header.
--project. There is no default project.SERVICE_DISABLED for an API in a project you did not name (often Cloud Resource Manager), gcloud billed the request to the wrong quota project. Retry with --billing-project=<a project where that API is enabled>.gcloud storage ls gs://<bucket-you-cannot-read> → <principal> does not have storage.objects.list access.gcloud auth print-identity-token fails with No identity token can be obtained from the current credentials. Calls to private Cloud Run services work only for hosts where the deployment configured an ID-token credential. Anything else, including smoke tests that call print-identity-token, has to be run by a human from an authenticated shell. Give them the exact command.gcloud config get-value account get an empty value. Read the script before running it, and pass the account explicitly or hand that step to a human.bq fails TLS verification through the proxy. Use gcloud or a Google client library instead.GOOGLE_APPLICATION_CREDENTIALS. They work when the proxy handles the token exchange for that credential. If you see invalid_grant: account not found or signing errors for mock@creds.com, switch to gcloud. Signed URLs and signBlob never work.| Symptom | Meaning | Action |
|---|---|---|
You do not currently have an active account selected | No placeholder token was set. | Set CLOUDSDK_AUTH_ACCESS_TOKEN_FILE and retry. |
401 ACCESS_TOKEN_TYPE_UNSUPPORTED, Invalid Credentials | The proxy did not inject a usable token for that host, usually because the principal has no GCP grant covering it. | Report the missing grant. Follow the auth-failure-log-triage skill for proxy evidence. |
403 PERMISSION_DENIED naming a permission | The injected identity lacks IAM for that action. | Report the principal, the permission, and the resource. Offer the gcloud ... add-iam-policy-binding command for an owner to run. Do not retry with another identity. |
SERVICE_DISABLED for the target project | The API is off in that project. | Ask an owner to run gcloud services enable <api> --project=<project>, unless you were asked to enable it and have serviceusage.services.enable. |
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
認証や権限、APIプロキシの失敗をVictoriaLogsの実行ログから調べ、状態コードやシークレット解決エラーなど、原因の手掛かりを整理するスキルです。
認証済みのCentaur環境からチーム承認済みツールを探して実行し、利用者の権限や実行結果を踏まえて作業内容をまとめるスキルです。
Centaur Consoleで、Slackのチャンネルやユーザー、ワークフローに付与する権限や共有シークレットを、管理者の依頼に沿って追加・変更・削除します。
VictoriaLogsとVictoriaMetricsでCentaurのログや指標を調べ、停止・未反映などの原因を実行履歴や稼働状況の証拠から切り分けるスキルです。
社内の過去の議論や決定、プロジェクト・会議の状況を、索引化された情報とSlackやLinearなどの原資料を照合して調べるスキルです。
外部サービスのAPIを利用するツール連携を、PythonクライアントやCLI、認証情報の設定、テストを含む所定の構成で新規作成するスキルです。