Support
Write to support@aws-lens.com. Replies usually go out within two business days. Please never include AWS secret keys or session tokens in an email.
Requirements
- macOS 14 Sonoma or later.
- Apple silicon or Intel Mac. Dyne is a universal app.
- An AWS account with DynamoDB, or DynamoDB Local running on your machine.
Connecting
Open Connections and add one. Dyne supports four kinds:
| Kind | What you provide | Notes |
|---|---|---|
| Access keys | Access key ID, secret access key, region | The secret is stored in the macOS Keychain. |
| AWS profile | A profile name from ~/.aws/config or ~/.aws/credentials | Static keys, assume-role, credential_process, and SSO profiles are resolved the same way the AWS CLI resolves them. Needs a one-time grant of access to ~/.aws (below). |
| IAM Identity Center | Start URL, account, role, SSO region | Signs in through your browser. Nothing to install. |
| DynamoDB Local | Endpoint URL and a region | For DynamoDB Local, for example http://localhost:8000. Any key values work. |
Why does Dyne ask for access to ~/.aws?
Dyne runs in the macOS App Sandbox, which blocks access to files outside the app unless you pick them yourself. To read your profiles, choose Grant Access to ~/.aws… in the connection form. The standard Open panel appears already pointed at the folder; confirm it and the profile list fills in. Access is read-only, and Dyne remembers your choice so you are not asked again.
If you picked the wrong folder, the form offers Choose the .aws Folder… to correct it. Dyne is fully usable without this grant if you connect with access keys, IAM Identity Center, or a local endpoint.
IAM permissions Dyne needs
Dyne only calls what the screen you are on requires. A read-only user can browse, query, scan, and run PartiQL SELECT statements with this policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["dynamodb:ListTables"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:DescribeContinuousBackups",
"dynamodb:ListTagsOfResource",
"dynamodb:Scan",
"dynamodb:Query",
"dynamodb:GetItem",
"dynamodb:PartiQLSelect"
],
"Resource": [
"arn:aws:dynamodb:*:*:table/*",
"arn:aws:dynamodb:*:*:table/*/index/*"
]
}
]
} To also edit, add and delete items, run other PartiQL statements, create tables, and change TTL settings, use this policy instead. Narrow the Resource entries to specific table ARNs if you prefer.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["dynamodb:ListTables"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:DescribeTimeToLive",
"dynamodb:DescribeContinuousBackups",
"dynamodb:ListTagsOfResource",
"dynamodb:Scan",
"dynamodb:Query",
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:PartiQLSelect",
"dynamodb:PartiQLInsert",
"dynamodb:PartiQLUpdate",
"dynamodb:PartiQLDelete",
"dynamodb:CreateTable",
"dynamodb:UpdateTimeToLive"
],
"Resource": [
"arn:aws:dynamodb:*:*:table/*",
"arn:aws:dynamodb:*:*:table/*/index/*"
]
}
]
} DynamoDB Local
Start DynamoDB Local, for example with Docker:
docker run -p 8000:8000 amazon/dynamodb-local Then add a connection of kind DynamoDB Local with http://localhost:8000 and any region name. Tables you create in Dyne appear immediately.
Reporting a problem
Include your macOS version, the Dyne version (from Dyne › About Dyne), what you did, what you expected, and what happened instead. A screenshot of the error helps. If a request failed, the error text Dyne shows is the AWS error and usually names the missing permission or the bad parameter.
Purchases and refunds
Dyne is sold through the Mac App Store, so purchases, receipts, and refunds are handled by Apple. To request a refund, use reportaproblem.apple.com or contact Apple Support. One purchase covers every Mac signed in to your Apple Account.
Privacy
Dyne collects nothing. The details are in the Privacy Policy.