LogoLogo
  • Welcome to WorkSpaces Manager
  • Overview
    • Change Log
      • Stable
      • Beta
    • Portal Requirements
      • Software Requirements
      • Hardware Requirements
    • Installation Prerequisites
      • Active Directory Service Account
      • Amazon WorkSpaces Cost Optimizer
      • CloudWatch Log Group & Eventbridge Rule
      • Port Requirements
      • AWS Service Endpoints
    • Installation Procedure
      • Subscribe to WorkSpaces Manager License Key
      • Request a License Key
      • Subscribe to WorkSpaces Manager Appliance
      • Deploy WorkSpaces Manager Appliance via CloudFormation
      • Configure WorkSpaces Manager
    • Upgrade Procedures
      • From Version 5
      • WSM Update Tool
      • Latest Version Updates
    • Alternate deployment options
      • Install manually on EC2
      • Deployment from Shared AMI
        • Security Group
        • IAM Requirements: Custom Policies
        • IAM Requirements: Role and EC2 instance profile
        • Shared AMI (Amazon Machine Image)
      • Create AMI via Packer
      • Deploy an RDS Database via Terraform
    • WorkSpaces Performance Monitor Agent
    • High Availability (HA)
    • Appendices
      • Administrator Active Directory Permissions
      • SES Configuration
      • HTTPS/TLS Encryption
      • Friendly Portal URL Address
      • GPO and values for WorkSpaces Performance Monitor Agent
      • GPO and value for Disconnection after idle time
      • IAM Policies in JSON format
      • AWS CLI v2
      • LDAP (Active Directory) Troubleshooting for WSM
      • RDS Database Options
Powered by GitBook
On this page
  1. Overview
  2. Alternate deployment options
  3. Deployment from Shared AMI

IAM Requirements: Custom Policies

PreviousSecurity GroupNextIAM Requirements: Role and EC2 instance profile

Last updated 5 months ago

WorkSpaces Manager requires an IAM Instance Role to be associated with the EC2 instance(s), along with custom policies to enable access to other AWS services. The necessary policies should be created and attached to both the role and the EC2 Instance Profile.

If using the from Nuvens' public site, the Security Group, Policies, Role, and EC2 Instance Profile will be created together as part of the automated deployment process.

Although you can name these policies based on your internal naming conventions, we recommend using the following names for better clarity and organization:

  • WSMCloudwatchPolicy: Grants access to AWS CloudWatch for monitoring and managing logs and metrics.

  • WSMCostExplorerPolicy: Provides access to AWS Cost Explorer to retrieve cost and usage reports.

  • WSMEC2Policy: Allows management and interaction with EC2 instances and related resources.

  • WSMEUCPolicy: Facilitates the management of Amazon WorkSpaces and other End-User Computing (EUC) services.

  • WSMPricingPolicy: Enables retrieval of pricing information from the AWS Pricing API.

  • WSMS3Policy: Grants access to S3 buckets used by WorkSpaces Manager, such as for storage and backups.

  • WSMSecretsPolicy: Allows retrieval of data from Secrets Manager for database connections.

The JSON definitions for these policies are available in our GitLab repositories and can be accessed in both Terraform and CloudFormation template formats.

For example, in Terraform, the policy might be structured as follows:

resource "aws_iam_policy" "WSMCloudwatchPolicy" {
  name        = "WSMCloudwatchPolicy"
  description = "IAM policy for WorkSpaces Manager to access CloudWatch"
  
  policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:DescribeAlarmHistory",
        "cloudwatch:DescribeAlarmsForMetric",
        "cloudwatch:DescribeAlarms",
        "cloudwatch:Describe*",
        "cloudwatch:GetDashboard",
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:GetMetricWidgetImage",
        "cloudwatch:ListMetrics",
        "logs:GetLogEvents",
        "logs:FilterLogEvents",
        "logs:GetLogGroupFields",
        "logs:GetQueryResults",
        "logs:GetLogDelivery",
        "logs:GetLogRecord",
        "logs:StartQuery",
        "logs:StopQuery",
        "logs:TestMetricFilter"
      ],
      "Resource": "*"
    }
  ]
}
EOF
}

For all the JSON raw code related to the IAM policies, please refer to . This appendix contains the complete policy configurations needed for WorkSpaces Manager, including those for CloudWatch, Cost Explorer, EC2, EUC, Pricing, and S3. You can find the full code in both Terraform and CloudFormation formats in the corresponding sections.

this appendix
Git Repo for Terraform
Nuvens-Public / IAM-Role-Terraform · GitLabGitLab
Logo