Skip to content

AccessPolicy ​

The AccessPolicy resource allows you to manage AWS IoTSiteWise AccessPolicys which control access to your IoT SiteWise resources.

Minimal Example ​

Create a basic access policy with required properties.

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

const basicAccessPolicy = await AWS.IoTSiteWise.AccessPolicy("basicAccessPolicy", {
  AccessPolicyResource: {
    id: "sitewise-resource-id", // Replace with your specific resource ID
    type: "AWS::IoTSiteWise::Asset" // Specify the type of resource
  },
  AccessPolicyIdentity: {
    id: "user-or-group-id", // Replace with the ID of the user or group
    type: "USER" // Specify whether it's a USER or GROUP
  },
  AccessPolicyPermission: "READ" // Permission level (e.g., READ, WRITE)
});

Advanced Configuration ​

Configure an access policy with adopt option, allowing it to adopt existing resources.

ts
const advancedAccessPolicy = await AWS.IoTSiteWise.AccessPolicy("advancedAccessPolicy", {
  AccessPolicyResource: {
    id: "existing-sitewise-resource-id", // Use the ID of an existing resource
    type: "AWS::IoTSiteWise::Asset" 
  },
  AccessPolicyIdentity: {
    id: "group-id", // Replace with the ID of your group
    type: "GROUP" // Specify the type as GROUP
  },
  AccessPolicyPermission: "WRITE", // Grant write permissions
  adopt: true // Adopt existing resource instead of failing
});

Policy with Multiple Permissions ​

Create an access policy with multiple permissions for a user.

ts
const multiPermissionPolicy = await AWS.IoTSiteWise.AccessPolicy("multiPermissionPolicy", {
  AccessPolicyResource: {
    id: "asset-id-12345", // Replace with a valid asset ID
    type: "AWS::IoTSiteWise::Asset"
  },
  AccessPolicyIdentity: {
    id: "user-id-67890", // Replace with the ID of the user
    type: "USER"
  },
  AccessPolicyPermission: JSON.stringify([
    {
      action: "iotsitewise:DescribeAsset",
      resource: "arn:aws:iotsitewise:region:account-id:asset/asset-id-12345"
    },
    {
      action: "iotsitewise:UpdateAsset",
      resource: "arn:aws:iotsitewise:region:account-id:asset/asset-id-12345"
    }
  ])
});