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.
Verweise auf AWS Secrets Manager Geheimnisse von Parameter Store Parameter
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. Zu diesen Services gehören Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), AWS Lambda, AWS CloudFormation, AWS CodeBuild AWS CodeDeploy, und andere Systems Manager Manager-Tools. Durch die Verwendung von Parameter Store Um Secrets Manager Manager-Geheimnisse zu referenzieren, erstellen Sie einen konsistenten und sicheren Prozess für den Aufruf und die Verwendung von Geheimnissen und Referenzdaten in Ihrem Code und Ihren Konfigurationsskripten.
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 Parameter Store um Secrets Manager zu referenzieren:
-
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 Manager-Geheimnisse in Parameter Store muss ein Präfix von haben
/aws/reference/secretsmanager
. Im Folgenden sind einige Beispiele aufgeführt:/aws/reference/secretsmanager/CFCreds1
/aws/reference/secretsmanager/myapp/db/password
-
Parameter Store beachtet AWS Identity and Access Management (IAM) -Richtlinien, die mit Secrets Manager Manager-Geheimnissen verknüpft sind. Wenn Benutzer 1 beispielsweise keinen Zugriff auf Secret A hat, kann Benutzer 1 Secret A nicht abrufen, indem Parameter Store.
-
Parameter, die auf Secrets Manager Manager-Geheimnisse verweisen, können das nicht verwenden Parameter Store Funktionen zur Versionierung oder zum Verlauf.
-
Parameter Store berücksichtigt Secrets Manager Manager-Versionsphasen. 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.
So verweisen Sie auf ein Secrets Manager Manager-Geheimnis, indem Sie Parameter Store
Das folgende Verfahren beschreibt, wie Sie auf ein Secrets Manager Manager-Geheimnis verweisen, indem Sie Parameter Store APIs. Das Verfahren verweist auf andere Verfahren im AWS Secrets Manager Benutzerhandbuch.
Anmerkung
Bevor Sie beginnen, stellen Sie sicher, dass Sie berechtigt sind, Secrets Manager zu referenzieren in Parameter Store Parameter. Wenn Sie Administratorrechte in Secrets Manager und Systems Manager haben, können Sie Secrets referenzieren oder abrufen, indem Sie Parameter Store APIs. Wenn Sie in einem auf ein Secrets Manager Manager-Geheimnis verweisen Parameter Store Parameter und Sie sind nicht berechtigt, auf dieses Geheimnis zuzugreifen, 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 fungiert als Pass-Through-Service für Verweise auf Secrets Manager Manager-Geheimnisse. Parameter Store speichert keine Daten oder Metadaten über Geheimnisse. Die Referenz ist zustandslos.
Um auf ein Secrets Manager Manager-Geheimnis zu verweisen, verwenden Sie Parameter Store
-
Erstellen Sie ein Geheimnis in Secrets Manager. Weitere Informationen finden Sie unter Secrets erstellen und verwalten mit AWS Secrets Manager.
-
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 weiß Systems Manager, dass das Geheimnis aus Secrets Manager abgerufen werden kann, anstatt Parameter Store. Hier sind einige Beispielnamen, die korrekt auf die Secrets Manager Manager-Geheimnisse verweisenDBPass
,CFCreds1
und, Parameter Store.-
/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 Konfigurationsdaten und Anmeldeinformationen von ab Parameter Store. Die Konfigurationsdaten werden als Zeichenkettenparameter gespeichert in Parameter Store und die Anmeldeinformationen werden in Secrets Manager gespeichert. Obwohl die Konfigurationsdaten und Anmeldeinformationen in separaten Diensten gespeichert werden, kann auf beide Datensätze von zugegriffen werden Parameter Store mithilfe der
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(); }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
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
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
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", }
-