Verweisen auf AWS Secrets Manager Geheimnisse aus Parametern Parameter Store - AWS Systems Manager

• Das AWS Systems Manager CloudWatch Dashboard wird nach dem 30. April 2026 nicht mehr verfügbar sein. Kunden können weiterhin die CloudWatch Amazon-Konsole verwenden, um ihre CloudWatch Amazon-Dashboards anzusehen, zu erstellen und zu verwalten, so wie sie es heute tun. Weitere Informationen finden Sie in der Amazon CloudWatch Dashboard-Dokumentation.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verweisen auf AWS Secrets Manager Geheimnisse aus Parametern Parameter Store

AWS Secrets Manager hilft Ihnen dabei, wichtige Konfigurationsdaten wie Anmeldeinformationen, Passwörter und Lizenzschlüssel zu organisieren und zu verwalten. Parameter Store, ein Tool in AWS Systems Manager, ist in Secrets Manager integriert, sodass Sie Secrets Manager-Geheimnisse abrufen können, wenn Sie andere verwenden AWS-Services , die bereits Verweise auf Parameter Store Parameter unterstützen. Zu diesen Services gehören Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS),, AWS Lambda, CloudFormation AWS CodeBuild AWS CodeDeploy, und andere Systems Manager Manager-Tools. Indem Sie Parameter Store zum Verweisen auf Secrets Manager-Geheimnisse verwenden, erstellen Sie einen konsistenten und sicheren Prozess zum Aufrufen und Verwenden von Geheimnissen und zum Referenzieren von Daten in Ihrem Code und den Konfigurationsskripts.

Weitere Informationen zu Secrets Manager finden Sie unter Was ist AWS Secrets Manager? im AWS Secrets Manager Benutzerhandbuch.

Einschränkungen

Beachten Sie die folgenden Einschränkungen bei der Verwendung von Parameter Store zur Referenzierung von Secrets Manager-Geheimnissen:

  • Sie können Secrets Manager Manager-Geheimnisse nur mithilfe der GetParametersAPI-Operationen GetParameterund abrufen. Änderungsvorgänge und API-Operationen für erweiterte Abfragen, wie z. B. DescribeParametersund GetParametersByPath, werden für Secrets Manager nicht unterstützt.

  • Sie können die AWS Command Line Interface (AWS CLI), und die verwenden AWS Tools for Windows PowerShell, SDKs um ein Geheimnis abzurufen, indem Sie Parameter Store

  • Secrets Manager Secrets in Parameter Store müssen das Präfix /aws/reference/secretsmanager haben. Im Folgenden sind einige Beispiele aufgeführt:

    /aws/reference/secretsmanager/CFCreds1

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

  • Parameter Storebeachtet AWS Identity and Access Management (IAM) -Richtlinien, die mit Secrets Manager Manager-Geheimnissen verknüpft sind. Beispiel: Wenn Benutzer 1 keinen Zugriff auf Geheimnis A hat, kann er das Geheimnis nicht mithilfe von Parameter Store abrufen.

  • Parameter, die Secrets Manager-Geheimnisse referenzieren, können die Parameter Store-Versioning- oder Verlaufsfunktionen nicht verwenden.

  • Parameter Store berücksichtigt Secrets Manager Versionsstufen. Wenn Sie eine Versionsstufe referenzieren, verwendet diese Buchstaben, Zahlen, einen Punkt (.), Bindestrich (-) oder Unterstrich (_). Alle anderen Symbole, die in der Versionsstufe angegeben sind, führen dazu, dass die Referenz fehlschlägt.

Referenzieren eines Secrets Manager-Geheimnisses mit Parameter Store

Das folgende Verfahren beschreibt, wie Sie mithilfe von auf ein Secrets Manager Manager-Geheimnis verweisen können Parameter Store APIs. Das Verfahren referenziert weitere Verfahren im AWS Secrets Manager -Benutzerhandbuch.

Anmerkung

Bevor Sie beginnen, stellen Sie sicher, dass Sie über die Berechtigung zum Referenzieren von Secrets Manager-Geheimnissen in Parameter Store-Parametern verfügen. Wenn Sie über Administratorrechte in Secrets Manager und Systems Manager verfügen, können Sie mithilfe von auf Secrets verweisen oder sie abrufen Parameter Store APIs. Wenn Sie ein Secrets Manager-Geheimnis in einem Parameter Store-Parameter referenzieren und nicht über die Berechtigung für den Zugriff auf dieses Geheimnis verfügen, schlägt die Referenz fehl. Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle für AWS Secrets Manager im AWS Secrets Manager -Benutzerhandbuch.

Wichtig

Parameter Store funktioniert als Pass-Through-Service für Verweise auf Secrets Manager-Geheimnisse. Parameter Store bewahrt keine Daten oder Metadaten über Geheimnisse auf. Die Referenz ist zustandslos.

Referenzieren eines Secrets Manager-Geheimnisses mit Parameter Store
  1. Erstellen Sie ein Geheimnis in Secrets Manager. Weitere Informationen finden Sie unter Secrets erstellen und verwalten mit AWS Secrets Manager.

  2. Verwenden Sie das, oder das SDK AWS CLI AWS Tools for Windows PowerShell, um auf ein Geheimnis zu verweisen. Wenn Sie ein Secrets Manager-Geheimnis referenzieren, muss der Name mit dem folgenden reservierten Pfad beginnen: /aws/reference/secretsmanager/. Durch die Angabe dieses Pfads wird Systems Manager mitgeteilt, das Geheimnis von Secrets Manager anstelle von Parameter Store abzurufen. Hier sind einige Beispielnamen, die korrekt auf die Geheimnisse des Secrets Managers verweisen, CFCreds1 und DBPass mithilfe von Parameter Store referenzieren.

    • /aws/reference/secretsmanager/CFCreds1

    • /aws/reference/secretsmanager/DBPass

    Das folgende Java-Codebeispiel referenziert einen in Secrets Manager gespeicherten access-key und einen secret-key. In diesem Codebeispiel wird ein Amazon DynamoDB-Client eingerichtet. Der Code ruft die Konfigurationsdaten und Anmeldeinformationen von Parameter Store ab. Die Konfigurationsdaten werden als Zeichenfolgeparameter in Parameter Store und die Anmeldeinformationen in Secrets Manager gespeichert. Auch wenn die Konfigurationsdaten und Anmeldeinformationen in separaten Diensten gespeichert sind, kann auf beide Datensätze über Parameter Store mithilfe der GetParameter-API zugegriffen werden.

    /** * 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(); }

    Hier sind einige AWS CLI Beispiele. Verwenden des aws secretsmanager list-secrets-Befehls, um die Namen Ihrer Geheimnisse zu finden.

    AWS CLI Beispiel 1: Verweisen Sie mithilfe des Namens des Geheimnisses

    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

    Der Befehl gibt Informationen wie die folgenden zurück.

    {
        "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 Beispiel 2: Referenz, die die Versions-ID enthält

    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

    Der Befehl gibt Informationen wie die folgenden zurück.

    {
        "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 Beispiel 3: Referenz, die die Versionsphase enthält

    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

    Der Befehl gibt Informationen wie die folgenden zurück.

    {
        "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",
    }