Skip to content

IAM Identities

Users and roles are the foundation of IAM access control. Users represent individual identities, while roles group permissions that can be assumed by users or other Deployport services.

Create a new user in your account:

Terminal window
deployport iam users create <username>

Example:

Terminal window
deployport iam users create john-developer

A role is a collection of permissions that can be assumed by users or services to perform specific tasks. Unlike users, roles are not permanent identities - they provide temporary access to resources based on the policies attached to them. This makes roles ideal for applications, cross-service access, and situations where you need to delegate specific permissions without sharing long-term credentials.

Create a new role for grouping permissions:

Terminal window
deployport iam roles create <rolename>

Example:

Terminal window
deployport iam roles create developer-access

Role assumption allows users to temporarily gain the permissions of a role, providing secure access to resources without permanent credential assignment.

To assume a role and get temporary credentials with that role’s permissions:

Terminal window
deployport iam roles assume <role-name>

Example:

Terminal window
deployport iam roles assume r1

This will output a temporary Access Key ID and Secret Access Key that inherit the permissions of the assumed role. You can use these credentials in a terminal, from an app, or in SDKs.

apiVersion: deployport.com/v1
kind: AssumedRoleContext
metadata:
name: r1
spec:
accessKeyID: "<example>"
secretAccessKey: "<example>"
region: us-east-1
I have role assumption credentials, how can I test or use them?

The quickest way is to use a separate profile in your local computer to test the credentials.

Say we want to name such profile temp-role, you could assume the role and configure it in another profile with a single command by piping deployport iam role assume and deployport configure assume:

Terminal window
deployport iam role assume r1 | deployport configure --profile=temp-role assume

The temp-role profile on your machine now has the credentials assumed for the role.

Terminal window
export DEPLOYPORT_PROFILE=temp-role

Now you can run any other deployport command and it will use your role credentials.

  • Users for People: Create individual users for each person who needs access
  • Roles for Applications: Use roles for applications, services, and temporary access patterns
  • Meaningful Names: Use descriptive names that indicate the user’s role or the role’s purpose
  • Regular Review: Periodically review users and roles to ensure they’re still needed