Some PDIs are currently unavailable, and PDI actions are paused. View the latest updates here. Read More

Question: ServiceNow AWS Integration – Difference Between OrgAssumeRole and Cross-Assume role

AvinashU
Tera Contributor

Hi Community,

I am working on integrating ServiceNow with AWS and would like to understand the recommended approach for AWS Organizations and cross AssumeRole setup.

I have some questions regarding the difference and implementation of the following approaches:

  1. What is the difference between Accessor Role, OrgAssumeRole, and Cross-Account AssumeRole?
    • What is the purpose of each role?
    • In which AWS account should each role be created?
    • How does the trust relationship work between ServiceNow, Accessor Role, and member accounts?
  2. ServiceNow Cloud Account configuration
    • If we use AWS Organizations with OrgAssumeRole:
      • How do we configure the AWS Cloud Account in ServiceNow?
      • Do we need to create a manual Cloud Account record?
      • What role ARN should be configured in ServiceNow?
      • Is one Cloud Account enough to discover all member accounts?
  3. AWS Discovery scope
    • If we use OrgAssumeRole:
      • Can ServiceNow discover all member accounts automatically?
      • How do we restrict discovery to only a specific AWS member account?
      • What is the recommended configuration for discovering multiple AWS accounts?
  4. Comparison between approaches

    Option 1: AWS Organizations + OrgAssumeRole

    ServiceNow → Accessor Role → OrgAssumeRole → Member Accounts

    Option 2: Cross-account AssumeRole

    ServiceNow → Role in each AWS Account

    What are the advantages and disadvantages of each approach from a ServiceNow Cloud Discovery perspective?

  5. Manual Cloud Account creation
    • If we choose AWS Organizations/OrgAssumeRole, should we manually create Cloud Accounts in ServiceNow for each AWS member account?
    • Or does ServiceNow automatically create/manage member accounts after organization discovery?
  6. Best practice recommendation
    • For an enterprise AWS Organization with multiple member accounts, what is the recommended ServiceNow setup:
      • OrgAssumeRole?
      • Cross-account roles?
      • ServiceNow AWS Service Management Connector?
      • Cloud Discovery?

Any examples, architecture diagrams, or implementation experience would be highly appreciated.

Thanks!

3 REPLIES 3

Vikram Reddy
Tera Guru

Hi @AvinashU,

 

I'm assuming you're on pattern-based AWS Cloud Discovery (MID Server plus Discovery patterns), since the Accessor/OrgAssumeRole/Cross-Account distinction is specific to that architecture and doesn't apply the same way to the Service Graph Connector for AWS. If that assumption's wrong, say so and I'll adjust.

The three pieces map to three different jobs in the trust chain:

  • Accessor role: lives in a dedicated discovery-only AWS account. It's the entry point your credential-less setup (MID Server on an EC2 instance, using STS) assumes into first, so you're not putting long-lived keys or a broad-reach role directly on the Management account.
  • OrgAssumeRole: a role in your AWS Organizations Management (payer) account that the Accessor assumes next, and which is itself trusted to assume into every Member account under the org, typically deployed org-wide via CloudFormation StackSets or Control Tower. One chain, Accessor to Management to OrgAssumeRole, reaches every member without a role per account.
  • Cross-Account AssumeRole: a role created individually in each target account, in or out of an Organization, that the Accessor or Management account assumes directly. No org-wide trust involved, one role and one trust relationship per account.

So your Option 1 is really Accessor to Management to Member role-chaining, riding on the trust AWS Organizations already gives the Management account over its members. Option 2 is the same Accessor hitting each account's own role directly, no chaining through Management.

On the ServiceNow side, you don't need a separate Cloud Account record per member when using OrgAssumeRole. You configure one Cloud Service Account pointing at the Accessor (or Management, if you skip the Accessor hop), then add each member account's ID and Access Role Name as rows in the AWS Org Assume Role Params related list on that record, the underlying table is cloud_service_account_aws_org_assume_role_params. Discovery walks those rows and pulls resources from every listed member without you standing up a Cloud Account per account. To restrict discovery to specific members, just don't add rows for the accounts you want excluded, or scope the discovery schedule to the account IDs you want in scope. One gotcha: if an IAM role gets renamed in AWS, Discovery does not auto-repopulate the Access Role Name field on those rows, that's a manual or scripted bulk update on your end. Cross-Account AssumeRole uses a separate related list, AWS Cross Assume Role Params, same one-row-per-account pattern, but each row carries its own role ARN since there's no org-wide trust to lean on.

For an enterprise AWS Organization, OrgAssumeRole is the better default: fewer roles to provision and rotate, and a new member account joining the org gets onboarded by adding one row instead of standing up a fresh role and trust policy. Cross-account roles make more sense for a handful of accounts outside an Organization, or where one member needs tighter, non-inherited trust that you don't want flowing from Management.

On your best-practice question about the AWS Service Management Connector: it's a different product from what you're describing here, it's built for provisioning and operating AWS resources (Service Catalog, Systems Manager, AWS Config, Security Hub) from inside ServiceNow, not for account/resource discovery or the role topology above. Worth flagging too, AWS is ending support for it on March 31, 2027, so I wouldn't anchor new architecture on it. For discovery specifically you're really choosing between pattern-based Discovery (the model above) and the separate Service Graph Connector for AWS, which is agentless but does less host-level discovery than patterns with SSM.

 

Thank you,
Vikram Karety
Octigo Solutions INC

shubhamseth
Giga Sage

@AvinashU 

 

Technical Flow

  1. ServiceNow MID Server authenticates to the Accessor Role in the Management Account.
  2. The Accessor Role calls organizations:ListAccounts to enumerate all member accounts.
  3. For each member account, ServiceNow performs sts:AssumeRole into the OrgAssumeRole.
  4. Using the assumed credentials, Cloud Discovery collects AWS resources.
  5. Resources are processed through Cloud Discovery → IRE → CMDB.

IAM Permissions

Accessor Role

  • organizations:ListAccounts
  • organizations:DescribeOrganization
  • sts:AssumeRole

OrgAssumeRole (Member Accounts)

  • EC2 (Describe*)
  • RDS (Describe*)
  • ELB (Describe*)
  • EBS
  • VPC
  • IAM (Read Only)
  • CloudFormation (optional)
  • Lambda (optional)
  • S3 (Read Only)
  • Tagging APIs

ServiceNow Configuration

  • Create one AWS Cloud Account using the Accessor Role ARN.
  • Enable AWS Organization Discovery.
  • Specify the OrgAssumeRole name in Cloud Discovery.
  • Member accounts are discovered automatically; manual Cloud Account creation is not required.

Enterprise Recommendation

For environments with multiple AWS accounts:

ServiceNow → Accessor Role → AWS Organizations → OrgAssumeRole → Member Accounts

 

I got one of good image containg the nice information about this. Sharing here with you to see if helps.

shubhamseth_0-1784263939678.png

 

 

Issue resolved? → Mark as Correct


Found value? → Mark as Helpful


Hi,

We have configured AWS Organization in AWS, but we do not have an Organization Assume Role configured in ServiceNow. However, ServiceNow is still discovering the member accounts, which should not happen according to our understanding.

Could you please help us understand how ServiceNow is discovering the member accounts without the Organization Assume Role? Is there any other configuration or permission that could allow this discovery?


2 point : can you please explain about deep discovery with discovery method and how many discovery schedules will create