如何使用Boto3从AWS Secret Manager中的特定位置获取密钥的详细信息

如何使用Boto3从AWS Secret Manager中的特定位置获取密钥的详细信息

AWS Secret Manager 可以存储和检索任何机密,包括 API 密钥,数据库凭据和其他敏感数据。Boto3是AWS Python SDK,它允许您使用Python中的AWS服务。

下面将介绍如何使用Boto3从AWS Secret Manager中的特定位置获取密钥的详细信息。

阅读更多:Python 教程

步骤1 – 创建AWS Secret Manager

首先,需要使用AWS Secret Manager创建机密。

下面是一个示例,展示如何在AWS Secret Manager中创建名为”my_secret_key”的机密。

import boto3

# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')

# 创建机密
response = client.create_secret(
    Name='my_secret_key',
    SecretString='my_secret_key_value'
)

步骤2 – 从AWS Secret Manager中获取密钥

有两种方法可以从AWS Secret Manager中获取密钥的详细信息 – 通过机密名称或ARN。

通过机密名称获取密钥

使用机密名称获取密钥的详细信息:

import boto3

# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')

# 通过机密名称获取密钥详细信息
response = client.get_secret_value(
    SecretId='my_secret_key'
)

# 输出密钥的值
print(response['SecretString'])

运行上面的代码将输出:

my_secret_key_value

通过ARN获取密钥

使用ARN获取密钥的详细信息:

import boto3

# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')

# 获取AWS Secret Manager ARN值
response = client.describe_secrets(
    Filters=[
        {
            'Name': 'name',
            'Values': [
                'my_secret_key',
            ]
        }
    ]
)

# 获取密钥详细信息
response = client.get_secret_value(
    SecretId=response['SecretList'][0]['ARN']
)

# 输出密钥值
print(response['SecretString'])

运行上面的代码将输出:

my_secret_key_value

步骤3 – 获取密钥的所有属性

以下代码显示如何获取秘密的所有属性。

import boto3
import json

# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')

# 通过机密名称获取机密信息
response = client.describe_secret(
    SecretId='my_secret_key'
)

# 输出所有属性
print(json.dumps(response, indent=2))

输出结果展示了密钥的所有属性和详细信息:

{
  "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:my_secret_key-Z5H7EL",
  "Name": "my_secret_key",
  "CreatedDate": "2022-02-03T06:41:07.888000+00:00",
  "VersionIdsToStages": {
    "EXAMPLE3-1Z22ZXY": [
      "AWSPREVIOUS"
    ],
    "EXAMPLE1-90Q8RZ": [
      "AWSCURRENT"
    ]
  },
  "SecretVersionsToStages": {
    "EXAMPLE3-1Z22ZXY": [
      "AWSPREVIOUS"
    ],
    "EXAMPLE1-90Q8RZ": [
      "AWSCURRENT"
    ]
  },
  "Tags": [
    {
      "Key": "Environment",
      "Value": "Test"
    }
  ],
  "SecretVersionsToReplicate": [],
  "OwningService": "secretsmanager.amazonaws.com",
  "RotationEnabled": false,
  "RotationLambdaARN": null,
  "RotationRules": {
    "AutomaticallyAfterDays": 0
  },
  "LastAccessedDate": "2022-02-03T06:41:07.888000+00:00",
  "DeletedDate": null
}

步骤4 – 更新密钥

以下代码显示如何更新密钥的值。

import boto3

# 创建AWS Secret Manager客户端
client = boto3.client('secretsmanager')

# 更新机密
response = client.update_secret(
    SecretId='my_secret_key',
    SecretString='new_secret_key_value'
)

# 输出更新后的密钥值
response = client.get_secret_value(
    SecretId='my_secret_key'
)
print(response['SecretString'])

运行上面的代码将输出:

new_secret_key_value

结论

本文介绍了如何使用Boto3从AWS Secret Manager中获取密钥的详细信息。通过以上步骤,可以方便地访问和更新任何存储在AWS Secret Manager中的机密。同时,可以使用类似的方法访问和更新其他AWS服务中的数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程