SSL / TLS Zertifikate importieren
Sie können IBM Cloud® Secrets Manager verwenden, um SSL / TLS Zertifikate zu importieren, die Sie für Ihre Anwendungen oder Dienste verwenden können.
Ein SSL/TLS-Zertifikat ist ein digitaler Zertifikatstyp, der verwendet wird, um die Kommunikation zwischen einem Server und einem Client zu schützen. Zertifikate werden von Zertifizierungsstellen(CA)Eine anerkannte Drittorganisation oder ein anerkanntes Drittunternehmen, das die digitalen Zertifikate ausgibt. Die Zertifizierungsstelle überprüft standardmäßig die Identität der Einzelpersonen, denen das eindeutige Zertifikat gewährt wird. ausgestellt und enthalten Informationen, die zum Aufbau vertrauenswürdiger und sicherer Verbindungen zwischen Endpunkten verwendet werden. Nachdem Sie Ihrem Secrets Manager-Instanz hinzugefügt haben, können Sie es verwenden, um die Netzkommunikation für Ihre Cloud- oder On-Premises-Bereitstellungen zu schützen. Ihr Zertifikat wird sicher in Ihrer dedizierten Secrets Manager-Serviceinstanz gespeichert, in der Sie den Lebenszyklus zentral verwalten können.
In Secrets Manager sind Zertifikate, die Sie in den Dienst importieren, importierte Zertifikate (imported_cert). Zertifikate, die Sie über Secrets Manager bei einer dritten Zertifizierungsstelle bestellen, sind öffentliche Zertifikate (public_cert). Zertifikate, die Sie mit Hilfe einer privaten Zertifizierungsstelle erstellen, sind private Zertifikate (private_cert).
Weitere Informationen über die Arten von Geheimnissen, die Sie in Secrets Manager verwalten können, finden Sie unter Was ist ein Geheimnis?
Vorbereitende Schritte
Bevor Sie beginnen, müssen Sie prüfen, ob Sie über die erforderliche Zugriffsebene verfügen. Zum Erstellen oder Hinzufügen von geheimen Schlüsseln benötigen Sie die Servicerolle Schreibberechtigter oder eine Rolle mit größerem Berechtigungsumfang.
Bevor Sie ein Zertifikat importieren, müssen Sie Folgendes sicherstellen:
- Erstellen Sie ein X.509-konformes Zertifikat mit einem übereinstimmenden privaten Schlüssel (optional).
- Konvertieren Sie Ihre Dateien in das Format "Privacy-enhanced electronic mail" ( PEM ).
- Lassen Sie den privaten Schlüssel unverschlüsselt, um sicherzustellen, dass er in Secrets Manager importiert werden kann.
Vorhandene Zertifikate importieren
Sie können Secrets Manager verwenden, um Zertifikatsdateien zu speichern, die von externen Zertifizierungsstellen signiert und ausgegeben werden. Nachdem Sie Ihre Zertifikatsdateien importiert haben, können Sie das Zertifikat in Ihren Apps und Services bereitstellen, das Zertifikat herunterladen oder manuell einen turnusmäßigen Wechsel vornehmen, wenn es Zeit für die Erneuerung ist.
Zertifikate in der Benutzerschnittstelle importieren
Sie können ein vorhandenes Zertifikat mithilfe der Benutzerschnittstelle von Secrets Manager importieren.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
-
Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
-
Klicken Sie auf Weiter.
-
Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihren geheimen Schlüssel leicht identifizieren zu können.
-
Wählen Sie die Gruppe geheimer Schlüssel aus, die Sie dem geheimen Schlüssel zuordnen möchten.
Haben Sie noch keine Gruppe geheimer Schlüssel? Im Feld Gruppe geheimer Schlüssel können Sie auf Erstellen klicken, um einen Namen und eine Beschreibung für eine neue Gruppe anzugeben. Ihr geheimer Schlüssel wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie im Abschnitt zum Organisieren Ihrer geheimen Schlüssel.
-
Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
-
Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu.
- Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
-
Klicken Sie auf Weiter.
-
Wählen Sie die Kachel "Zertifikat importieren " aus.
-
Wählen Sie eine Zertifikatsdatei aus oder geben Sie ihren Wert ein.
Sie können nicht abgelaufene X.509-Zertifikatsdateien, die im PEM-Format vorliegen, speichern. Wenn Sie mit Zertifikaten arbeiten, die in einem anderen Format vorliegen, können Sie Befehlszeilenprogramme verwenden, um Ihre Zertifikate in .pem zu konvertieren. Weitere Informationen finden Sie unter Warum kann ich mein Zertifikat nicht importieren?
- Optional: Wählen Sie eine private Schlüsseldatei aus oder geben Sie ihren Wert ein.
Wenn Sie einen privaten Schlüssel speichern möchten, müssen Sie sicherstellen, dass er mit Ihrem Zertifikat übereinstimmt. Der private Schlüssel muss unverschlüsselt sein, bevor Sie ihn in den Service importieren können.
- Optional: Wählen Sie eine temporäre Zertifikatsdatei aus oder geben Sie ihren Wert ein.
- Klicken Sie auf Weiter.
- Überprüfen Sie die Details Ihres Zertifikats.
- Klicken Sie auf Hinzufügen.
Zertifikate aus der Befehlszeilenschnittstelle importieren
Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.
Wenn Sie ein Zertifikat mithilfe des Secrets Manager-CLI-Plug-ins importieren möchten, führen Sie den Befehl ibmcloud secrets-manager secret-create aus. Zum Beispiel importiert der folgende Befehl ein Zertifikat zusammen mit seinem privaten Schlüssel und dem Zwischenzertifikat.
Sie können Zertifikatsdateien im Format .pem importieren. Sie müssen Ihre PEM-Dateien in ein einzeiliges Format konvertieren, sodass sie von der Secrets
Manager-Befehlszeilenschnittstelle richtig geparst werden können.
certificate=$(cat cert.pem)
private_key=$(cat key.pem)
ibmcloud secrets-manager secret-create --secret-name example-imported-cert-secret --secret-type imported_cert --imported-cert-certificate ${certificate} --imported-cert-private-key ${private_key}
Der Befehl gibt den ID-Wert des geheimen Schlüssels zusammen mit anderen Metadaten aus. Weitere Informationen zu den Befehlsoptionen finden Sie in ibmcloud secrets-manager secret-create.
Zertifikate mit der API bestellen
Sie können Zertifikate programmgesteuert importieren, indem Sie die Secrets Manager-API aufrufen.
Das folgende Beispiel zeigt eine Abfrage, die Sie zum Importieren eines vorhandenen Zertifikats verwenden können. Wenn Sie die API aufrufen, müssen Sie die ID-Variablen und das IAM-Token durch die Werte ersetzen, die für Ihre Secrets Manager-Instanz spezifisch sind.
Sie können Metadaten, die für die Anforderungen Ihrer Organisation relevant sind, mit den Anforderungsparametern custom_metadata und version_custom_metadata speichern. Werte von version_custom_metadata werden nur für die Versionen eines geheimen Schlüssels zurückgegeben. Die angepassten Metadaten Ihres geheimen Schlüssels werden wie alle anderen Metadaten für bis zu 50 Versionen gespeichert und Sie dürfen keine vertraulichen Daten einschließen.
Sie können Zertifikatsdateien im Format .pem importieren. Sie müssen Ihre PEM-Dateien in ein einzeiliges Format konvertieren, sodass sie von der Secrets
Manager-API richtig geparst werden können.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-imported-certificate",
"description": "description of my imported certificate.",
"secret_type": "imported_cert",
"secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
"labels": [
"dev",
"us-south"
],
"certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
"intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----",
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Eine erfolgreiche Antwort gibt den ID-Wert für den geheimen Schlüssel zusammen mit anderen Metadaten zurück. Weitere Informationen über die erforderlichen und optionalen Anfrageparameter finden Sie unter Erstellen eines Geheimnisses.
Zertifikate mit Terraform importieren
Sie können Zertifikate programmgesteuert importieren, indem Sie Terraform für Secrets Managerverwenden.
Das folgende Beispiel zeigt eine Abfrage, die Sie zum Importieren eines vorhandenen Zertifikats verwenden können.
resource "ibm_sm_imported_certificate" "sm_imported_certificate" {
instance_id = local.instance_id
region = local.region
name = "test-imported-certificate"
secret_group_id = "default"
certificate = file("path_to_certificate_file")
intermediate = file("path_to_intermediate_certificate_file")
private_key = file("path_to_private_key_file")
}
Verwalten Sie importierte Zertifikate effizient mit Terraform IBM Modules (TIM) für Secrets Manager Secret für deklaratives Infrastrukturmanagement. Lesen Sie die Terraform IBM Module Dokumentation.
Zertifikatssignieranforderung erstellen
Sie können ein importiertes Zertifikatsgeheimnis verwenden, um eine Zertifikatsignierungsanforderung (CSR) zu generieren, die Sie dann extern bei Ihrer Zertifizierungsstelle signieren und wieder zu Ihrem importierten Zertifikatsgeheimnis hinzufügen können.
Das importierte Zertifikatsgeheimnis wird im Status "Voraktivierung " erstellt. Um es zu aktivieren, sollten Sie die CSR-Datei herunterladen, sie mit Ihrer Zertifizierungsstelle signieren und das signierte Zertifikat
wieder als neue geheime Version hinzufügen.
Erstellen von Zertifikatsignierungsanfragen in der Benutzeroberfläche
Sie können eine Zertifikatsignierungsanforderung über die Benutzeroberfläche Secrets Manager erstellen.
-
Klicken Sie in der Konsole auf das Symbol Menü
> Ressourcenliste.
-
Wählen Sie in der Liste der Services Ihre Instanz von Secrets Manager aus.
-
Klicken Sie in der Tabelle Geheime Schlüssel auf Hinzufügen.
-
Klicken Sie in der Liste der Geheimnistypen auf die Kachel Importiertes Zertifikat.
-
Klicken Sie auf Weiter.
-
Fügen Sie einen Namen und eine Beschreibung hinzu, um Ihren geheimen Schlüssel leicht identifizieren zu können.
-
Wählen Sie die geheime GruppeDie Umgebung und die Bedingungen, denen die enthaltenen geheimen Schlüssel in einer Instanz entsprechen müssen. Ein Benutzer kann einer Gruppe geheimer Schlüssel zugeordnet werden, um den Zugriff und die Zusammenarbeit zu ermöglichen. , die Sie dem Geheimnis zuordnen möchten.
Haben Sie noch keine Gruppe geheimer Schlüssel? Im Feld Gruppe geheimer Schlüssel können Sie auf Erstellen klicken, um einen Namen und eine Beschreibung für eine neue Gruppe anzugeben. Ihr geheimer Schlüssel wird automatisch zur neuen Gruppe hinzugefügt. Weitere Informationen zu Gruppen geheimer Schlüssel finden Sie im Abschnitt zum Organisieren Ihrer geheimen Schlüssel.
-
Optional: Fügen Sie Bezeichnungen hinzu, die Ihnen helfen, nach ähnlichen geheimen Schlüsseln in Ihrer Instanz zu suchen.
-
Optional: Fügen Sie Ihrem geheimen Schlüssel oder einer bestimmten Version Ihres geheimen Schlüssels Metadaten hinzu.
Laden Sie eine Datei hoch oder geben Sie die Metadaten und die Versionsmetadaten im JSON-Format ein.
-
Klicken Sie auf Weiter.
-
Wählen Sie die Kachel "Zertifikatssignierungsanforderung (CSR) erstellen" aus.
-
Fügen Sie einen allgemeinen Namen hinzu.
-
Optional: Fügen Sie Betreffzeilen hinzu.
-
Optional: Wählen Sie einen Schlüsselalgorithmus aus. Wenn nicht ausgewählt, wird RSA als Standard verwendet.
-
Optional: Wählen Sie eine Zertifikatsrolle aus.
-
Klicken Sie auf Weiter.
-
Überprüfen Sie die Details Ihrer Zertifikatsignierungsanforderung.
-
Klicken Sie auf Hinzufügen.
Aktualisieren und Herunterladen der Zertifikatsignierungsanfragen in der Benutzeroberfläche
-
Klicken Sie in der Zeile des Geheimnisses, das Sie aktualisieren möchten, auf das Menü Aktionen
> Details.
-
Verwenden Sie auf der Seite "Details" die Registerkarte "Verwaltete CSR ", um die Felder für die Zertifikatsignierungsanforderung zu bearbeiten.
Wenn Sie den allgemeinen Namen oder alternative Namen des Zertifikatsinhabers aktualisieren, lassen Sie mindestens einen der Namen unverändert, damit der Zertifikatsinhaber konsistent bleibt.
-
Klicken Sie auf "Aktualisieren".
-
Öffnen Sie das geheime Register "Verwaltete CSR" und klicken Sie auf "CSR herunterladen ", um die Datei mit der Zertifikatsignierungsanforderung herunterzuladen.
Mit der Datei für die Zertifikatsignierungsanforderung in der Hand sollten Sie sich an Ihre Zertifizierungsstelle für Signaturen wenden und Ihre CSR-Datei signieren, um das signierte Zertifikat zu erhalten.
Hinzufügen des signierten Zertifikats zur Benutzeroberfläche
Fügen Sie die signierte Zertifikatsdatei wieder zu Ihrem Geheimnis in Ihrer Secrets Manager-Instanz hinzu, indem Sie den in Manuelles Rotieren importierter Zertifikate mit verwalteter CSR beschriebenen Prozess verwenden.
Erstellen von Zertifikatsignierungsanfragen mit der API
Sie können eine Zertifikatsignierungsanforderung programmgesteuert erstellen, indem Sie die API Secrets Manager aufrufen.
Wenn Sie die API aufrufen, müssen Sie die ID-Variablen und das IAM-Token durch die Werte ersetzen, die für Ihre Secrets
Manager-Instanz spezifisch sind.
Sie können Metadaten, die für die Anforderungen Ihrer Organisation relevant sind, mit den Anforderungsparametern custom_metadata und version_custom_metadata speichern. Werte von version_custom_metadata werden nur für die Versionen eines geheimen Schlüssels zurückgegeben. Die angepassten Metadaten Ihres geheimen Schlüssels werden wie alle anderen Metadaten für bis zu 50 Versionen gespeichert und Sie dürfen keine vertraulichen Daten einschließen.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-csr",
"description": "description of my csr.",
"secret_type": "imported_cert",
"secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
"labels": [
"dev",
"us-south"
],
"managed_csr": {
"require_cn": true,
"common_name": "example.com",
"ip_sans": "127.0.0.1",
"uri_sans": "https://www.example.com/test",
"other_sans": "2.5.4.5;UTF8:*.example.com",
"exclude_cn_from_sans": false
},
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Eine erfolgreiche Antwort gibt den ID-Wert für den geheimen Schlüssel zusammen mit anderen Metadaten zurück. Weitere Informationen über die erforderlichen und optionalen Anfrageparameter finden Sie unter Erstellen eines Geheimnisses.
Aktualisieren und Herunterladen der Zertifikatsignierungsanfragen mit der API
Sie können ein Zertifikatssignierungsanforderungsprogramm aktualisieren, indem Sie die API Secrets Manager aufrufen.
Wenn Sie die API aufrufen, müssen Sie die ID-Variablen und das IAM-Token durch die Werte ersetzen, die für Ihre Secrets
Manager-Instanz spezifisch sind.
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-csr",
"description": "description of my csr.",
"secret_type": "imported_cert",
"secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
"labels": [
"dev",
"us-south"
],
"managed_csr": {
"alt_names": "alt1"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
Eine erfolgreiche Antwort gibt den ID-Wert für den geheimen Schlüssel zusammen mit anderen Metadaten zurück. Weitere Informationen über die erforderlichen und optionalen Anfrageparameter finden Sie unter Erstellen eines Geheimnisses.
Hinzufügen des signierten Zertifikats über die API
Fügen Sie die signierte Zertifikatsdatei wieder zu Ihrem Geheimnis in Ihrer Secrets Manager-Instanz hinzu, indem Sie den unter Manuelles Rotieren importierter Zertifikate beschriebenen Prozess verwenden.
Erstellen von Zertifikatsignierungsanfragen über die Befehlszeilenschnittstelle
Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.
Um eine Zertifikatssignierungsanforderung mit dem Secrets Manager CLI-Plugin zu erstellen, führen Sie den ibmcloud secrets-manager secret-create befehl aus. Der folgende Befehl erstellt beispielsweise eine Zertifikatsignierungsanforderung mit der Option --imported-cert-managed-csr, um das Feld common_name mit dem Wert example.com. Eine vollständige
Liste der unterstützten optionalen Betreffzeilen finden Sie in den API-Dokumenten von Secrets Manager.
ibmcloud secrets-manager secret-create --secret-name example-imported-cert-csr-secret --secret-type imported_cert --imported-cert-managed-csr '{"common_name":"example.com"}'
Aktualisieren und Herunterladen der Zertifikatsignierungsanfragen von der CLI
Bevor Sie beginnen, folgen Sie den CLI-Dokumenten, um Ihren API-Endpunkt festzulegen.
Um eine Zertifikatsignierungsanforderung mithilfe des CLI-Plug-ins Secrets Manager zu aktualisieren, führen Sie den ibmcloud secrets-manager secret-metadata-update befehl aus. Zum Beispiel aktualisiert der folgende Befehl eine Zertifikatsignierungsanforderung mit der Option --imported-cert-managed-csr, um das Feld alt_names mit dem Wert alt1. Eine vollständige
Liste der unterstützten optionalen Betreffzeilen finden Sie in den API-Dokumenten von Secrets Manager.
ibmcloud secrets-manager secret-metadata-update --id SECRET_ID --imported-cert-managed-csr '{"alt_names":"alt1"}'
Um die Zertifikatsignierungsanforderung mithilfe des CLI-Plug-ins Secrets Manager zu erhalten, führen Sie den ibmcloud secrets-manager secret-metadata befehl aus.
ibmcloud secrets-manager secret-metadata --id SECRET_ID
Hinzufügen des signierten Zertifikats von der CLI
Fügen Sie die signierte Zertifikatsdatei wieder zu Ihrem Geheimnis in Ihrer Secrets Manager-Instanz hinzu, indem Sie den unter Manuelles Rotieren importierter Zertifikate beschriebenen Prozess verwenden.