Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

codespace 内の他のリポジトリへのアクセスの管理

GitHub Codespaces からアクセスできるリポジトリを管理できます。

概要

既定では、codespace には、作成元のリポジトリをスコープとするトークンと、read アクセス許可または read および write アクセス許可が割り当てられます。 このトークンのスコープは次の状況で自動的に変わります。

  • 読み取りアクセスのみが与えられているリポジトリの codespace を作成し、その codespace でコミットすると、GitHub Codespaces では、そのリポジトリの新規または既存のフォークに codespace が自動的にリンクされ、そのフォークの read および write アクセス許可が与えられるよう、トークンが更新されます。 詳細については、「Codespace でソース コントロールを使用する」を参照してください
  • テンプレートから codespace を作成し、その codespace を新しいリポジトリに発行すると、GitHub Codespaces では、新しいリポジトリの read および write アクセス許可が与えられるよう、トークンが更新されます。 詳しくは、「テンプレートから codespace を作成する」を参照してください。

プロジェクトに他のリポジトリに対する追加のアクセス許可が必要な場合は、devcontainer.json ファイルでこれを構成し、他のコラボレーターが適切なアクセス許可セットを持っていることを確認できます。 devcontainer.json ファイルにアクセス許可が一覧表示されると、そのリポジトリのcodespace 作成の一環として、追加のアクセス許可を確認して承認するように求められます。 一覧表示されているアクセス許可を承認すると、GitHub Codespaces は選択を記憶し、devcontainer.json ファイル内のアクセス許可が変更されない限り、承認を求めるメッセージは表示されません。

詳しくは、「GitHub Codespaces のセキュリティ」をご覧ください。

前提条件

カスタム アクセス許可が定義された codespace を作成するには、次のいずれかを使用する必要があります。

追加のリポジトリのアクセス許可の設定

  1. devcontainer.json ファイルの GitHub Codespaces のリポジトリのアクセス許可を構成します。 リポジトリに devcontainer.json ファイルがまだ含まれていない場合は、今すぐ追加します。 詳しくは、「開発コンテナー構成のリポジトリへの追加」をご覧ください。

  2. devcontainer.json ファイルを編集し、repositories オブジェクトに必要なリポジトリ名とアクセス許可を追加します。

    JSON
    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }

    注: 参照できるのは、現在作業しているリポジトリと同じ個人アカウントまたは組織に属するリポジトリのみです。

    一覧に示されている各リポジトリに対して、次のアクセス許可のうち、いくつでも付与することができます。

    • actions - 読み取り / 書き込み
    • checks - 読み取り / 書き込み
    • contents - 読み取り / 書き込み
    • deployments - 読み取り / 書き込み
    • discussions - 読み取り / 書き込み
    • issues - 読み取り / 書き込み
    • packages - 読み取り
    • pages - 読み取り / 書き込み
    • pull_requests - 読み取り / 書き込み
    • repository_projects - 読み取り / 書き込み
    • statuses - 読み取り / 書き込み
    • workflows - 書き込み

    組織内のすべてのリポジトリのアクセス許可を設定するには、repositories オブジェクト内の組織名の後に * ワイルドカードを使用します。

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/*": {
              "permissions": {
                "issues": "write"
              }
            }
          }
        }
      }
    }
    

    特定のリポジトリのすべてのアクセス許可を設定するには、リポジトリ オブジェクトで "permissions": "read-all" または "permissions": "write-all" を使用します。

    {
      "customizations": {
        "codespaces": {
          "repositories": {
            "my_org/my_repo": {
              "permissions": "write-all"
            }
          }
        }
      }
    }
    

要求されたアクセス許可の承認

devcontainer.json ファイルで追加のリポジトリのアクセス許可が定義されている場合、このリポジトリの codespace またはプレビルド構成を作るときに、アクセス許可を確認し、必要に応じて認可するように求められます。 リポジトリのアクセス許可を承認すると、要求されたアクセス許可のセットがリポジトリに対して変更されない限り、GitHub Codespaces は再プロンプトを表示しません。

要求されたアクセス許可ページ

承認する必要があるのは、自分が知っていて信頼できるリポジトリに対するアクセス許可のみです。 要求されたアクセス許可のセットを信頼できない場合は、 [承認なしで続行] をクリックして、基本のアクセス許可のセットを使用して codespace を作成します。 追加のアクセス許可を拒否すると、codespace は作成元のリポジトリにしかアクセスできないため、codespace 内のプロジェクトの機能に影響を与える可能性があります。

個人アカウントが既に所有しているアクセス許可のみを承認できます。 現在アクセス権を持たないリポジトリでのアクセス許可を codespace が要求する場合は、リポジトリの所有者または管理者に連絡して十分なアクセス権を取得してから、codespace の作成を再試行してください。

アクセスとセキュリティ

非推奨の注意: 以下で説明するアクセスとセキュリティの設定は現在非推奨であり、ここには参考用に記載されています。 他のリポジトリへの拡張アクセスを有効にするには、前述のように、要求されたアクセス許可を codespace の開発コンテナー定義に追加します。

個人アカウントが所有するリポジトリのアクセスとセキュリティを有効にすると、そのリポジトリ用に作成された codespace には、所有している他のすべてのリポジトリへの読み取り権限が付与されます。 Codespace がアクセスできるリポジトリを制限する場合は、Codespace がオープンされたリポジトリまたは特定のリポジトリのいずれかに制限できます。 信頼するリポジトリに対してのみ、アクセスとセキュリティを有効にしてください。

  1. 任意のページで、右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。

    ユーザバーの [Settings(設定)] アイコン 1. サイドバーの [Code, planning, and automation](コード、計画、および自動化) セクションで、 [ Codespaces] をクリックします。

  2. [アクセスとセキュリティ] で、あなたの個人アカウントの設定を選択します。

    信頼するリポジトリを管理するラジオボタン

  3. [選択したリポジトリ] を選んだ場合、ドロップダウン メニューを選んでから、あなたの所有するその他のリポジトリにアクセスを許可する、リポジトリの codespace をクリックします。 所有するその他のリポジトリにコードスペースによるアクセスを許可したい、すべてのリポジトリについて同じ手順を繰り返します。

    [選択したリポジトリ] ドロップダウン メニュー