Skip to main content

Integration

Overview

This article outlines the steps to integrate your AWS Organization and its member accounts with Upwind.

Prerequisites

To successfully integrate your AWS Organization with Upwind, ensure the following prerequisites are met:

  1. Existing AWS Organization. Ensure you have an existing AWS environment with AWS Organizations enabled. If you need to create one, refer to the Getting started with AWS Organizations user guide.

  2. Access to the AWS management account. Ensure you have access to your AWS management account, as this is necessary for configuring and managing the integration with Upwind.

  3. AWS IAM sign-in permissions. If using CloudFormation, ensure the IAM principal entity (user, role, or group) you use to sign into the management account has the necessary permissions to deploy with AWS CloudFormation StackSets.

  4. AWS CloudFormation permissions. If using CloudFormation, ensure that the IAM principal entity (user, role, or group) you use to sign into the management account has the necessary permissions to create and manage resources with AWS CloudFormation, including deploying StackSets.

    info

    When using AWS CloudFormation, the integration involves executing a CloudFormation StackSet with service-managed permissions, enabling deployment to all existing and future accounts. This model allows you to deploy stack instances to accounts managed by AWS Organizations without the need to manually create the necessary IAM roles, as StackSets automatically creates them on your behalf.

  5. Non-restrictive Service Control Policies (SCPs). Ensure there are no actively applied Service Control Policies (SCPs) that prevent the creation of the necessary IAM roles for integrating with Upwind.

  6. Terraform Installation. If using Terraform, ensure it is installed on your local machine. You can download the latest version of Terraform from the official website. Follow the installation instructions specific to your operating system.

Integration steps

Summary

