🔐aidp-credentials
- ソース
- GitHub で見る ↗
説明
AIDPクレデンシャルストア(シークレット)を管理します。 AIDPワークフローで使用するクレデンシャルの一覧取得・取得・作成・更新・削除が可能です。 次のような場合に使用: - シークレットをハードコーディングする代わりに、一元管理・ローテーションしたい場合 - 接続クレデンシャルを管理したい場合 メインのエンジンは公式の `aidp` CLI(`aidp credentials …`)を使用します。 CLIが利用できない場合のフォールバックとして、`oci raw-request` 経由のPreview REST APIを使用します。 エンドポイントへの依存前に、必ず疎通確認を行ってください。
原文を表示
Manage the AIDP credential store (secrets) — list, get, create, update, delete credentials used by AIDP workflows. Use when the user wants to store/rotate a secret centrally instead of embedding it, or manage connection credentials. Primary engine is the official `aidp` CLI (`aidp credentials …`); the same Preview REST API via `oci raw-request` is the no-CLI fallback. Verify the endpoint live before relying on it.
ユースケース
- ✓シークレットを一元管理・ローテーションしたい
- ✓接続クレデンシャルを管理したい
- ✓クレデンシャルの一覧を取得したい
- ✓クレデンシャルを作成・更新・削除したい
本文(日本語訳)
aidp-credentials — クレデンシャルストア(プレビュー)
一元管理された AIDP クレデンシャル/シークレットを管理します。
CLI(推奨): aidp credentials <command> --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>
aidp credentials list | get | create | update | delete
フォールバック(CLI 未使用時): oci raw-request 経由で同一の credentialStore REST API を使用(エンドポイント・認証は同じ。
references/oci-raw-request.md 参照)。
プレビュー+事前検証必須(捏造禁止):
credentialStoreは プレビュー 段階であり、ルートは存在しますが、 GET のレスポンス形式は未確定(TBD) です。成功を断言したり書き込み操作を行う前に、 実際にaidp credentials list(またはGET …/credentials)を実行して有効なパス (デフォルト:20240831/dataLakes)を確認し、結果をreferences/rest-endpoint-map.mdに記録してください。 実際に 2xx が返るまで、パスは 未検証(UNVERIFIED) として扱うこと。
次のような場合に使用
- 「AIDP にシークレットを保存/ローテーションしたい」
- 「接続クレデンシャルを管理したい」
- 「シークレットをコードに埋め込むのをやめたい」
ワークフロー
- 事前検証:
aidp credentials list(CLI)またはGET …/credentials(REST フォールバック)が 2xx を返すことを確認し、バージョン/プレフィックスを記録する。 - 要求に応じて読み取り/作成/更新を行う。シークレットの値は絶対に表示しない。 シークレット素材はリクエストボディ内にのみ渡し、決してエコーバックしないこと。 削除/ローテーション前には必ず確認を取る。
- 共通規約に従い、非同期 202 + etag/if-match を処理する。
ミューテーション操作(create・update/ローテーション・delete): ボディを .aidp/payloads/ に保存し、
実行前に確認を行うこと(references/payloads.md)。
作成ボディ — CreateDataLakeCredentialDetails
CLI: aidp credentials create <DATALAKE_OCID> --body <JSON>(CLI README「credentials create」参照)。
トップレベルのエンベロープ(SDK create_data_lake_credential_details.py:51-63):
| フィールド(ワイヤー名) | 必須 | 備考 |
|---|---|---|
displayName |
✅ | 先頭は英字。英字・数字・_ のみ使用可 — 名前にシークレットを含めないこと |
credentialDescription |
– | 用途の概要 |
type |
✅ | 判別子 — SECRET_TOKEN | VAULT_REFERENCE | SERVICE_ACCOUNT(…:18-26) |
credentialDetails |
✅ | credentialType が type と一致する必要があるネストオブジェクト(credential_details.py:52-73) |
credentialDetails の形式(タイプ別、サブクラスモデル + CLI README「credentials create」より):
credentialType |
フィールド(ワイヤー名) | 参照元 |
|---|---|---|
SECRET_TOKEN |
secretTokenPair: {secretKey, secretValue} の配列 |
secret_token_credential_details.py:38-41, secret_pair.py:35-38 |
VAULT_REFERENCE |
secretId(外部 Vault シークレットの OCID) |
vault_reference_credential_details.py:38-41 |
SERVICE_ACCOUNT |
userId, fingerprint, tenancy, region, isReadOnly, privateKey |
service_account_credential_details.py:63-71 |
例(SECRET_TOKEN) — .aidp/payloads/create-<name>-credential.json に保存し、実行前に確認すること。
secretValue のみがシークレット素材 — ボディ内に渡すのみとし、絶対にエコーバックしないこと:
{
"displayName": "github_pat",
"credentialDescription": "GitHub PAT for workspace git",
"type": "SECRET_TOKEN",
"credentialDetails": {
"credentialType": "SECRET_TOKEN",
"secretTokenPair": [ { "secretKey": "token", "secretValue": "<PAT>" } ]
}
}
フィールド 名 は確認済みです(SDK
attribute_map+ CLI README)。 作成の ラウンドトリップ全体 は 事前検証必須 です:…/credentialsへの GET がここで 400 を返しました (プレビュー段階、リスト形式は TBD —references/rest-endpoint-map.md)。 POST を実行する前に 2xx が返ることを確認してください。
フォールバック(CLI 未使用時)— REST エンドポイント(レイクスコープ、プレビュー)
2026-06-10 ライブ探索結果:
GET …/dataLakes/<ocid>/credentials → 400(ルートは存在するが、リスト形式は TBD —
パラメータ/ボディが必要)。
…/workspaces/<ws>/credentials → 404(クレデンシャルは ワークスペーススコープではなく、レイクスコープ であることを示す)。
GET /dataLakes/<ocid>/credentials— 一覧取得(必要なパラメータ/形式が提供されるまで 400 — 実機で要確認)POST /dataLakes/<ocid>/credentials— 作成GET|PUT|DELETE /dataLakes/<ocid>/credentials/{key}— 取得 / 更新 / 削除
ベース URL: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<dataLakeOcid>/…
ガードレール
- シークレットはログ、会話トランスクリプト、コミット済みファイルに絶対に含めない。
- 破壊的操作(削除/ローテーション)は明示的な確認を必要とする。
参照
references/aidp-cli-map.md · references/payloads.md · references/oci-raw-request.md · references/rest-endpoint-map.md
原文(English)を表示
aidp-credentials — credential store (Preview)
Manage centrally-stored AIDP credentials/secrets.
CLI (preferred): aidp credentials <command> --instance-id <DATALAKE_OCID> --auth api_key --profile DEFAULT --region <r>
aidp credentials list | get | create | update | delete
Fallback (no CLI): same credentialStore REST API via oci raw-request (identical endpoint + auth;
see references/oci-raw-request.md).
Preview + verify-first (no-fabrication):
credentialStoreis Preview and the route exists, but its GET/response shape is TBD. Confirm the working path (default20240831/dataLakes) with a liveaidp credentials list(orGET …/credentials) before asserting success or doing writes; record it inreferences/rest-endpoint-map.md. Treat the path as UNVERIFIED until a live 2xx returns.
When to use
- "Store/rotate a secret in AIDP", "manage connection credentials", "stop embedding this secret in code".
Workflow
- Verify first:
aidp credentials list(CLI) — or aGET …/credentials(REST fallback) — returns 2xx; record the version/prefix. - Read/create/update as asked. Never print secret values; pass secret material in the request body only, never echo it back. Confirm before delete/rotate.
- Handle async 202 + etag/if-match per the shared conventions.
Mutating ops (create, update/rotate, delete): persist the body to .aidp/payloads/ and confirm
first (references/payloads.md).
Create body — CreateDataLakeCredentialDetails
CLI: aidp credentials create <DATALAKE_OCID> --body <JSON> (CLI README "credentials create"). Top-level
envelope (SDK create_data_lake_credential_details.py:51-63):
| Field (wire) | Req | Notes |
|---|---|---|
displayName |
✅ | start with a letter; letters/digits/_ only — no secrets in the name |
credentialDescription |
– | purpose summary |
type |
✅ | discriminator — SECRET_TOKEN | VAULT_REFERENCE | SERVICE_ACCOUNT (…:18-26) |
credentialDetails |
✅ | nested object whose credentialType must match type (credential_details.py:52-73) |
credentialDetails shape per type (subclass models + CLI README "credentials create"):
credentialType |
Fields (wire) | Source |
|---|---|---|
SECRET_TOKEN |
secretTokenPair: array of {secretKey, secretValue} |
secret_token_credential_details.py:38-41, secret_pair.py:35-38 |
VAULT_REFERENCE |
secretId (OCID of an external Vault secret) |
vault_reference_credential_details.py:38-41 |
SERVICE_ACCOUNT |
userId, fingerprint, tenancy, region, isReadOnly, privateKey |
service_account_credential_details.py:63-71 |
Example (SECRET_TOKEN) — persist to .aidp/payloads/create-<name>-credential.json and confirm first;
the secretValue is the only secret material — pass it in the body, never echo it back:
{
"displayName": "github_pat",
"credentialDescription": "GitHub PAT for workspace git",
"type": "SECRET_TOKEN",
"credentialDetails": {
"credentialType": "SECRET_TOKEN",
"secretTokenPair": [ { "secretKey": "token", "secretValue": "<PAT>" } ]
}
}
Field names are confirmed (SDK
attribute_map+ CLI README). The full create round-trip is verify-first:…/credentialsGET returned 400 here (Preview, list-shape TBD —references/rest-endpoint-map.md), so confirm a 2xx before relying on the POST.
Fallback (no CLI) — REST endpoints (lake-scoped, Preview)
Live-probed 2026-06-10: GET …/dataLakes/<ocid>/credentials → 400 (route exists, list-shape TBD —
needs a param/body); …/workspaces/<ws>/credentials → 404 (so credentials are lake-scoped, not
workspace-scoped).
GET /dataLakes/<ocid>/credentials— list (400 until the required param/shape is supplied — verify live)POST /dataLakes/<ocid>/credentials— createGET|PUT|DELETE /dataLakes/<ocid>/credentials/{key}— get / update / delete
Base URL: https://aidp.<region>.oci.oraclecloud.com/20240831/dataLakes/<dataLakeOcid>/…
Guardrails
- Secrets never go into logs, the transcript, or committed files.
- Destructive ops (delete/rotate) require explicit confirmation.
References
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。