Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

リポジトリの暗号化されたシークレットと GitHub Codespaces の Organization を管理する

暗号化されたシークレットを使用すると、機密情報を Organization、リポジトリ、または GitHub Codespaces に保存できます。

この機能を使用できるユーザー

To manage secrets for GitHub Codespaces for an organization, you must be an organization owner.

シークレットについて

シークレットは、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 リポジトリのシークレットを作成するには、管理者アクセス権が必要です。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [設定] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。 1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数][Codespaces] をクリックします。

  2. ページの上部にある [新しいリポジトリ シークレット] をクリックします。

  3. [名前] 入力ボックスにシークレットの名前を入力します。

  4. シークレットの値を入力します。

  5. [シークレットの追加] をクリックします。

Organization にシークレットを追加する

Organizationでシークレットを作成する場合、ポリシーを使用して、そのシークレットにアクセスできるリポジトリを制限できます。 たとえば、すべてのリポジトリにアクセスを許可したり、プライベート リポジトリまたは指定したリポジトリ のリストのみにアクセスを制限したりできます。

組織レベルでシークレットを作成するには、admin アクセス権が必要です。

  1. GitHub.com で、Organization のメイン ページへ移動します。 1. Organization 名の下で、 [設定] をクリックします。

    Organization の設定ボタン 1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数][Codespaces] をクリックします。

  2. ページの上部にある [新しい Organization のシークレット] をクリックします。

  3. [名前] 入力ボックスにシークレットの名前を入力します。

  4. シークレットの [値] を入力します。

  5. [リポジトリアクセス] ドロップダウンリストから、アクセスポリシーを選びます。

  6. [シークレットの追加] をクリックします。

Organizationレベルのシークレットへのアクセスの確認

Organization 内のシークレットに適用されているアクセスポリシーを確認できます。

  1. GitHub.com で、Organization のメイン ページへ移動します。 1. Organization 名の下で、 [設定] をクリックします。

    Organization の設定ボタン 1. サイドバーの [セキュリティ] セクションで、 [シークレットと変数][Codespaces] をクリックします。

  2. シークレットのリストには、設定済みのアクセス許可とポリシーが含まれます。 次に例を示します。

    2 つのシークレットの一覧を示すスクリーンショット。 それぞれの右側には、編集ボタンと削除ボタンがあります。

  3. 各シークレットに構成されているアクセス許可の詳細については、 [更新] をクリックします。

参考資料