Receiving temporary credentials for AWS Sitewise Edge REST API


How can I receive the temporary credentials for AWS Sitewise Edge REST API without OpsHub UI?

asked 2 months ago31 views
1 Answer
Accepted Answer


you can get Edge credentials from https://<your_edge_gateway>/authenticate/.

Some Python code:

  • host is you edge gateway
  • user and password are credentials for your edge user.
  • auth_mech can be linux or ldap depending on your gateway configuration
def get_creds(host, user, password, auth_mech):
    url = f"https://{host}/authenticate/"
    data = { 
        "username": user, 
        "password": password, 
        "authMechanism": auth_mech

    headers = {
        "Content-Type": "application/json",
        "Accept": "application/json",
        print(f'\nfetching API credentials from: "{url}"')
        # disable bandit warning for disabling SSL cert checks
        # because we us a self signed cert for demo purposes only
        request =
            url, data=json.dumps(data),
            headers=headers, verify=False # nosec
        if 'accessKeyId' in request.json() and \
            'secretAccessKey' in request.json() and \
            'sessionToken' in request.json():
            print("\nAPI credentials for the edge:")
            print(f"they expire {request.json()['sessionExpiryTime']}")
            print(f"export AWS_ACCESS_KEY_ID={request.json()['accessKeyId']}")
            print(f"export AWS_SECRET_ACCESS_KEY={request.json()['secretAccessKey']}")
            print(f"export AWS_SESSION_TOKEN={request.json()['sessionToken']}")
            print('export AWS_REGION=Edge')
            print('ERROR: could not find credentials in response:')
    except Exception as error:
        print(f'ERROR: url: {url}: {error}')


answered 2 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions