Memorizzazione delle credenziali utente

È possibile utilizzare IBM Cloud® Secrets Manager per memorizzare un nome utente e una password da utilizzare per accedere a un servizio protetto all'interno o all'esterno di IBM Cloud.

Le credenziali utente sono composte da valori di nome utente e password che è possibile utilizzare per accedere o accedere a un servizio o a un'applicazione esterni. Il tuo segreto viene memorizzato in modo sicuro nella tua istanza del servizio Secrets Manager dedicata. Nell'istanza, puoi gestire centralmente il suo ciclo di vita e controllare la durata del segreto impostando una data di scadenza, le politiche di rotazione automatica e altro ancora.

Nelle credenziali utente, è possibile ruotare solo il valore della password nella casella. Una volta impostato il valore del nome utente, questo non può essere modificato.

Per ulteriori informazioni sui tipi di segreti che puoi gestire in Secrets Manager, vedi Cos' è un segreto?

Prima di iniziare

Prima di iniziare, assicurati di disporre del livello di accesso richiesto. Per creare o aggiungere segreti, hai bisogno del ruolo del servizio Writer o superiore.

Aggiunta di credenziali utente nell'interfaccia utente

Per archiviare un nome utente e una password utilizzando l'IU Secrets Manager, completa la seguente procedura.

  1. Nella console, fare clic sull'icona Menu icona Menu > Elenco risorse.

  2. Dall'elenco di servizi, seleziona la tua istanza di Secrets Manager.

  3. Nella tabella Segreti, fare clic su Aggiungi.

  4. Dall'elenco dei tipi di segreti, seleziona il tile Credenziali utente.

  5. Fai clic su Next.

  6. Aggiungere un nome e una descrizione per identificare facilmente il segreto.

  7. Seleziona il gruppo di segretiL'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. che vuoi assegnare al segreto.

    Non hai un gruppo segreto? Nel campo Gruppo segreto, è possibile fare clic su Crea per fornire un nome e una descrizione per un nuovo gruppo. Il tuo segreto viene aggiunto automaticamente al nuovo gruppo. Per ulteriori informazioni sui gruppi di segreti, consulta Organizzazione dei tuoi segreti.

  8. Facoltativo: aggiungi le etichette per aiutarti a cercare segreti simili nella tua istanza.

  9. Facoltativo: aggiungi i metadati al tuo segreto o a una versione specifica del tuo segreto.

    1. Caricare un file o immettere i metadati e i metadati della versione in formato JSON.
  10. Fai clic su Next.

  11. Immettere il nome utente e la password che si desidera associare al segreto.

Se scegli di generare una password, Secrets Manager sostituisce il valore esistente con una password di 32 caratteri generata casualmente che contiene lettere maiuscole, lettere minuscole, cifre e simboli. È possibile scegliere di personalizzare ulteriormente la password generata configurandone la lunghezza (12-256 caratteri) e se includere numeri, simboli e lettere maiuscole.

  1. Facoltativo: abilitare le opzioni di scadenza e rotazione per controllare la durata del segreto.
  2. Per impostare una data di scadenza per il segreto, passare all'opzione .
  3. Per ruotare il tuo segreto a intervalli di 30, 60 o 90 giorni, passa l'opzione Rotazione automatica del segreto su .
  4. Fai clic su Next.
  5. Esaminare i dettagli del proprio segreto.
  6. Fai clic su Aggiungi.

Aggiunta delle credenziali utente dalla CLI

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

Per memorizzare un nome utente e una password utilizzando il plug-in CLI Secrets Manager, esegui il comando ibmcloud secrets-manager secret-create.

ibmcloud secrets-manager secret-create \
    --secret-name example-username-password-secret \
    --secret-description "Description of my user credentials secret" \
    --secret-type username_password \
    --secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
    --secret-labels dev,us-south \
    --username-password-username example-username \
    --username-password-password example-password \
    --secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
    --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
    --secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'

Generazione di una password casuale dalla CLI

È possibile scegliere di personalizzare ulteriormente la password generata configurandone la lunghezza (12-256 caratteri) e se includere numeri, simboli e lettere maiuscole. Per generare una password casuale utilizzando il plug-in della CLI Secrets Manager, esegui il comando ibmcloud secrets-manager secret-create e includi il campo password_generation_policy.

