Skip to content
GitHubXDiscordRSS

Permission

Learn how to create, update, and manage AWS QBusiness Permissions using Alchemy Cloud Control.

The Permission resource allows you to manage AWS QBusiness Permissions for controlling access to specific actions within QBusiness applications.

Create a basic QBusiness permission with required properties.

import AWS from "alchemy/aws/control";
const basicPermission = await AWS.QBusiness.Permission("basicPermission", {
Actions: ["qbusiness:StartConversation", "qbusiness:StopConversation"],
StatementId: "unique-statement-id-123",
ApplicationId: "my-application-id",
Principal: "arn:aws:iam::123456789012:user/my-iam-user"
});

Configure a permission that adopts an existing resource if it already exists.

const advancedPermission = await AWS.QBusiness.Permission("advancedPermission", {
Actions: ["qbusiness:SendMessage", "qbusiness:ReceiveMessage"],
StatementId: "advanced-statement-id-456",
ApplicationId: "my-application-id",
Principal: "arn:aws:iam::123456789012:user/my-iam-user",
adopt: true // Adopt existing resource if it already exists
});

Create a permission that grants access to a wider range of actions within the QBusiness application.

const multiActionPermission = await AWS.QBusiness.Permission("multiActionPermission", {
Actions: [
"qbusiness:StartConversation",
"qbusiness:SendMessage",
"qbusiness:ReceiveMessage",
"qbusiness:StopConversation"
],
StatementId: "multi-action-statement-id-789",
ApplicationId: "my-application-id",
Principal: "arn:aws:iam::123456789012:user/my-iam-user"
});

Demonstrate how to restrict permission to a specific IAM role.

const roleBasedPermission = await AWS.QBusiness.Permission("roleBasedPermission", {
Actions: ["qbusiness:ManageSettings"],
StatementId: "role-based-statement-id-101",
ApplicationId: "my-application-id",
Principal: "arn:aws:iam::123456789012:role/my-iam-role"
});