

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AL2023에서 리포지토리 메타데이터 서명
<a name="repo-metadata-signing"></a>

릴리스부터 AL2023 `2023.11.20260406`리포지토리에는 리포지토리 메타데이터에 대한 암호화 서명이 포함됩니다. 각 리포지토리의 `repomd.xml` 파일에는 패키지를 다운로드하기 전에 리포지토리 메타데이터의 신뢰성과 무결성을 확인하는 데 사용할 수 있는 분리된 GPG 서명 파일(`repomd.xml.asc`)이 함께 제공됩니다.

이 서명은 개별 패키지를 확인하는 기존 RPM 패키지 서명(`gpgcheck`)에 추가됩니다. 리포지토리 메타데이터 서명은 사용 가능한 패키지 목록 및 체크섬과 같은 리포지토리의 콘텐츠를 설명하는 메타데이터를 확인합니다.

## 리포지토리 메타데이터 서명 작동 방식
<a name="repo-metadata-signing-overview"></a>

AL2023 리포지토리가 게시되면 AWS KMS 키를 사용하여 리포지토리 메타데이터(`repomd.xml`)에 서명됩니다. 결과 분리된 서명(`repomd.xml.asc`)은 리포지토리의 메타데이터와 함께 배치됩니다.

리포지토리 구성`repo_gpgcheck`에서를 활성화하면는 리포지토리 메타데이터를 사용하기 전에 GPG 퍼블릭 키에 대해 `repomd.xml.asc` 서명을 DNF 자동으로 다운로드하고 확인합니다. 서명 확인에 실패하면는 리포지토리 메타데이터를 DNF 거부하고 해당 리포지토리의 패키지 작업을 진행하지 않습니다. 에 대한 자세한 내용은 [DNF 구성](https://dnf.readthedocs.io/en/latest/conf_ref.html) `repo_gpgcheck`참조를 참조하세요.

다음 AL2023 리포지토리에는 서명된 메타데이터가 포함됩니다.
+ 코어 리포지토리(`amazonlinux`)
+ 커널 Livepatch 리포지토리(`kernel-livepatch`)
+ NVIDIA 리포지토리(`amazonlinux-nvidia`)
+ Amazon Linux 리포지토리용 보조 패키지(`amazonlinux-spal`)

## `gpgcheck`와의 차이점 `repo_gpgcheck`
<a name="repo-metadata-signing-gpgcheck-vs-repo-gpgcheck"></a>


| 설정 | 확인 항목 | AL2023의 기본값 | 
| --- | --- | --- | 
| gpgcheck=1 | 설치 전에 개별 RPM 패키지의 GPG 서명을 확인합니다. | 활성화됨 | 
| repo\_gpgcheck=1 | 리포지토리를 사용하기 전에 리포지토리 메타데이터(repomd.xml)의 GPG 서명을 확인합니다. | 비활성화됨(2023.12분기별 릴리스부터 기본적으로 활성화됨) | 

`gpgcheck` 및를 모두 활성화하는 것이 좋습니다`repo_gpgcheck`. 이렇게 하면 리포지토리 메타데이터와 개별 패키지가 모두 사용 전에 확인됩니다.

## 리포지토리 메타데이터 확인 활성화
<a name="repo-metadata-signing-enable"></a>

구성 파일을 업데이트하여 개별 리포지토리에 대한 리포지토리 메타데이터 확인을 활성화할 수 있습니다.

**중요**  
`2023.12` 분기별 릴리스부터 `repo_gpgcheck=1`는 AL2023 리포지토리 구성 파일에서 기본적으로 활성화됩니다.

### 특정 리포지토리에 대해 활성화
<a name="repo-metadata-signing-enable-per-repo"></a>

의 AL2023 리포지토리 구성 파일은 `repo_gpgcheck=0` 기본적으로 `/etc/yum.repos.d/` 설정됩니다. 리포지토리 메타데이터 확인을 활성화하려면 리포지토리 구성`1`에서이 값을 로 변경합니다. 예를 들어 코어 리포지토리에 대해 활성화하려면

```
[amazonlinux]
name=Amazon Linux 2023 repository
...
gpgcheck=1
repo_gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
```

## 리포지토리 메타데이터 서명이 작동하는지 확인
<a name="repo-metadata-signing-verify"></a>

를 활성화`repo_gpgcheck=1`한 후 DNF 캐시를 지우고 메타데이터를 새로 고쳐 메타데이터 확인이 작동하는지 확인할 수 있습니다.

```
[ec2-user ~]$ sudo dnf clean metadata
[ec2-user ~]$ sudo dnf makecache
```

메타데이터 확인에 성공하면는 GPG 키(아직 가져오지 않은 경우)를 DNF 가져오고 오류 없이 메타데이터 캐시를 생성합니다. 출력은 다음과 비슷합니다.

```
Amazon Linux 2023 repository                    1.7 MB/s | 1.8 kB     00:00
Importing GPG key 0xD832C631:
 Userid     : "Amazon Linux <amazon-linux@amazon.com>"
 Fingerprint: B21C 50FA 44A9 9720 EAA7 2F7F E951 904A D832 C631
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2023
Amazon Linux 2023 repository                      18 MB/s |  55 MB     00:03
Metadata cache created.
```

서명 확인에 실패하면는 GPG 서명 확인 실패 및 메타데이터 캐시 생성 실패를 나타내는 오류 메시지를 DNF 표시합니다.

## AL2023 리포지토리용 GPG 퍼블릭 키
<a name="repo-metadata-signing-gpg-keys"></a>

리포지토리 메타데이터 확인에 사용되는 GPG 퍼블릭 키는 해당 리포지토리 구성 RPMs에서에 설치합니다`/etc/pki/rpm-gpg/`. 다음 표에는 각 리포지토리에서 사용하는 퍼블릭 키가 나열되어 있습니다.


| 리포지토리 | 패키지 서명 키 | Repodata 서명 키 | 에 배포됨 | 
| --- | --- | --- | --- | 
| 코어(amazonlinux) | RPM-GPG-KEY-amazon-linux-2023 | RPM-GPG-KEY-amazon-linux-2023 | system-release | 
| 커널 Livepatch(kernel-livepatch) | RPM-GPG-KEY-amazon-linux-2023 | RPM-GPG-KEY-amazon-linux-2023 | system-release | 
| NVIDIA(amazonlinux-nvidia) | RPM-GPG-KEY-NVIDIA-D42D0685 | RPM-GPG-KEY-amazon-linux-2023-nvidia | nvidia-release | 
| SPAL(amazonlinux-spal) | RPM-GPG-KEY-amazonlinux-spal | RPM-GPG-KEY-amazonlinux-spal | spal-release | 

이러한 키는 해당 리포지토리 구성 RPM을 설치할 때 자동으로 설치됩니다.