Ir para o conteúdo

Amazon AWS - Gerenciador de Segredos

Nada pode ser mais simples de interagir com as chaves secretas do que o plugin Botcity para o AWS Secrets Manager.

Gerencie suas credenciais.

Instalação

pip install botcity-aws-secretsmanager-plugin

Importando o plugin

Depois de instalar este pacote, a próxima etapa é importar o pacote para o seu código e começar a usar as funções.

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

Configurando a conexão

Observação

Existem duas maneiras diferentes de autenticar.

1.Criando a pasta .aws no diretório inicial, você precisa criar dois arquivos.

# ~/.aws/config
[default]
region=<region_code>
# ~/.aws/credentials
[default]
aws_access_key_id=<your_aws_access_key_id>
aws_secret_access_key=<your_aws_secret_access_key>

2. Passando credenciais no construtor de classe

# Usando a pasta `.aws`
segredos = BotSecretsManagerplugin()

# Alternativa usando as credenciais como argumentos construtores
segredos = BotSecretsManagerPlugin(
    use_credentials_file=False,
    access_key_id='<your_aws_access_key_id>',
    secret_access_key='<your_aws_secret_access_key>',
    region_name='<region_code>'
)

Informações: se não for encontrado em segredo

Alguns métodos retornam None se não encontrarem o segredo, se você quiser receber o erro e lidar com ele, useRAISE_IF_NOT_FOUND=True

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin
segredo = BotSecretsManagerPlugin()
segredo.RAISE_IF_NOT_FOUND=True  # padrão é false

Operações de segredos

Crie um novo segredo

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
resposta = segredo.create_secret(
    secret_name='test',
    secret_value={'key': 'name'},  # dict or str
    description='Test description.')
print(resposta)

# Ou
segredo["test"] = {'key': 'name'}  # descrição = ''

Lista de Segredos

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
print(segredo.list_secrets())

Recupera informações do segredo

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
print(segredo.describe_secret(secret_name='test'))

Recuperar o valor do segredo

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
print(segredo.get_secret_value(secret_name='test'))

# Ou
print(segredo["test"])

Atualizar valor segredo

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
print(segredo.update_secret(secret_name='test', secret_value={'key2': 'value2'}, description='New value'))

Exclua segredos

Aviso

Se você excluir um segredo com o parâmetro without_recovery=True, não terá oportunidade de recuperar o segredo. Você perde o segredo permanentemente.

from botcity.plugins.aws.secretsmanager import BotSecretsManagerPlugin

segredo = BotSecretsManagerPlugin()
print(segredo.delete_secret(secret_name='test', without_recovery=True))

# Ou
del segredo["test"] # sem_recovery = false