Authorizer
The Authorizer resource lets you manage AWS IoT Authorizers which are used to control access to AWS IoT devices and services.
Minimal Example
Create an IoT Authorizer with the required properties and some common optional settings.
ts
import AWS from "alchemy/aws/control";
const myAuthorizer = await AWS.IoT.Authorizer("myAuthorizer", {
AuthorizerFunctionArn: "arn:aws:lambda:us-west-2:123456789012:function:myAuthFunction",
Status: "ACTIVE",
TokenKeyName: "Authorization"
});
Advanced Configuration
Configure an IoT Authorizer with additional settings such as caching and token signing.
ts
const advancedAuthorizer = await AWS.IoT.Authorizer("advancedAuthorizer", {
AuthorizerFunctionArn: "arn:aws:lambda:us-west-2:123456789012:function:advancedAuthFunction",
Status: "ACTIVE",
TokenKeyName: "Authorization",
EnableCachingForHttp: true,
SigningDisabled: false,
TokenSigningPublicKeys: {
"key1": "publicKeyData"
}
});
Using Tags for Resource Management
You can add tags to your Authorizer for better resource management and organization.
ts
const taggedAuthorizer = await AWS.IoT.Authorizer("taggedAuthorizer", {
AuthorizerFunctionArn: "arn:aws:lambda:us-west-2:123456789012:function:taggedAuthFunction",
Status: "ACTIVE",
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "IoTPlatform" }
]
});
Adopting Existing Resources
If you want to adopt an existing Authorizer instead of failing if it already exists, set the adopt
parameter to true.
ts
const adoptedAuthorizer = await AWS.IoT.Authorizer("existingAuthorizer", {
AuthorizerFunctionArn: "arn:aws:lambda:us-west-2:123456789012:function:existingAuthFunction",
Status: "ACTIVE",
adopt: true
});