

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AL2023 でのリポジトリメタデータ署名
<a name="repo-metadata-signing"></a>

リリース 以降`2023.11.20260406`、AL2023 リポジトリにはリポジトリメタデータの暗号化署名が含まれています。各リポジトリの `repomd.xml` ファイルには、パッケージがダウンロードされる前にリポジトリメタデータの信頼性と整合性を検証するために使用できる、デタッチされた GPG 署名ファイル (`repomd.xml.asc`) が付属しています。

この署名は、個々のパッケージを検証する既存の RPM パッケージ署名 (`gpgcheck`) に追加されます。リポジトリメタデータ署名は、使用可能なパッケージのリストやチェックサムなど、リポジトリの内容を説明するメタデータを検証します。

## リポジトリメタデータ署名の仕組み
<a name="repo-metadata-signing-overview"></a>

AL2023 リポジトリが公開されると、リポジトリメタデータ (`repomd.xml`) は KMS AWS キーを使用して署名されます。デタッチされた署名 (`repomd.xml.asc`) は、リポジトリ内のメタデータと一緒に配置されます。

リポジトリ設定`repo_gpgcheck`で を有効にすると、 はリポジトリメタデータを使用する前に、GPG パブリックキーに対して`repomd.xml.asc`署名DNFを自動的にダウンロードして検証します。署名の検証に失敗した場合、 はリポジトリメタデータDNFを拒否し、そのリポジトリからのパッケージオペレーションを続行しません。の詳細については`repo_gpgcheck`、[DNF「 設定リファレンス](https://dnf.readthedocs.io/en/latest/conf_ref.html)」を参照してください。

次の 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` 四半期ごとのリリース以降、 は AL2023 リポジトリ設定ファイルでデフォルトで有効`repo_gpgcheck=1`になります。

### 特定のリポジトリに対して を有効にする
<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/`。次の表に、各リポジトリで使用されるパブリックキーを示します。


| Repository | パッケージ署名キー | リポジトリデータ署名キー | で配布 | 
| --- | --- | --- | --- | 
| コア (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 をインストールすると自動的にインストールされます。