Riferimenti ai AWS Secrets Manager segreti di Parameter Store parametri - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimenti ai AWS Secrets Manager segreti di Parameter Store parametri

AWS Secrets Manager ti aiuta a organizzare e gestire importanti dati di configurazione come credenziali, password e chiavi di licenza. Parameter Store, una funzionalità di AWS Systems Manager, è integrata con Secrets Manager in modo da consentirti di recuperare i segreti in Secrets Manager durante l'utilizzo di altri Servizi AWS che già supportano i riferimenti Parameter Store parametri. Questi servizi includono Amazon Elastic Compute Cloud (AmazonEC2), Amazon Elastic Container Service (AmazonECS),, AWS Lambda, AWS CloudFormation, AWS CodeBuild AWS CodeDeploy, e altre funzionalità di Systems Manager. Avvalendoti Parameter Store per fare riferimento a segreti di Secrets Manager, configura un processo coerente e sicuro per la chiamata e l'utilizzo di segreti e dati di riferimento in script di configurazione e codice.

Per maggiori informazioni su Secrets Manager, vedi Cos'è AWS Secrets Manager? nella Guida AWS Secrets Manager per l'utente.

Restrizioni

Sono valide le seguenti limitazioni durante l'utilizzo Parameter Store per fare riferimento ai segreti di Secrets Manager:

  • È possibile recuperare i segreti di Secrets Manager solo utilizzando le GetParametersAPIoperazioni GetParameterand. Le operazioni di modifica e le API operazioni di interrogazione avanzate, come DescribeParameterse GetParametersByPath, non sono supportate per Secrets Manager.

  • È possibile utilizzare AWS Command Line Interface (AWS CLI) e the SDKs per recuperare un segreto utilizzando AWS Tools for Windows PowerShellParameter Store.

  • Segreti di Secrets Manager in Parameter Store deve avere il prefisso di. /aws/reference/secretsmanager Di seguito vengono mostrati gli esempi:

    /aws/reference/secretsmanager/CFCreds1

    /aws/reference/secretsmanager/myapp/db/password

  • Parameter Store rispetta AWS Identity and Access Management (IAM) le policy collegate ai segreti di Secrets Manager. Ad esempio, se l'Utente 1 non ha accesso al Segreto A, l'Utente 1 non può recuperare il Segreto A utilizzando Parameter Store.

  • Parametri che fanno riferimento a segreti di Secrets Manager non ammettono l'utilizzo di Parameter Store funzionalità di controllo delle versioni o di cronologia.

  • Parameter Store rispetta le fasi delle versioni Secrets Manager. Nel caso di riferimento a una fase di versione, sono ammessi numeri, lettere, un punto (.), un trattino (-) o un trattino basso (_). Eventuali altri simboli specificati nella fase della versione comportano l'esito negativo del tentativo di riferimento.

Come fare riferimento a un segreto di Secrets Manager Parameter Store

La procedura riportata di seguito illustra come fare riferimento a un segreto di Secrets Manager Parameter Store APIs. La procedura fa riferimento ad altre procedure riportate nella Guida per l'utente di AWS Secrets Manager .

Nota

Prima di iniziare, verifica di disporre dell'autorizzazione necessaria per fare riferimento a segreti di Secrets Manager Parameter Store parametri. Se si dispone delle autorizzazioni di amministratore in Secrets Manager e Systems Manager, è possibile fare riferimento ai segreti o recuperarli con Parameter Store APIs. Se si fa riferimento a un segreto di Secrets Manager in Parameter Store parametro, e non si dispone dell'autorizzazione di accesso al segreto, quindi il tentativo di riferimento ha esito negativo. Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi AWS Secrets Manager nella Guida per l'utente di AWS Secrets Manager .

Importante

Parameter Store funge da servizio di trasferimento per i riferimenti ai segreti di Secrets Manager. Parameter Store non conserva dati o metadati relativi ai segreti. Il riferimento è stateless.

Per fare riferimento a un segreto di Secrets Manager Parameter Store
  1. Creazione di un segreto in Secrets Manager. Per ulteriori informazioni, consulta Creare e gestire segreti con AWS Secrets Manager.

  2. Fai riferimento a un segreto utilizzando AWS CLI AWS Tools for Windows PowerShell, o ilSDK. Quando si fa riferimento a un segreto di Secrets Manager, il nome del parametro deve iniziare con il seguente percorso riservato: /aws/reference/secretsmanager/. Una volta specificato questo percorso, Systems Manager è in condizione di recuperare il segreto da Secrets Manager invece che Parameter Store. Ecco alcuni esempi di nomi che fanno riferimento correttamente ai segreti di Secrets Manager CFCreds1 e DBPass Parameter Store.

    • /aws/reference/secretsmanager/CFCreds1

    • /aws/reference/secretsmanager/DBPass

    Ecco un esempio di codice Java che fa riferimento a una chiave di accesso e a una chiave segreta archiviate in Secrets Manager. Questo codice esemplificativo configura un client Amazon DynamoDB. Il codice recupera i dati e le credenziali di configurazione da Parameter Store. I dati di configurazione sono archiviati come parametro di stringa Parameter Store e le credenziali sono archiviate in Secrets Manager. Anche se archiviati in servizi diversi, entrambi i set di dati possono essere fruiti accedendo da Parameter Store utilizzando il. GetParameter API

    /** * Initialize Systems Manager client with default credentials */ AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient(); ... /** * Example method to launch DynamoDB client with credentials different from default * @return DynamoDB client */ AmazonDynamoDB getDynamoDbClient() { //Getting AWS credentials from Secrets Manager using GetParameter BasicAWSCredentials differentAWSCreds = new BasicAWSCredentials( getParameter("/aws/reference/secretsmanager/access-key"), getParameter("/aws/reference/secretsmanager/secret-key")); //Initialize the DynamoDB client with different credentials final AmazonDynamoDB client = AmazonDynamoDBClient.builder() .withCredentials(new AWSStaticCredentialsProvider(differentAWSCreds)) .withRegion(getParameter("region")) //Getting configuration from Parameter Store .build(); return client; } /** * Helper method to retrieve parameter value * @param parameterName identifier of the parameter * @return decrypted parameter value */ public GetParameterResult getParameter(String parameterName) { GetParameterRequest request = new GetParameterRequest(); request.setName(parameterName); request.setWithDecryption(true); return ssm.newGetParameterCall().call(request).getParameter().getValue(); }

    Ecco alcuni AWS CLI esempi. Utilizza il comando aws secretsmanager list-secrets per trovare i nomi dei tuoi segreti.

    AWS CLI Esempio 1: fare riferimento utilizzando il nome del segreto

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret ^ --with-decryption

    Il comando restituisce informazioni simili alle seguenti.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"aaabbbccc-1111-222-333-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "LastModifiedDate": 2018-05-14T21:47:14.743Z,
            "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
          }
    }

    AWS CLI Esempio 2: riferimento che include l'ID della versione

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 ^ --with-decryption

    Il comando restituisce informazioni simili alle seguenti.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "Selector": ":11111-aaa-bbb-ccc-123456789"
          }
            "LastModifiedDate": 2018-05-14T21:47:14.743Z,
            "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
    }
    

    AWS CLI Esempio 3: Riferimento che include la fase della versione

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT ^ --with-decryption

    Il comando restituisce informazioni simili alle seguenti.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "Selector": ":AWSCURRENT"
          }
          "LastModifiedDate": 2018-05-14T21:47:14.743Z,
          "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                    E18LRP",
    }