---
title: How to store secrets
sidebarTitle: Store secrets
---

### Store secret strings

You can use the `Secret` block to store secret strings.

```python
from prefect.blocks.system import Secret

secret = Secret(value="Marvin's surprise birthday party is on the 15th")
secret.save("surprise-party")
```
You can access the secret value in your workflow by loading a `Secret` block with the same name.

{/* pmd-metadata: notest */}
```python
from prefect import flow    
from prefect.blocks.system import Secret

@flow
def my_flow():
    secret = Secret.load("surprise-party")
    print(secret.get())
```

Secret values are encrypted at rest when stored in your Prefect backend.

To update a secret, save the new value with the `overwrite` parameter set to `True`.

{/* pmd-metadata: notest */}
```python
from prefect.blocks.system import Secret

secret = Secret(value="Marvin's surprise birthday party is actually on the 16th")
secret.save("surprise-party", overwrite=True)
```

Secret blocks can also be created and updated through the Prefect UI.

### Store common configuration securely

Prefect offers a set of blocks for storing common configuration.

Many of these blocks are included as part of Prefect's integration libraries.

For example, use the `AwsCredentials` block to store AWS keys to connect to AWS services in your workflows.

<Tip>
You can install `prefect-aws` by running `pip install prefect-aws`.
</Tip>

```python
from prefect_aws import AwsCredentials

aws_credentials = AwsCredentials(
    aws_access_key_id="my-access-key-id",
    aws_secret_access_key="nice-try-you-are-not-getting-my-key-friend")

aws_credentials.save("aws-credentials")
```

You can load the block to use the credentials in your workflow.

{/* pmd-metadata: notest */}
```python
from prefect_aws import AwsCredentials
import boto3

# Load AWS credentials from Prefect
creds = AwsCredentials.load("aws-credentials")

# Create boto3 session using the credentials
session = boto3.Session(
    aws_access_key_id=creds.aws_access_key_id,
    aws_secret_access_key=creds.aws_secret_access_key
)

# Create S3 client
s3_client = session.client('s3')

# List all buckets
response = s3_client.list_buckets()
for bucket in response['Buckets']:
    print(f"Bucket name: {bucket['Name']}")
```
