Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Dell ObjectScale 1.3 Administration Guide

Accessing accounts using AssumeRole

AssumeRole returns a set of temporary security credentials that you can use to access IAM and S3 resources.

NOTE:The role trust relationship should grant permission to an entity to assume the role.

Same account access with AssumeRole

You can access the same account using AssumeRole by attaching a policy to the user (identical to the previous user in a different account) or by adding the user as a principal directly in the role trust policy.

Method Example
Attaching a policy to the user
  1. Trust policy for Role assumeRoleSameAccount in ns1:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "urn:osc:iam::ns1:root"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  2. Policy is attached to the user1 in ns1 to AssumeRole:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "sts:AssumeRole"
          ],
          "Resource": "urn:osc:iam::ns1:role/assumeRoleSameAccount",
          "Effect": "Allow",
          "Sid": "VisualEditor0"
        }
      ]
    }
    
Adding the user to the role trust policy
Trust policy for Role in ns1 with an ObjectScale IAM user:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "urn:osc:iam::ns1:user/user1"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Cross account access with AssumeRole

By default, an IAM user in one account has no access to buckets in another account. However, you can access different accounts using the role trust policy through AssumeRole.

Your account must be trusted by the role to assume a role from a different account. The trust relationship is defined in the role trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account. Also, ensure that you have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows you to call AssumeRole for the Amazon Resource Name (ARN) of the role in the other account.

For example, your organization has multiple account. From which, you segregate a staging environment from a production environment. Certain users such as developers from the staging account may also want to access the production account when you move the staging environment to the production.

  • For this scenario, the admin creates two groups for the staging account namely Dev and QE, and each group has its own policy.
  • In the production account, the administrator performs the following:
    • Specifies a trust policy to the role to state that the staging account as a Principal. So that the authorized users from the staging account can use that role.
    • Specifies which role users have read and write permissions to the productionsys bucket through a permissions policy.
    • Shares the account and role information with the users who need to assume the role.
  • In the staging account, the administrator grants permission to the Dev group to assume the UpdateSys role. By doing this, the Dev group members can switch their role to the required and permitted role. For example, the Dev group members can switch their role to the UpdateSys role in the production account. Other users such as QE group members cannot switch their role. Hence, they cannot access the productionsys bucket.

In this process, STS verifies whether the requester is a trusted entity. After verifying, it returns temporary credentials to the authorized users to perform the required actions.

Example
  1. Trust policy for Role in ns1:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "urn:osc:iam::ns2:root"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  2. Policy that is attached to the user in ns2 to AssumeRole:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "sts:AssumeRole"
          ],
          "Resource": "urn:osc:iam::ns1:role/assumeRoleCrossAccount",
          "Effect": "Allow",
          "Sid": "VisualEditor0"
        }
      ]
    }
    

Rate this content

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\