The integration of the AWS Organization consists of three steps:

  • Step 1: Selecting the AWS Organization and an Orchestrator account.
  • Step 2: Creating the Roles and permissions in selected accounts.
  • Step 3: Defining which accounts you want Upwind to scan.
  1. Log in to the Upwind Management Console .

  2. Select the + (plus) symbol at the top of the screen and select Connect cloud account.

  3. Choose Amazon Web Services, and from there Connect AWS Organization.

  4. Follow the detailed steps corresponding to your chosen deployment method.

    When using CloudFormation, you will deploy a CloudFormation Stack which uses a StackSet to create the necessary permissions in all of the accounts within the AWS Organization. Optionally, it will deploy the same stack in the management account if desired.

    Step 1: Onboard your AWS Organization and designate an Orchestrator Account

    In this step, you'll provide basic information to allow Upwind to identify and connect to your AWS Organization.

    Step 1.1: Provide the parameters to identify your AWS Organization

    • Sign in to the AWS Management Console of your management account.
    • Navigate to OrganizationsOrganize accounts.
    • Copy your Root ID – this is the unique identifier for your root organizational unit and typically begins with r-.
    • Paste the Root ID into the field labeled Enter AWS Root ID.

    Designate an Orchestrator Account

    • Enter the AWS Account ID you want to use as the Orchestrator Account. This account will be responsible for creating and managing the scanning resources on behalf of your organization. The orchestrator should have sufficient permissions to assume roles across your accounts and initiate scans.

      note

      The orchestrator account must belong to the same AWS Organization and have permissions to assume roles in the other accounts. This does not have to be the management account.

      Step 1.2: Generate Credentials for Upwind

    Once your organization and orchestrator account are defined, you will generate the credentials required for authentication.

    • Click Generate new client credentials to create a unique credential set for Upwind.
    • These credentials are used by the orchestrator account to interact with the Upwind Authorization Service and APIs securely.
    • You can optionally customize the name of the credentials under the AWSOrganizationConnectionCredentials label.

    These credentials will enable secure communication and reporting between your AWS environment and the Upwind platform.

    Step 2: Create the required IAM roles

    In this step, you will connect to your AWS management account to apply the CloudFormation which will create the roles. Upwind requires cross-account access to scan and protect all accounts under your AWS Organization. This step ensures that the correct IAM roles are provisioned.

    Step 2.1: Log in to your AWS Management Account

    info

    Make sure you are logged into the AWS Management Account of your organization and have selected the region where you intend to deploy the CloudFormation stacks.

    Step 2.2: Create cross-account IAM roles

    • Deploy the Upwind CloudFormation stack to automatically create the IAM roles needed for scanning and orchestration across your organization.

    • Use the toggle to choose whether to include your AWS Management Account in the onboarding process. When enabled, the CloudFormation template will deploy the necessary IAM roles to the management account, allowing Upwind to scan and monitor it as part of your organization.

      note

      All member accounts in your AWS Organization will be connected to Upwind by default. Including the management account is recommended for full visibility. If you prefer to exclude it, simply disable the toggle before proceeding.

    • Click the Run the AWS CloudFormation template link to open a pre-configured CloudFormation Quick Create Stack in a new browser tab. There is no need to manually fill in any of the parameters- all fields are automatically pre-populated based on the information you entered in the previous steps.

      If you'd like to override any of the default values, you may do so on the stack creation page. The following section provides a detailed explanation of each parameter.

      Org Wide Configuration
      Organizational Role NameEnsure the parameter is set. The base name which shall be given to the Organization discover role in the management account. This defaults to UpwindOrganizationServiceRole.
      External IDEnsure the parameter is set for secure cross-account role assumption. The external ID, generated by Upwind, is unique to each AWS Organization to establish a secure trust relationship between Upwind and your AWS environment, providing distinct identification for cross-account access.
      Account Service Role NameEnsure the parameter is set. The base name which shall be given to the Account Service Role. This defaults to UpwindAccountServiceRole.
      Install Account Service Role
      in Management account
      A boolean flag which indicates whether the Account Service Role should be included in the management account. Ensure this option is set as expected.
      Role Name SuffixA short set of random characters, which shall be appended to the end of role names to help reduce collision against previous installs.
      CloudScanner Configuration
      Orchestrator Account IDThe orchestrator account ID as defined in the Upwind Management Console. Ensure this is set as expected.
      Cloud Scanner Administration Role NameThe base name which shall be given to the CloudScanner Administration role in the orchestrator account. This defaults to UpwindCloudScannerAdministrationRole and must be provided.
      Cloud Scanner Execution Role NameThe base name which shall be given to the Account Service Role. This defaults to UpwindCloudScannerExecutionRole.
      Upwind Client IDEnsure the parameter is set with the client ID generated in the previous step.

      Omit if an administrator account was not selected.
      note
      Must be used in conjunction with Upwind Client Secret.
      Upwind Client SecretEnsure the parameter is set with the client secret generated in the previous step.

      Omit if an administrator account was not selected.
      note
      Must be used in conjunction with Upwind Client ID.
      Credentials Secret Name PrefixA prefix given to the name of the secret used to store the Upwind Client ID and Secret. Ensure this is set.
      Organizational Unit IDsEnsure the parameter is set with either the unique identifier for the root (formatted as r- followed by 4 to 32 lowercase letters or digits), or a comma-separated list of organizational unit (OU) IDs to define deployment targets.

      Specifying the root identifier ensures the necessary IAM roles will be created on all member accounts, excluding the management account (see next step).

      Alternatively, switch to the self-managed permission model to target specific accounts by listing their identifiers. Please note that this model does not support automatic deployment and requires manual creation of the necessary IAM roles for AWS CloudFormation.

      For more information, please refer to the Grant self-managed permissions user guide.
      Auto Deployment EnabledEnsure the parameter is set to true to enable automatic deployment to accounts that will be added in the future.
      Permission ModelEnsure the parameter is set to SERVICE_MANAGED to allow AWS CloudFormation to automatically create the necessary IAM roles for StackSet execution on your behalf.
      Stack Set NameEnsure the parameter is set. This is the name that will be given to the Cloudformation StackSet.
      Template URLEnsure the parameter is set. This is URL of the Cloudformation stack which shall be applied to each account. It should not need to be altered from that provided.
      Rollback resources on failureA boolean flag which indicates that upon failure the stack will attempt to rollback all resources including the StackSet. This is off by default, as allows for partial installs in the event of a failure in some accounts, and permits diagnosis of the cause.
      info

      Please review carefully and adjust as needed to fit your specific environment.

      • Check the Capabilities section and acknowledge that the template may create IAM resources.
      • Click Create stack and wait for the stack to complete. For an AWS Organization with a few hundred accounts, this can take several minutes to complete.

    Step 2.3: Enter the required Role ARN from your CloudFormation stack

    • Once complete, retrieve the ARN of the Organization discovery from from the AWS Console. It can either be retrieved from the resource or output tabs of the CloudFormation Stack just installed.
    • Enter the ARN in to the Upwind Management Console, and Click Validate to ensure that Upwind can securely access your AWS Organization.

    Step 3: Define Account Scope

    The final step of the onboarding process allows you to define the scope for each AWS account you've just connected — as well as for any new accounts that may be created in the future under your AWS Organization.

    • This view displays your AWS Organization structure and all linked accounts, allowing you to choose which accounts should be audited using Cloud APIs or scanned using Upwind Cloud Scanners.

      • Enable Cloud API to grant Upwind access to read metadata and perform auditing across the account.

      • Enable Cloud Scanner to deploy the Upwind Cloud Scanner within the selected account.

        Scope Dependency

        Cloud Scanner scopes are dependent on the Cloud API scope. If you enable the Cloud Scanner scope, the Cloud API scope must also be enabled.

    • Enable Auto-Connect for New Accounts – when enabled, all newly created accounts under the organization will be automatically connected to Upwind. These accounts will be granted Cloud API access and will be scanned by the Cloud Scanner by default, ensuring continuous protection without additional setup.

    • Finally, Click Save, before continuing to Explore the Upwind Management Console or navigating to the Onboarding Centre.

    You're now fully connected to Upwind and protected across the selected AWS accounts.