Documentation Index

Fetch the complete documentation index at: https://help.nucleussec.com/llms.txt

Use this file to discover all available pages before exploring further.

Setting Permissions

Prev Next

The AWS connector enables you to ingest data from multiple AWS accounts and services through a single connector by using cross-account roles. This is considered best practice when providing third parties (such as Nucleus) access to your organization's AWS accounts and resources. Additional information about granting third parties access to your AWS resources can be found in the AWS customer documentation.

Warning

Note we may periodically update this page as new functionality is added to this connector, which may require an update to the deployed cross-account role.

Set up cross-account roles

Note

A cross-account role must first be created in each AWS account that has services which you intend to interact with before following the steps below.

  1. Log in to your Nucleus project.
  2. From the navigation bar on the left, under Integration Hub, select Connector Setup.
  3. Select Amazon Web Services.
    aws-connector-icon.png
  4. Locate the Notes area in the Authentication section.
  5. Make a note of the AWS External ID and AWS Account values. These values are unique to your Nucleus project and you will use them later when setting up the cross-account role in AWS.
    aws-connector-authentication-section.png
  6. Follow the instructions provided by Amazon for setting up cross-account roles. When creating the role:
    • Set the AWS External ID obtained from Nucleus as the role's sts:ExternalId.
    • Set the AWS Account obtained from Nucleus as the role's AWS Principal.
    • Attach the permissions Nucleus needs to access and ingest data from your AWS account(s) as inline or managed policies.

The following IAM permissions are required for each service:

Service Permissions
All services iam:ListAccountAliases
Amazon EC2 ec2:DescribeInstances, ec2:DescribeInstanceStatus, ec2:DescribeTags
Amazon ECR Managed Policy AmazonEC2ContainerRegistryReadOnly
Amazon Inspector 2 Managed Policy AWSSecurityHubReadOnlyAccess
Amazon Inspector 2 Managed Policy AmazonInspector2ReadOnlyAccess
Amazon Inspector Classic Managed Policy AmazonInspectorReadOnlyAccess
Amazon S3 Managed Policy AmazonS3FullAccess (note: only needed for use of S3 Data Export functionality)

Example template

The following is an example CloudFormation template that can be deployed to AWS accounts to provide access to all currently supported services (excluding S3 file upload.

Warning

When using the template below, replace ACCOUNT_ID_FROM_NUCLEUS and EXTERNAL_ID_FROM_NUCLEUS_PROJECT with the relevant AWS Account and AWS External ID values.

AWSTemplateFormatVersion: "2010-09-09" 
Resources: 
  NucleusAWSIntegrationRole: 
    Type: "AWS::IAM::Role" 
    Properties: 
      RoleName: "NucleusAWSConnectorRole" 
      Description: "Role used by a Nucleus Project connector to ingest asset and scan data." 
      AssumeRolePolicyDocument: 
        Version: "2012-10-17" 
        Statement: 
          - Effect: Allow 
            Principal: 
              AWS: 
                - "arn:aws:iam::ACCOUNT_ID_FROM_NUCLEUS:root" 
            Action: 
              - "sts:AssumeRole" 
            Condition: 
              StringEquals: 
                "sts:ExternalId": "EXTERNAL_ID_FROM_NUCLEUS_PROJECT" 
      Policies: 
        - PolicyName: "NucleusAWSConnectorPolicy" 
          PolicyDocument: 
            Version: "2012-10-17" 
            Statement: 
              - Effect: Allow 
                Action: 
                  - "iam:ListAccountAliases" 
                  - "ec2:DescribeInstances" 
                  - "ec2:DescribeInstanceStatus" 
                  - "ec2:DescribeTags" 
                Resource: "*" 
      ManagedPolicyArns: 
        - "arn:aws:iam::aws:policy/AmazonInspectorReadOnlyAccess" 
        - "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly" 
        - "arn:aws:iam::aws:policy/AWSSecurityHubReadOnlyAccess" 
Note

For large organizations with many AWS accounts, it is recommended that AWS CloudFormation StackSets are used to deploy and manage the above IAM roles at scale.

Next steps

After setting up permissions, proceed with setting up instance synchronization.