ibmcloud secrets-manager secret-create \
    --secret-name example-username-password-secret \
    --secret-description "Description of my user credentials secret" \
    --secret-type username_password \
    --secret-group-id bfc0a4a9-3d58-4fda-945b-76756af516aa \
    --secret-labels dev,us-south \
    --username-password-username example-username \
    --username-password-password example-password \
    --secret-rotation '{"auto_rotate": true, "interval": 10, "unit": "day"}' \
    --username-password-policy '{"length": 24, "include_digits": true, "include_symbols": false, "include_uppercase": true}' \
    --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"}' \
    --secret-version-custom-metadata '{"custom_version_key": "custom_version_value"}'

Il comando emette il valore di ID del segreto, insieme ad altri metadati. Per ulteriori informazioni relative alle opzioni del comando, consultare ibmcloud secrets-manager secret-create.

Aggiunta di credenziali utente con l'API

Puoi archiviare un nome utente e una password in modo programmatico chiamando l'API Secrets Manager.

Il seguente esempio mostra una query che puoi utilizzare per creare un segreto di nome utente e password. Quando richiami la API, sostituisci le variabili ID e il token IAM con i valori specifici della tua istanza Secrets Manager.

Puoi archiviare i metadati che sono pertinenti alle esigenze della tua organizzazione con i parametri di richiesta custom_metadata e version_custom_metadata. I valori di version_custom_metadata vengono restituiti solo per le versioni di un segreto. I metadati personalizzati del tuo segreto vengono memorizzati come tutti gli altri metadati, per un massimo di 50 versioni, e non devi includere dati riservati.

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

Generazione di una password casuale con l'API

È possibile scegliere di personalizzare ulteriormente la password generata configurandone la lunghezza (12-256 caratteri) e se includere numeri, simboli e lettere maiuscole. Quando richiedi l'API Secrets Manager includi il campo password_generation_policy.

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "example-username-password-secret",
      "description": "Description of my user credentials secret",
      "secret_type": "username_password",
      "secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
      "labels": [
        "dev",
        "us-south"
      ],
      "username": "example-username",
      "password": "example-password",
      "rotation": {
        "auto_rotate": true,
        "interval": 10,
        "unit": "day"
      },
      "password_generation_policy": {
        "length": 24,
        "include_digits": true,
        "include_symbols": false,
        "include_uppercase": true
      },
      "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"

Aggiunta di credenziali utente con Terraform

Puoi memorizzare un nome utente e una password in modo programmatico utilizzando Terraform per Secrets Manager.

Puoi fornire una password impostando l'argomento facoltativo password nella configurazione Terraform o scegliere di generare una password casuale. Se ometti l'argomento password, Secrets Manager genera una password casuale di 32 caratteri che contiene lettere maiuscole, lettere minuscole, numeri e simboli. È possibile scegliere di personalizzare ulteriormente la password generata configurandone la lunghezza (12-256 caratteri) e se includere numeri, simboli e lettere maiuscole.

Se si configura il segreto con una politica di rotazione automatica, si consiglia di omettere l'argomento password in modo che la password iniziale venga generata automaticamente. Questo per evitare una situazione di deriva di Terraform, in cui dopo la rotazione automatica, Terraform rileva che la password è stata modificata al di fuori di Terraform.

L'esempio seguente mostra una query che si può usare per creare un nome utente e una password segreti con una password generata in modo casuale e con l'abilitazione della rotazione automatica. Questo esempio mostra anche come specificare un criterio di generazione della password non predefinito per il segreto.

    resource "ibm_sm_username_password_secret" "test_username_password_secret" {
        instance_id = local.instance_id
        region = local.region
        secret_group_id = "default"
        name = "test-user-creds-secret"
        username = "sm_username"
        rotation {
            auto_rotate = true
            interval = 10
            unit = "day"
        }
        password_generation_policy {
            length = 24
            include_digits = true
            include_symbols = false
            include_uppercase = true
        }
    }

L'esempio seguente mostra una query che si può usare per creare un nome utente e una password segreti con la password fornita nella configurazione di Terraform. La rotazione automatica è disabilitata in questo esempio, ma è possibile ruotare manualmente la password modificando il valore dell'argomento password nella configurazione.

    resource "ibm_sm_username_password_secret" "test_username_password_secret" {
        instance_id = local.instance_id
        region = local.region
        secret_group_id = "default"
        name = "test-user-creds-secret"
        username = "sm_username"
        password = "sm_password"
    }

Gestite le credenziali di nome utente e password in modo dichiarativo con Terraform IBM Modules (TIM) per Secrets Manager Secret. Esplorate i moduli di Terraform IBM per i modelli.

Una risposta di successo restituisce il valore ID del segreto, insieme ad altri metadati. Per ulteriori informazioni sui parametri di richiesta obbligatori e facoltativi, consulta la Guida di riferimento API.