Skip to content

AccessKey ​

The AccessKey resource allows you to manage AWS IAM AccessKeys for IAM users, enabling programmatic access to AWS services.

Minimal Example ​

Create a basic IAM AccessKey for a specified user with required properties:

ts
import AWS from "alchemy/aws/control";

const basicAccessKey = await AWS.IAM.AccessKey("basicAccessKey", {
  UserName: "john.doe",
  Status: "Active" // Optional: Can be "Active" or "Inactive"
});

Advanced Configuration ​

Create an AccessKey with additional configuration, such as specifying a serial number:

ts
const advancedAccessKey = await AWS.IAM.AccessKey("advancedAccessKey", {
  UserName: "jane.smith",
  Serial: 123456789, // Optional: Serial number associated with the key
  Status: "Active"
});

Adopting Existing AccessKey ​

If you want to adopt an existing AccessKey without failing, use the adopt property:

ts
const adoptedAccessKey = await AWS.IAM.AccessKey("adoptedAccessKey", {
  UserName: "existing.user",
  adopt: true // If true, adopts existing resource instead of failing
});

AccessKey Rotation ​

You can create a new AccessKey to replace an existing one for a user:

ts
const newAccessKey = await AWS.IAM.AccessKey("newAccessKey", {
  UserName: "developer.user",
  Status: "Active"
});

// Assume there is a function to delete the old key
await AWS.IAM.AccessKey("oldAccessKey", {
  UserName: "developer.user",
  Status: "Inactive" // Mark old key as inactive
});