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
});