Skip to main content

Managing encrypted secrets for your repository and organization for GitHub Codespaces

Encrypted secrets allow you to store sensitive information in your organization, repository, or GitHub Codespaces.

Who can use this feature

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

GitHub Codespaces は、GitHub Team または GitHub Enterprise Cloud を使用する Organization で利用できます。 GitHub Free および GitHub Pro プランの個人ユーザーも、GitHub Codespaces を制限付きのベータ リリースとして利用できます。 詳細については、「GitHub's products」を参照してください。

About secrets

Secrets are encrypted environment variables that you create in an organization or repository. The secrets that you create are available to use in GitHub Codespaces. GitHub uses a libsodium sealed box to encrypt secrets before they reach GitHub and only decrypts them when you use them in a codespace.

Organization-level secrets let you share secrets between multiple repositories, which reduces the need to create duplicate secrets. You can use access policies to control which repositories can use organization secrets.

Once you have created a secret, it will be available when you create a new codespace or restart the codespace. To use a secret that you've just created in a current codespace, you will need to stop the codespace and resume it. For information about stopping the codespace, see "Using the Visual Studio Code Command Palette in GitHub Codespaces."

Naming secrets

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

  • シークレット名には、英数字 ([a-z][A-Z][0-9]) またはアンダースコア (_) のみを含めることができます。 スペースは使用できません。

  • シークレット名の最初を GITHUB_ プレフィックスにすることはできません。

  • シークレット名の最初を数字にすることはできません。

  • シークレット名は大文字と小文字を区別しません。

  • シークレット名は、作成されたレベルで一意である必要があります。 For example, a secret created at the repository level must have a unique name in that repository, and a secret created at the organization level must have a unique name at that level.

    複数のレベルで同じ名前のシークレットが存在する場合、最も低いレベルのシークレットが優先されます。 たとえば、Organization レベルのシークレット名がリポジトリレベルのシークレット名と同じ場合、リポジトリレベルのシークレット名が優先されます。

Limits for secrets

You can store up to 100 secrets per organization and 100 secrets per repository.

Secrets are limited to 64 KB in size.

Adding secrets for a repository

To create secrets for an organization repository, you must have administrator access.

  1. GitHub.com で、リポジトリのメイン ページへ移動します。

  2. リポジトリ名の下の [ 設定] をクリックします。 リポジトリの設定ボタン

  3. In the "Security" section of the sidebar, select Secrets, then click Codespaces.

  4. At the top of the page, click New repository secret.

  5. Type a name for your secret in the Name input box.

  6. Enter the value for your secret.

  7. Click Add secret.

Adding secrets for an organization

When creating a secret in an organization, you can use a policy to limit which repositories can access that secret. For example, you can grant access to all repositories, or limit access to only private repositories or a specified list of repositories.

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

  1. GitHub.com で、Organization のメイン ページへ移動します。

  2. Organization 名の下で、 [設定] をクリックします。 Organization の設定ボタン

  3. In the "Security" section of the sidebar, select Secrets, then click Codespaces.

  4. At the top of the page, click New organization secret.

  5. Type a name for your secret in the Name input box.

  6. Enter the Value for your secret.

  7. From the Repository access dropdown list, choose an access policy. Repository Access list with private repositories selected

  8. Click Add secret.

Reviewing access to organization-level secrets

You can check which access policies are applied to a secret in your organization.

  1. GitHub.com で、Organization のメイン ページへ移動します。

  2. Organization 名の下で、 [設定] をクリックします。 Organization の設定ボタン

  3. In the "Security" section of the sidebar, select Secrets, then click Codespaces.

  4. The list of secrets includes any configured permissions and policies. For example: Secrets list

  5. For more details on the configured permissions for each secret, click Update.

Further reading