Skip to content

Portal ​

The Portal resource lets you manage AWS WorkSpacesWeb Portals which provide secure access to web applications.

Minimal Example ​

Create a basic WorkSpacesWeb Portal with default settings and common optional properties.

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

const workspacesWebPortal = await AWS.WorkSpacesWeb.Portal("basic-portal", {
  TrustStoreArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-abcd-1234-abcd-1234abcd1234",
  BrowserSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:browser-settings/default",
  DisplayName: "Basic WorkSpacesWeb Portal",
  MaxConcurrentSessions: 50
});

Advanced Configuration ​

Configure a WorkSpacesWeb Portal with more advanced properties including network settings and data protection.

ts
const advancedWorkspacesWebPortal = await AWS.WorkSpacesWeb.Portal("advanced-portal", {
  TrustStoreArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-abcd-1234-abcd-1234abcd1234",
  BrowserSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:browser-settings/advanced",
  NetworkSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:network-settings/default",
  DataProtectionSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:data-protection-settings/default",
  DisplayName: "Advanced WorkSpacesWeb Portal",
  InstanceType: "t3.medium",
  MaxConcurrentSessions: 100,
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "WebAccess" }
  ]
});

Custom Encryption and Logging Settings ​

Create a portal with custom encryption and user access logging features.

ts
const secureWorkspacesWebPortal = await AWS.WorkSpacesWeb.Portal("secure-portal", {
  TrustStoreArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-abcd-1234-abcd-1234abcd1234",
  UserAccessLoggingSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:user-access-logging-settings/default",
  CustomerManagedKey: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-abcd-1234abcd1234",
  AdditionalEncryptionContext: {
    "Project": "WebAccess",
    "Environment": "Production"
  },
  DisplayName: "Secure WorkSpacesWeb Portal"
});

IP Access Settings ​

Set up a WorkSpacesWeb Portal with specific IP access settings to restrict access.

ts
const ipRestrictedWorkspacesWebPortal = await AWS.WorkSpacesWeb.Portal("ip-restricted-portal", {
  TrustStoreArn: "arn:aws:acm:us-east-1:123456789012:certificate/abcd1234-abcd-1234-abcd-1234abcd1234",
  IpAccessSettingsArn: "arn:aws:workspacesweb:us-east-1:123456789012:ip-access-settings/default",
  DisplayName: "IP Restricted WorkSpacesWeb Portal",
  MaxConcurrentSessions: 25
});