# シークレット リファレンス

GitHub Actionsでシークレットに関する技術情報を検索します。

## シークレットに名前を付ける

> \[!TIP]
> GitHubによってログ内のシークレットが正しく編集されるようにするには、シークレットの値として構造化データを使用しないようにします。

シークレットの名前には次のルールが適用されます。

* 英数字 (`[a-z]`、`[A-Z]`、`[0-9]`) またはアンダースコア (`_`) のみを含めることができます。 スペースは使用できません。
* `GITHUB_` プレフィックスで始めることはできません。
* 最初を数字にすることはできません。
* 参照されるとき、大文字と小文字が区別されません。 GitHub は、入力方法に関係なく、シークレット名を大文字として格納します。
* 作成されたリポジトリ、organization、または Enterprise に固有のものにする必要があります。

複数のレベルで同じ名前のシークレットが存在する場合、最も低いレベルのシークレットが優先されます。 たとえば、Organization レベルのシークレット名がリポジトリレベルのシークレット名と同じ場合、リポジトリレベルのシークレット名が優先されます。 同様に、組織、リポジトリ、環境がすべて同じ名前のシークレットを持っている場合は、環境レベルのシークレットが優先されます。

## シークレットの制限

最大 1,000 個の組織シークレット、100 個のリポジトリ シークレット、100 個の環境シークレットを格納できます。

リポジトリに作成されたワークフローは、次の数のシークレットにアクセスできます。

* 100 個のリポジトリ シークレットすべて。
* 100 を超える組織シークレットへのアクセスがリポジトリに割り当てられている場合、ワークフローでは最初の 100 個の組織シークレットのみを使用できます (シークレット名のアルファベット順に並べ替えられます)。
* 100 個の環境シークレットすべて。

シークレットのサイズは最大 48 KB です。 サイズの大きなシークレットの格納については、「[GitHub Actions でのシークレットの使用](/ja/enterprise-server@3.22/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets#storing-large-secrets)」を参照してください。

## GitHub Actionsがシークレットを読み取るとき

Organization及びリポジトリのシークレットはワークフローの実行がキューイングされた時点で読まれ、環境のシークレットは環境を参照しているジョブが開始された時点で読まれます。

## 自動的にリダクトされたシークレット

GitHub は、ワークフロー ログから次の機密情報を自動的に編集します。

> \[!NOTE] 他の種類の機密情報を自動的に編集されるようにしたい場合は、[コミュニティディスカッション](https://github.com/orgs/community/discussions?discussions_q=is%3Aopen+label%3AActions)でご連絡ください。

* 32 バイトおよび 64 バイトの Azure キー
* Azure AD クライアント アプリのパスワード
* Azure キャッシュ キー
* Azure Container Registry キー
* Azure 関数ホストキー
* Azure Search キー
* データベース接続文字列
* HTTP ベアラー トークン ヘッダー
* JWT
* NPM の著者トークン
* NuGet API キー
* v1 GitHub インストール トークン
* v2 GitHub インストール トークン (`ghp`、`gho`、`ghu`、`ghs`、`ghr`)
* v2 GitHub のパーソナルアクセストークン (PAT)

## セキュリティ

シークレットを使ったセキュリティのベスト プラクティスについては、「[セキュリティで保護された使用に関するリファレンス](/ja/enterprise-server@3.22/actions/reference/security/secure-use#use-secrets-for-sensitive-information)」をご覧ください。