# gt: General Translation CLI tool: gt api-key create
URL: https://generaltranslation.com/ja/docs/cli/reference/commands/api-key-create.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 権限を明示的に指定してプロジェクト API キーを作成し、そのシークレットを一度だけ表示します。gt api-key create コマンドの API リファレンスです。

ローカル環境や設定ファイルを変更せずに、Runtime 用または自動化用の認証情報を作成します。認証には、[CLI の設定](/docs/cli/guides/configuring#credentials)で説明されているとおり、保存済みのログイン情報、または認可済みのキーを明示的に指定して使用します。

## 概要 [#overview]

```bash
npx gt api-key create --name <name> --permission <permissions...> [options]
```

| パラメータ                                          | 説明               | 型          | 任意  | デフォルト                      |
| ---------------------------------------------- | ---------------- | ---------- | --- | -------------------------- |
| [`--name <name>`](#name)                       | 空でないキー名。         | `string`   | いいえ | —                          |
| [`--permission <permissions...>`](#permission) | 明示的に付与する正規の権限。   | `string[]` | いいえ | —                          |
| [`-c, --config <path>`](#config)               | 設定ファイルのパス。       | `string`   | はい  | 自動解決                       |
| [`--api-key <key>`](#api-key)                  | 認証情報を明示的に上書きします。 | `string`   | はい  | `GT_API_KEY`、未設定の場合はログイン情報 |
| [`--project-id <id>`](#project-id)             | 対象のプロジェクト。       | `string`   | はい  | 設定ファイルまたは環境変数              |

## 仕組み [#how-it-works]

呼び出し元には、`project:api_keys:write` の認可と、要求するすべての権限を委任できる権限が必要です。利用できない権限が 1 つでもあればリクエスト全体が失敗し、CLI が選択内容を暗黙的に絞り込むことはありません。プロジェクトキーは `project:api_keys:write` を保持できないため、他のキーを作成することもできません。

成功すると、新しいシークレットと改行のみが stdout に出力されます。診断情報は stderr に出力されます。シークレットは `--quiet` や `GT_LOG_FORMAT=json` を指定した場合も含め、ロガーやログファイルを経由しません。また、JSON メタデータとして出力されることもありません。このコマンドが env ファイルや設定ファイルに書き込むことはありません。

## フラグ [#flags]

[グローバルオプション](/docs/cli/reference/global-options)も使用できます。

### 名前

**型** `string` · **必須** · **デフォルト** —

キーの表示名です。先頭と末尾の空白は削除されます。削除後の値が空の場合は、リクエストの送信前にエラーとなります。

### 権限

**型** `string[]` · **必須** · **デフォルト** —

1 つ以上の正規の権限名を指定します。複数指定する場合は、スペースで区切るか、フラグを繰り返し指定してください。

* `project:write`
* `project:context:read`
* `project:context:write`
* `project:files:read`
* `project:files:write`
* `project:translations:generate`
* `project:translations:enqueue`

ワイルドカード、プリセット名、キー種別フラグはサポートされていません。権限を省略するとエラーになります。すべての権限を付与する省略形として扱われるわけではありません。必要な権限はそれぞれ明示的に指定してください。書き込み権限を付与しても、読み取りアクセスが自動的に含まれるわけではありません。

### Config

**型** `string` · **任意** · **デフォルト** 自動解決

指定した JSON 設定ファイルからプロジェクト設定を読み込みます。`.json` 拡張子は省略可能です。指定しない場合は、通常どおり `gt.config.json` が自動で探索されます。

### API キー

**型** `string` · **任意** · **デフォルト** `GT_API_KEY`、未設定の場合は保存済みのログイン

認可済みのキーを明示的に指定して、認証方法を上書きします。キーが無効な場合や権限が不足している場合でも、ログインへのフォールバックは行われません。シークレットをリテラルで指定するとシェル履歴に残るため、環境変数ベースのシークレットの使用を推奨します ([認証情報の優先順位](/docs/cli/guides/configuring#credentials)を参照) 。

### プロジェクト ID

**型** `string` · **任意** · **デフォルト** 設定ファイルまたは環境変数

対象のプロジェクトを選択します。設定ファイルの ID が、フラグまたは解決された環境変数の ID と一致しない場合は検証エラーになります。設定ファイルに ID がない場合は、環境変数よりもフラグが優先されます。サポートされているフレームワーク固有のプレフィックス付きプロジェクト変数も、解決の対象になります。

## 例 [#example]

[`gt login`](/docs/cli/reference/commands/login) でサインインしたら、生成専用の開発用 Runtime キーを作成します。

```bash
npx gt api-key create \
  --project-id your-project-id \
  --name "Runtime translations" \
  --permission project:translations:generate
```

返されたシークレットは安全に保管してください。この生成専用キーでは、[`gt translate`](/docs/cli/reference/commands/translate) のパイプライン全体を実行することはできません。CI で使用する場合は、[ワークフロー全体](/docs/cli/guides/configuring#credentials)に必要な権限を付与し、キーはコミット対象のファイルではなく、CI プロバイダーのシークレットストアに保存してください。

<Callout type="warn">
  stdout の出力はシークレット情報として扱ってください。stderr を stdout にマージしたり、共有ログに送信したりしないでください。また、生成専用キーであっても、デプロイするブラウザ向けやモバイル向けのバンドルに含めて公開しないでください。コマンドを再実行すると、別のキーが新たに作成される場合があります。リモートでのロールバックや、冪等なリトライは保証されていません。
</Callout>

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
