# 오류: 403 "통합을 통해 리소스에 액세스할 수 없음"

이 오류는 생성된 Dependabot 끌어오기 요청에서 볼 수 있으며 몇 가지 다른 방법으로 해결할 수 있습니다.

> \[!NOTE]
> 이 문제 해결 문서는 이 오류가 표시되는 *경우에만* 관련이 있습니다 Dependabot. 기타 GitHub 제품에서도 이 오류가 표시되고 문제 해결에 어려움이 있는 경우, GitHub 지원에 연락할 수 있습니다. 자세한 내용은 [GitHub 지원에 문의](/ko/support/contacting-github-support)을(를) 참조하세요.

## 이 오류에 대해

```text
403: Resource not accessible by integration
```

Dependabot 는 워크플로가 읽기 전용 범위로 실행되는 경우 워크플로 실행을 트리거할 때 신뢰할 수 없는 것으로 간주됩니다.

## 오류 원인 확인

Dependabot 워크플로우에서 code scanning를 사용 중이라면 사용하고 있는 범위를 조사합니다.

code scanning 브랜치에 대한 결과를 업로드하려면 일반적으로 `security-events: write` 범위가 필요합니다. 그러나 code scanning 이벤트가 작업 실행을 트리거할 때 `pull_request` 항상 결과 업로드를 허용합니다. 따라서 Dependabot 분기에서는 `pull_request` 이벤트 대신 `push` 이벤트를 사용하는 것이 좋습니다.

## 문제 해결

기본 브랜치와 그 외의 중요한 장기 실행 브랜치들에 대한 푸시 작업 시 실행되도록 설정할 수 있으며, 또한 이러한 브랜치 집합을 대상으로 열려 있는 풀 리퀘스트에 대해서도 실행되도록 구성할 수 있습니다.

```yaml
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
```

또는 모든 푸시에서 Dependabot 분기를 제외하고 실행할 수 있습니다.

```yaml
on:
  push:
    branches-ignore:
      - 'dependabot/**'
  pull_request:
```

### 기본 분기에서도 분석에 실패하는 경우

기본 분기에서 CodeQL 분석 워크플로 수행된 커밋에서 여전히 실패하는 경우 다음을 확인해야 합니다.

* 커밋을 작성했는지 여부 Dependabot
* 커밋을 포함하는 끌어오기 요청이 squash 및 merge를 사용하여 병합되었는지 여부

이 유형의 병합 커밋은 작성되므로 Dependabot 커밋에서 실행되는 모든 워크플로에는 읽기 전용 권한이 있습니다. 리포지토리에서 code scanning보안 업데이트 또는 Dependabot버전 업데이트를 사용하도록 설정한 경우, **병합 커밋 만들기** 전략으로 풀 리퀘스트에서 자동 병합을 활성화하는 것이 좋습니다. 이렇게 하면 Dependabot가 작성하게 될 스쿼시 병합 커밋을 방지할 수 있습니다. 자동 병합을 사용하도록 설정하는 방법에 대한 자세한 내용은 [끌어오기 요청 자동 병합](/ko/pull-requests/how-tos/merge-and-close-pull-requests/automatically-merging-a-pull-request#enabling-auto-merge)을(를) 참조하세요.