Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter.
As a common best practice, Datadog periodically rotates the keys and certificates used to sign Datadog’s Agent packages. Datadog packages include:
- the different flavors of Agent (
datadog-agent
, datadog-iot-agent
, datadog-heroku-agent
and datadog-dogstatsd
). - additional packages: Observability Pipelines Worker (
observability-pipelines-worker
), FIPS proxy (datadog-fips-proxy
) and the APM injection and tracer libraries for Java, Python, .NET, Ruby and Node.js (all datadog-apm-*
packages).
The following GPG keys, used to sign the above RPM and DEB packages, reach their end-of-life in September 2024. The rotation is planned for June 2024:
- RPM
- Old trusted key hash:
C6559B690CA882F023BDF3F63F4D1729FD4BF915
- New trusted key hash:
7408BFD56BC5BF0C361AAAE85D88EEA3B01082D3
- After June 2024, install the new trusted key prior to installing any RPM release published after June 2024.
- DEB
- Old trusted key hash:
D75CEA17048B9ACBF186794B32637D44F14F620E
- New trusted key hash:
5F1E256061D813B125E156E8E6266D4AC0962C7D
- APT checks the repo metadata signature. After June 2024, install the new trusted key prior to installing any APT release from
apt.datadoghq.com
published after June 2024.
If you’re using Datadog’s RPM or DEB packages, you might need to manually import the new key on your systems to install or upgrade the Agent packages after the rotation takes place.
Key rotation does not affect the functionality of already running Agents. It only limits the ability to install or upgrade to a newer version of the Agent.
Dockerized Linux Agents, Windows, or macOS Agents are not affected.
Install methods that automatically trust the new GPG key
If you’re using one of the following installation methods, your host automatically trusts the new key and no further action is required:
Additionally, installing the DEB Agent v6.48.0+ or v7.48.0+ package through apt
from the apt.datadoghq.com
repository installs the datadog-signing-keys
package version 1.3.1. The datadog-signing-keys
package automatically ensures that your host trusts the new key. If you have datadog-signing-keys
version 1.3.1 or later installed, no further action is needed. Versions of datadog-signing-keys
older than version 1.3.1 don’t guarantee full preparedness for the key rotation.
If you installed Observability Pipelines Worker or APM tracer libraries using the above install methods, they already come with the newest keys. No further action is required.
If you’re installing the DEB Agent package from a different repository or you are not using apt
(or a similar tool that checks repo metadata signatures), your system doesn’t need to know the Datadog signing keys. No further action is needed. However, you may benefit from the datadog-signing-keys
package.
If you’re unsure if a host trusts the new signing key, you can check.
For hosts running older versions of the install methods listed above or older versions of the DEB package, Datadog recommends updating the install method to the latest version. Alternatively, Debian and Ubuntu users can update the Agent to version 7.48.0+. Otherwise, the key can be manually updated.
What happens if the new key is not trusted before it is rotated?
Trying to install or upgrade Agent packages using apt
, yum
, dnf
or zypper
from apt.datadoghq.com
/yum.datadoghq.com
without trusting the new key results in an error.
Possible errors include:
E: The repository 'https://apt.datadoghq.com stable Release' is not signed.
E: Package 'datadog-agent' has no installation candidate
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY
The GPG keys listed for the "Datadog, Inc." repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Public key for datadog-agent-7.57.1-1.x86_64.rpm is not installed. Failing package is: datadog-agent-1:7.57.1-1.x86_64
For apt
, this applies to both newly released and existing versions of the Agent. For yum
, dnf
or zypper
, existing versions of the Agent can still be installed as long as repo_gpgcheck=0
is set in the datadog.repo
or datadog-observability-pipelines-worker.repo
file.
This key rotation does not affect installations done by manually downloading the packages and installing them with dpkg
or rpm
. This may cause a warning for rpm
.
Manual update
Datadog encourages you to use one of the install methods above, which trust the new GPG key as well as all future keys automatically. If this is not an option, use the following instructions to manually download and trust the new key.
Run the following commands on the host:
$ sudo touch /usr/share/keyrings/datadog-archive-keyring.gpg
$ sudo chmod a+r /usr/share/keyrings/datadog-archive-keyring.gpg
$ curl https://keys.datadoghq.com/DATADOG_APT_KEY_C0962C7D.public | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/datadog-archive-keyring.gpg --import --batch
$ curl https://keys.datadoghq.com/DATADOG_APT_KEY_C0962C7D.public | sudo apt-key add -
Run the following command on the host:
$ sudo rpm --import https://keys.datadoghq.com/DATADOG_RPM_KEY_B01082D3.public
Check if a host trusts the new GPG key
A host correctly trusts the new key if either one of these conditions is true:
- The file
/usr/share/keyrings/datadog-archive-keyring.gpg
exists and the Datadog source list file contains the option [signed-by=/usr/share/keyrings/datadog-archive-keyring.gpg]
.- For Agent installations, the source list file is usually
/etc/apt/sources.list.d/datadog.list
- For Observability Pipelines Worker installations, the source list file is usually
/etc/apt/sources.list.d/datadog-observability-pipelines-worker.list
- The Datadog source list file doesn’t contain the
signed-by
option, but datadog-signing-keys
version 1.3.1 or later is installed, which results in the presence of a /etc/apt/trusted.gpg.d/datadog-archive-keyring.gpg
file.
Files /usr/share/keyrings/datadog-archive-keyring.gpg
and, optionally, /etc/apt/trusted.gpg.d/datadog-archive-keyring.gpg
are created either by a supported installation method or by installing the datadog-signing-keys
package. Ensure that datadog-signing-keys
version 1.3.1 or later is installed unless using one of the installation method versions listed above.
Run the following command on the host:
$ rpm -qa | grep gpg-pubkey-b01082d3
If the key is trusted, the command has a 0 exit code and outputs:
gpg-pubkey-b01082d3-644161ac
Otherwise, the command returns a non-0 exit code with no output.
Alternatively, check if your repo file contains https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
as one of the gpgkey
entries. Repo file is usually datadog.repo
for Agent installations or datadog-observability-pipelines-worker.repo
for Observability Pipelines Worker. The CURRENT
key file is updated with the new key as soon as it is in use.
The datadog-signing-keys
package
This section only applies to DEB Agent package users.
Since Agent v6.31.0 and v7.31.0, all Datadog DEB packages have a soft dependency on the datadog-signing-keys
package. The following versions of Agent packages have a soft dependency on the datadog-signing-keys
package version 1.3.1
:
- datadog-agent, datadog-iot-agent, datadog-heroku-agent, datadog-dogstatsd, datadog-agent-dbg v6.48.1+ & v7.48.1+
- datadog-fips-proxy v0.5.4+
- observability-pipelines-worker v1.3.1+
- datadog-apm-inject v0.10.7+
- datadog-apm-library-python v1.18.0+
- datadog-apm-library-java v1.19.1+
- datadog-apm-library-dotnet v2.36.0+
- datadog-apm-library-js v4.11.0+
- datadog-apm-library-all v0.3+
Upon installation, this package:
- Configures APT keys in the
/usr/share/keyrings/datadog-archive-keyring.gpg
keyring and also in /etc/apt/trusted.gpg.d/datadog-archive-keyring.gpg
when necessary. This ensures that the upcoming APT repository signing key is trusted. Using the package datadog-signing-keys
version 1.3.1 is recommended to ensure preparedness for the upcoming key rotation. - Sets up a
debsig-verify
policy for Datadog packages. This allows you to verify signatures for individual DEB packages locally.
For example, to verify that a locally downloaded DEB package was built and signed by Datadog, run the following command:
$ debsig-verify datadog-dogstatsd_7.51.0-1_amd64.deb
If the verification is successful, debsig-verify
exits with status 0
and prints a message: debsig: Verified package from 'Datadog, Inc.' (Datadog).
Datadog’s DEB packages embed signatures since v6.26.0/7.26.0, so this verification does not work on earlier versions.
Because the Agent v6.48.0+/7.48.0+’s package dependency on datadog-signing-keys
is optional, it may not install if:
- You manually download the Agent DEB package and install it without having the Datadog repository configured as an APT source.
- You mirror the Agent DEB package to your own APT repository without also mirroring the
datadog-signing-keys
package. - Your APT configuration is set to not install recommended packages. For example, by running
apt
with --no-install-recommends
or by having APT::Install-Recommends "0"
in apt.conf
.
The first two methods do not require verification for Datadog’s repo metadata, so the key rotation has no impact. However, you may benefit from using the debsig-verify
policy files shipped in the datadog-signing-keys
package.
With the third method, you need to explicitly install the datadog-signing-keys
package if you are installing the Agent package from apt.datadoghq.com
through apt
. Alternatively, use one of the supported installation methods.
Impact for Agent v5 users
Agent v5 users on DEB-based systems (Debian/Ubuntu) are also required to trust the new signing key to install or upgrade the Agent after the rotation date. Agent v5 users on RPM-based systems (RedHat/CentOS/SUSE) are not affected by this rotation.
Note: Agent v5 uses Python 2 which reached end-of-life on January 1, 2020. Datadog recommends upgrading to Agent v7.