Dynemade by aws-lens

Support

Dyne for DynamoDB · macOS

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

Connecting

Open Connections and add one. Dyne supports four kinds:

KindWhat you provideNotes
Access keysAccess key ID, secret access key, regionThe secret is stored in the macOS Keychain.
AWS profileA profile name from ~/.aws/config or ~/.aws/credentialsStatic 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 CenterStart URL, account, role, SSO regionSigns in through your browser. Nothing to install.
DynamoDB LocalEndpoint URL and a regionFor 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.