Copilot 클라우드 에이전트 는 MCP 서버에 연결하고, 프라이빗 패키지를 사용하고, 외부 서비스에 액세스할 수 있지만, 조직의 리포지토리가 이를 허용하도록 구성된 경우에만 액세스할 수 있습니다.
아래 구성의 대부분은 리포지토리 수준에서 수행되지만 조직 소유자는 범위에 있는 리소스와 해당 리소스에 대한 액세스를 구성할 수 있는 사용자를 제어할 수 있습니다.
예제 시나리오
조직에서는 Sentry를 사용하여 노드 앱의 버그를 추적합니다. 새 예외가 GitHub에서 발생하면 개발자가 이러한 문제를 Copilot에 할당하려고 합니다.
당신은 Copilot 다음을 원합니다.
- Sentry 인스턴스의 세부 정보에 액세스할 수 있도록 Sentry MCP 서버에 연결
- 호스트되는 GitHub프라이빗 패키지를 포함하여 종속성을 설치하여 앱을 빌드하고 테스트를 실행합니다.
- 오류 처리에 대한 조직의 규칙을 따릅니다.
안전하게 비밀 저장
기본적으로 인증 토큰의 Copilot범위는 실행 중인 리포지토리로 제한됩니다. 즉 Copilot , 외부 시스템에 인증하거나 조직 범위의 프라이빗 패키지에 액세스할 수 없습니다.
리포지토리 관리자는 Copilot가 필요한 변수와 비밀을 전용 copilotGitHub Actions 환경에 추가해야 합니다.
Copilot 는 설치 및 작업 실행에서 이 데이터에 액세스할 수 있습니다. 조직 전체 GitHub Actions 의 비밀과 같이 이 환경 외부의 변수 또는 비밀에 액세스할 수 없습니다.
예: 비밀 저장
리포지토리 관리자는 조직의 Sentry 인스턴스에 대한 인증 토큰을 저장합니다.
- 리포지토리 설정의 환경 섹션으로 이동합니다.
- 라는 새 환경을 만듭니다
copilot. - Sentry 인스턴스에 대한 액세스 토큰을
COPILOT_MCP_SENTRY_ACCESS_TOKEN라는 환경 비밀에 저장합니다.
팁
프라이빗 GitHub Packages 레지스트리에 대한 토큰을 저장할 필요가 없으며, 이 토큰은 표준을 GitHub ActionsGITHUB_TOKEN사용하여 액세스할 수 있습니다. 그러나 외부 패키지 레지스트리를 사용하는 경우 인증 토큰을 저장하려고 합니다.
MCP 서버에 대한 액세스 구성
조직 및 엔터프라이즈 소유자는 사용자가 MCP 서버에 대한 액세스를 구성할 수 있도록 정책을 설정할 수 있습니다. 이 정책을 사용하는 경우 사용자는 리포지토리 설정 또는 사용자 지정 에이전트 프로필에서 MCP 서버를 Copilot 클라우드 에이전트 구성할 수 있습니다. 조직 전체의 일관성을 위해 조직 또는 엔터프라이즈 수준에서 사용자 지정 에이전트 프로필을 만드는 것이 좋습니다.
사용자 지정 에이전트를 사용하는 세션에서는 리포지토리 설정과 에이전트 프로필 모두에서 구성된 MCP 서버에 액세스할 수 있습니다. 그러나 조직 전체의 사용자 지정 에이전트를 사용하는 사용 사례가 많을수록 리포지토리 설정에서 MCP 서버에 대한 임시 액세스를 구성해야 하는 사용자가 줄어듭니다.
[MCP 레지스트리를GitHub](https://github.com/mcp) 검색하여 신뢰할 수 있는 높은 등급의 옵션을 찾는 것이 좋습니다.
예: 사용자 지정 에이전트 만들기
조직 소유자는 Sentry 에이전트에 대한 사용자 지정 에이전트 프로필을 만듭니다. Sentry MCP 서버에 대한 액세스 권한과 조직의 오류 처리 규칙에 대한 사용자 지정 지침이 있습니다.
-
조직에서
.github-private라는 이름의 리포지토리를 생성합니다. 필요에 따라 엔터프라이즈 소유자는 이 리포지토리를 엔터프라이즈의 모든 사용자 지정 에이전트에 대한 원본으로 설정할 수 있습니다. -
리포지토리에서 다음과 같은 프로필이 있는 파일을 추가
agent.md합니다. 여기에는 저장한 비밀을 참조하는 MCP 서버에 대한 구성이 포함됩니다.--- name: sentry-error-fixer description: Proposed fixes for exception issues raised from Sentry mcp-servers: sentry: type: 'local' command: 'npx' args: ['@sentry/mcp-server@latest'] env: SENTRY_ACCESS_TOKEN: ${{ secrets.COPILOT_MCP_SENTRY_ACCESS_TOKEN }} --- You are an error resolution specialist. When you're assigned an issue created by our Sentry integration, check for error details and stack traces using the MCP server, then propose a fix. Make sure you check that your proposed fix works by building the site with `npm run build` and running the test suite in `npm test`. -
개발자가 Copilot에 문제를 할당할 때, 드롭다운 메뉴에서 사용자 지정 에이전트를 선택할 수 있습니다.
프라이빗 패키지 설치
프로젝트의 종속성에 대한 Copilot 액세스 권한을 부여하는 가장 좋은 방법은 워크플로 파일에 copilot-setup-steps.yml 설치하는 것입니다. 이 파일은 작업을 시작하기 전에 Copilot 환경을 설정하는 방법을 정의합니다.
워크플로가 조직 범위의 프라이빗 패키지를 끌어오도록 허용하려면 패키지 설정을 업데이트하여 리포지토리가 GITHUB_TOKEN 패키지에 액세스할 수 있는지 확인합니다. 이는 조직의 권한을 사용할 때 장기 사용 personal access token보다 더 안전합니다.
예: 노드 종속성 설치
개발자는 리포지 package-lock.json 토리의 파일에 정의된 노드 종속성을 설치하는 워크플로를 만듭니다. 여기에는 GitHub에 호스팅된 조직 전용 비공개 패키지가 포함됩니다.
-
개발자는 리포지토리에 파일을 만듭니다
copilot-setup-steps.yml. -
프로젝트의 종속성을 설치하는 단계를 추가합니다. 다음은 그 예입니다.
# ... jobs: copilot-setup-steps: # ... # You can define any steps you want, and they will run before the agent starts. # If you do not check out your code, Copilot will do this for you. steps: - name: Checkout code uses: actions/checkout@v5 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: "20" cache: "npm" - name: Install JavaScript dependencies run: npm ci -
조직 관리자는 각 패키지의 설정에서 리포지토리에 대한 액세스 권한을 부여하여 리포지토리가 조직의 개인 패키지에 액세스할 수 있도록 합니다. 패키지의 액세스 제어 및 표시 여부 구성을(를) 참조하세요.
팁
회사 네트워크 내에서 내부적으로 호스트되는 패키지에 액세스해야 하는 경우 자체 호스팅 Copilot 클라우드 에이전트 실행기에서 실행 GitHub Actions 해야 할 수 있습니다.
이러한 설정을 구성할 수 있는 사용자 제어
이제 리포지토리 및 조직 수준에서 리소스에 대한 액세스를 제어하는 방법을 살펴보셨으며, 사용자에게 이러한 설정을 관리하도록 제공할 범위의 양을 고려합니다.
-
**액세스할 수 있는 리포지토리** 를 Copilot 클라우드 에이전트선택합니다. 특정 리포지토리에 대해 우려하는 경우 모든 사용자에 대해 차단할 수 있습니다. - 이러한 리포지토리에 대한 관리자 액세스 권한을 얻는 사용자를 고려합니다.
모든 리포지토리 관리자 사용자 지정 역할을 사용하여 팀을 만들어 조직 수준에서 이를 제어할 수 있습니다. 이러한 사용자는 모든 리포지토리에서 MCP 구성 및 환경과 __ 같은 구성
copilot관리할 수 있습니다. -
**규칙 집합 및 CODEOWNERS 파일을 사용하여** 쓰기 액세스 권한이 있는 모든 사용자가 기본적으로 편집할 수 있는 구성 _파일_`copilot-setup-steps.yml`의 편집을 제어합니다. -
**기본 방화벽을 검토**합니다. 작업 실행 중에는 Copilot이(가) 인터넷 액세스를 제한하지만, 방화벽은 MCP 서버나 설치 단계에 대한 연결에 `copilot-setup-steps.yml`영향을 주지 않습니다. [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-firewall)을(를) 참조하세요.