GuidesAPI Reference
Guides

Concepts

This topic provides an overview of IAM concepts.

Authentication

Authentication identifies a user or an app, and determines what HERE resources and services the user or app can access. For example, when you log in to the HERE platform with a user name and password, you have access to your authorized HERE resources and services. The authentication process also gives you the option of using API keys, OAuth 2.0 tokens, and OIDC tokens to authenticate your identity.

For more information, see Manage authentication.

Authorization

Authorization designates what a user or app can do with the HERE resources and services they can access. You configure authorization levels using entities, permissions, roles, and resources. For more information, see Manage authorization

Entities

In IAM, entities define specific permission sets, collections of identities, and resources.

The following table provides definitions of the entities that comprise IAM:

EntityDefinition
OrganizationScopes all IAM entities, HERE services, and resources within the same security namespace.
IdentityThe identifier for a user or app. Org admins and org inviters can invite new users to their org. For more information about users, see Invite users and Manage users. For more information about apps, see Manage apps.
GroupA collection of identities. Any identity can create groups. Both org admins and group admins can manage group memberships. For more information, see Manage groups.
ProjectAn access-controlled collection of resources, such as catalogs, pipelines, schemas, and services. Any identity can create new projects. Both org admins and project admins can manage projects. For more information, see Manage projects.
ResourceA HERE resource identified by a unique HERE Resource Name (HRN).
PermissionA rule for defining fine-grained access control to HERE services and resources. You manage permissions and can assign them to all identities and groups.
RoleA set of specific permissions assigned to an identity.
Policy and planA bundle of permissions through access policies and plans.
Resource policies and resource plan resourcesA bundle of access controls to a project.
Access filterRestrictions of access to resources, based on specific conditions.

Permissions

Permissions let you control access to HERE services and resources. You can manage permissions and assign them to any identity or group.

The following table provides definitions for the parameters used IAM permission statements:

ParameterDefinition
idThe unique identifier for a permission.
serviceIDThe unique identifier for a service. You can use a service ID alias instead of the serviceId.
effectSets the permission to either "allow" or "deny".
actionThe action governing the permission. Each service has its own action defined.
resourceThe resource associated with the permission. Each resource uses a unique HERE Resource Name (HRN)

The following JSON code block is an example of an IAM permission statement's structure, which represents a permission configuration.

    {
        "id": "PERM-5d595ef9-d081-4ea5-b404-4c7bd816aec6",
        "serviceId": "account",
        "effect": "allow",
        "action": "read",
        "resource": "hrn:here:account::olp-here:app/0A1B2C3D4E5F6G"
    }

Roles

Following the "principle of least privilege," you should only grant the minimum required level of access to a user or app in your realm. IAM roles allow you to customize and extend this access, as outlined in the following table:

RolePermissions
UserDefault role when no other roles are selected. This includes invited identities, such as users and apps, that don't have any existing roles associated with them. Based on your realm subscription, the default policy may grant additional permissions, such as being able to view all identities in the organization, create groups, create apps and projects and so on.
Marketplace ConsumerView, purchase, and subscribe to products and services in the HERE marketplace.
Marketplace ProviderCreate and publish listings on the HERE Marketplace if also assigned the Org Admin role.
Org Admin• Invite new users
• Manage users
• Manage groups, projects, and access There can be multiple admins within an organization, and each organization must have at least one admin. HERE recommends that you limit the number of org admins, and instead perform user management with groups by group admins.
Org InviterInvite new users.
Resource Manager• Manage all apps
• Manage all resources
Org admins can toggle the Manage all apps and resources toggle on the user profile page in the Access Manager to become a Resource Manager.
Group AdminManage groups for which the Group Admin is the designate administrator.
IdP ManagerConfigure or change the IdP information within the organization.
Project AdminManage projects for which the Project Admin is the designated administrator.
Monitoring Dashboards Editor• Edit monitoring dashboards
• Edit notification channels
• Edit alerts.
Licensing AdminManage licenses for the organization.
Cross Realm Trust ManagerEstablish trust with another org for the purpose of sharing resources.
Restricted AccessRestricted access to the platform, only allowing read permissions for access to subscribed HERE services available to the organization. Restricted access users have access to these subscribed services, but can't access the management platform.
Restricted App AccessThis role allows the partner organization to prevent customer organizations from adding, deleting, or modifying existing app IDs. This is useful for managing subscriptions currently assigned to the organization app IDs, preventing the addition of subscriptions, or inadvertently deleting an app ID.

The RestrictedAppAccess role also allows customer organizations to perform common tasks such as viewing usage and app IDs. However, customer organizations should only have the RestrictedAppAccess role applied, and no others. The combination of multiple roles provides the invited user with permissions that apply for all the roles, which nullifies the restriction on adding, editing, or deleting app IDs.

HERE Resource Names

IAM uses HERE Resource Names (HRNs) as a standardized way to reference resources across different services and accounts. HRNs are unique HERE authentications that adhere to the following structure.

The following code block defines a format for an HRN string:

hrn:{partition}:{service}::{account}:{resource}
HRN parameterDefinition
partitionThe deployment region of the entity. The default value is "here" for everywhere except China, whose value is "here-cn".
serviceService name of the entity. Available values are "account", "authorization", or "iam".
accountThe Organization/realm of the entity.
resourceThe unique identifier for the resource.

The following table is a list of all current IAM HRNs:

Resource TypeHRN Format
Org/Realmhrn:here:account::{org}:realm/{orgId}
Userhrn:here:account::{org}:user/{userId}
Invitehrn:here:authorization::{org}:invite/{inviteId}
Applicationhrn:here:account::{org}:app/{appId}
API Keyhrn:here:account::{org}:apikey/{apikeyId}
Access Keyhrn:here:account::{org}:accesskey/{accesskeyId}
Secrethrn:here:account::{org}:secret/{secretId}
Identity Providerhrn:here:account::{org}:identityProviders/{identityProviderId}
Devicehrn:here:account::{org}:device/{deviceId}
Grouphrn:here:authorization::{org}:group/{groupId}
Projecthrn:here:authorization::{org}:project/{projectId}
Project Policyhrn:here:authorization::{org}:project/{projectId}:policy/{policyId}
Servicehrn:here:authorization::{org}:serviceDescriptor/{serviceId}
Rolehrn:here:authorization::{org}:role/{roleId}
Policyhrn:here:authorization::{org}:policy/{policyId}
Planhrn:here:authorization::{org}:plan/{planId}
Resource Policyhrn:here:authorization::{org}:resourcePolicy/{resourcePolicyId}
Resource Planhrn:here:authorization::{org}:resourcePlan/{resourcePlanId}
Access Filterhrn:here:authorization::{org}:filter/{filterId}