シークレットについて
シークレットは、Organization またはリポジトリで作成する暗号化された環境変数です。 作成したシークレットは、GitHub Codespaces で使用できます。 GitHub では、libsodium シール ボックスを使用して、シークレットが GitHub に到達する前に暗号化し、codespace で使用する場合にのみ復号化します。
Organization レベルのシークレットを使用すると、複数のリポジトリ間でシークレットを共有できるため、重複するシークレットを作成する必要が軽減されます。 アクセスポリシーを使用して、Organization のシークレットを使用できるリポジトリを制御できます。
シークレットを作成すると、新しいcodespaceを作成したり、codespaceを再起動したりすれば、利用できるようになります。 作成したばかりのシークレットを現在のcodespaceで使うには、codespaceを停止して再開しなければなりません。 codespace の停止については、「GitHub Codespaces で Visual Studio Code のコマンド パレットを使う」を参照してください。
シークレットに名前を付ける
シークレットの名前には次のルールが適用されます。
-
シークレット名には、英数字 (
[a-z]
、[A-Z]
、[0-9]
) またはアンダースコア (_
) のみを含めることができます。 スペースは使用できません。 -
シークレット名の最初を
GITHUB_
プレフィックスにすることはできません。 -
シークレット名の最初を数字にすることはできません。
-
シークレット名は大文字と小文字を区別しません。
-
シークレット名は、作成されたレベルで一意である必要があります。 たとえば、リポジトリレベルで作成されたシークレットは、そのリポジトリ内で一意の名前である必要があり、Organization レベルで作成されたシークレットは、そのレベルで一意の名前である必要があります。
複数のレベルで同じ名前のシークレットが存在する場合、最も低いレベルのシークレットが優先されます。 たとえば、Organization レベルのシークレット名がリポジトリレベルのシークレット名と同じ場合、リポジトリレベルのシークレット名が優先されます。
シークレットの制限
Organization ごとに最大 100 個のシークレット、リポジトリごとに最大 100 個のシークレットを保存できます。
シークレットのサイズは最大 48 KB です。
リポジトリにシークレットを追加する
Organization リポジトリのシークレットを作成するには、管理者アクセス権が必要です。
-
GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数] 、 [Codespaces] をクリックします。 -
ページの上部にある [新しいリポジトリ シークレット] をクリックします。
-
[名前] 入力ボックスにシークレットの名前を入力します。
-
シークレットの値を入力します。
-
[シークレットの追加] をクリックします。
Organization にシークレットを追加する
Organizationでシークレットを作成する場合、ポリシーを使用して、そのシークレットにアクセスできるリポジトリを制限できます。 たとえば、すべてのリポジトリにアクセスを許可したり、プライベート リポジトリまたは指定したリポジトリ のリストのみにアクセスを制限したりできます。
組織レベルでシークレットを作成するには、admin
アクセス権が必要です。
-
GitHub.com で、Organization のメイン ページへ移動します。 1. Organization 名の下で、 [設定] をクリックします。
1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数] 、 [Codespaces] をクリックします。 -
ページの上部にある [新しい Organization のシークレット] をクリックします。
-
[名前] 入力ボックスにシークレットの名前を入力します。
-
シークレットの [値] を入力します。
-
[リポジトリアクセス] ドロップダウンリストから、アクセスポリシーを選びます。
-
[シークレットの追加] をクリックします。
Organizationレベルのシークレットへのアクセスの確認
Organization 内のシークレットに適用されているアクセスポリシーを確認できます。
-
GitHub.com で、Organization のメイン ページへ移動します。 1. Organization 名の下で、 [設定] をクリックします。
1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数] 、 [Codespaces] をクリックします。 -
シークレットのリストには、設定済みのアクセス許可とポリシーが含まれます。 次に例を示します。
-
各シークレットに構成されているアクセス許可の詳細については、 [更新] をクリックします。