IBM Cloud Docs
Creazione di segreti di credenziali personalizzati

Creazione di segreti di credenziali personalizzati

Il tipo di segreto delle credenziali personalizzate consente agli utenti di IBM Cloud® Secrets Manager di gestire in modo sicuro le credenziali per i sistemi esterni (come Artifactory o PagerDuty ) tramite le API e le integrazioni di Secrets Manager. Per creare questi segreti, si distribuisce un lavoro IBM Cloud® Code Engine che funge da ponte tra Secrets Manager e il servizio esterno. Questi lavori vengono eseguiti in base a una pianificazione fissa e gestiscono le credenziali in modo asincrono utilizzando task segreti.

Il processo di creazione delle credenziali personalizzate è asincrono. Quando si aggiunge un nuovo segreto, questo entra inizialmente in uno stato di pre-attivazione. Se il segreto viene creato con successo nel fornitore di credenziali esterno, il suo stato diventa automaticamente attivo all'interno di Secrets Manager.

Il processo di creazione dei segreti delle credenziali personalizzate è asincrono. Dopo l'aggiunta di un segreto, questo inizia nello stato pre-activation e, se creato con successo nel fornitore di credenziali, il suo stato cambia in active in Secrets Manager.

Prima di iniziare

Prima di iniziare, assicuratevi di avere:

Creazione di un segreto delle credenziali personalizzato nella console

Per aggiungere un segreto:

  1. Nella tabella Segreti, fare clic su Aggiungi.
  2. Dall'elenco dei tipi di segreto, fare clic sul riquadro Credenziali personalizzate.
  3. Fai clic su Next.
  4. Aggiungete un nome e una descrizione per identificare facilmente il vostro segreto.
  5. Selezionare il gruppo segretoL'ambiente e i vincoli che contengono segreti in un'istanza devono essere conformi. Un utente può essere associato a un gruppo segreto per consentire l'accesso e la collaborazione. precedentemente creato.
  6. Opzionale: Aggiungere etichette per facilitare la ricerca di segreti simili nella propria istanza.
  7. Opzionale: Aggiungere metadati al segreto o a una versione specifica del segreto.
    1. Caricare un file o inserire i metadati e i metadati della versione in formato JSON.
  8. Fai clic su Next.
  9. Selezionare la configurazione del motore delle credenziali personalizzato da utilizzare per questo segreto.
  10. Inserire i valori richiesti in Parametri.
  11. Fai clic su Next.
  12. Opzionale: Attivare la durata minima e la rotazione automatica del segreto.
  13. Fai clic su Next.
  14. Rivedete i dettagli del vostro segreto.
  15. Fai clic su Aggiungi.

È possibile modificare il valore dei parametri in un secondo momento. La modifica avviene dopo la creazione di una nuova versione segreta. Non è possibile aggiungere o sottrarre nuovi parametri senza creare una nuova configurazione.

Visualizzazione e aggiornamento dei dettagli del segreto nella console

Come per qualsiasi altro segreto, puoi accedere ai dettagli del tuo segreto cliccando sull'icona Azioni del menu Azioni > Dettagli. Dalle schermate dei dettagli, è possibile ottenere informazioni su:

Creazione di un segreto di credenziali personalizzato da CLI

Prima di iniziare, seguire la documentazione della CLI per impostare l'endpoint API.

Per creare un segreto delle credenziali personalizzato utilizzando il plug-in Secrets Manager CLI, eseguire il comando ibmcloud secrets-manager secret-create il comando.

ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-paramters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'

Creazione di un segreto di credenziali personalizzato tramite API

È possibile creare una credenziale personalizzata in modo programmatico chiamando l'API Secrets Manager. Quando si chiama l'API, sostituire le variabili ID e il token IAM con i valori specifici dell'istanza Secrets Manager.

Con i parametri di richiesta custom_metadata e version_custom_metadata è possibile memorizzare i metadati rilevanti per le esigenze dell'organizzazione. I valori di version_custom_metadata vengono restituiti solo per le versioni di un segreto. I metadati personalizzati del vostro segreto vengono memorizzati come tutti gli altri metadati, per un massimo di 50 versioni, e non devono includere dati riservati.

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "example-custom-credential-secret",
      "description": "Description of my custom credential secret",
      "secret_type": "custom_credentials",
      "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
      "labels": [
        "dev",
        "us-south"
      ],
      "rotation": {
        "auto_rotate": true,
        "interval": 30,
        "unit": "day"
      },
      "configuration": "my_custom_credential_config",
      "parameters": {
        "user_name": "username",
        "scope": "admin"
      },
      "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"

Creare un segreto di credenziali personalizzato utilizzando Terraform

È possibile creare segreti di credenziali personalizzati in modo programmatico utilizzando Terraform per Secrets Manager. L'esempio seguente mostra una configurazione che può essere utilizzata per creare un segreto di credenziali personalizzato.

La creazione di segreti di credenziali personalizzati è un processo asincrono che potenzialmente può richiedere molto tempo a seconda del caso d'uso, pertanto quando si pianifica l'uso di Terraform si devono considerare i potenziali ritardi.

resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
  instance_id   = ibm_resource_instance.sm_instance.guid
  region        = "us-south"
  name 			= "secret-name"
  secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
  custom_metadata = {"key":"value"}
  description = "Extended description for this secret."
  labels = ["my-label"]
  configuration = "my_custom_credentials_configuration"
  parameters {
    int_values = {
        example_param_1 = 17
    }
    string_values = {
        example_param_2 = "str2"
        example_param_3 = "str3"
    }
    bool_values = {
        example_param_4 = false
    }
  }
  rotation {
      auto_rotate = true
      interval = 3
      unit = "day"
  }
  ttl = "864000"
}