diff --git a/.gitignore b/.gitignore index 4958b9c..c4ca12d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ venv/ __pycache__/ # Site and build directories -site/ +# site/ # IDE and editor files .vscode/ diff --git a/site/404.html b/site/404.html new file mode 100644 index 0000000..a3f19b9 --- /dev/null +++ b/site/404.html @@ -0,0 +1 @@ +
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
After logging into https://portal.3Engines.com/ press Organization button on the left bar menu.
In My Organization tab you can register an organization and become its administrator or join an organization if you have invitation code provided by it’s administrator.
To register new organization please fill up all fields marked with * and press Register Organization button. Once you register your organization you will be able to view and edit details.
TAX ID / VAT field is not required but without providing the data you wont be able to complete automatic order or start new contract. VAT field is required if you need to receive invoice with correct tax rate.
After registration, please go back to the left bar menu and select Organization.
In My Organization tab you will be able to:
- check organization registration date
- view and edit organization name, address and TAX ID / VAT number
- manage assignments
After logging into https://portal.3Engines.com/ press Wallets/Contracts button on the left menu bar:
you will see the following 3 billing modes:
PPUSE (Pay Per Use Wallet)
This is a prepaid billing mode where services are billed according to usage. Tenant purchases a credit in a form of Billing Units (BU) with are added to his system wallet and are used to provision and keep resources and services. Billing Units (BU) are evaluated to 1 Euro for the sake of Price List. Billing Units (BU) are purchased through e-commerce or written contracts. Every 2 h tenant credit is decreased with the cost of used resources billed with an accuracy of up to 2 seconds. This is a very flexible mode that allows to create and remove resources at will and pay only for the used resources. This is a mode useful for experimental and development work or for environments with very variable resources.
To add an additional wallet please click Add wallet button on the top. To add funds to your already created wallet you need to use Transfer funds option. Please note that a wallet can be deleted once all funds are transferred to another wallet. You can check your billing by clicking Billing report button.
PAYG (Pay As You Go Contract)
This is a postpaid billing mode where Tenants are invoiced periodically based on actual usage. In this mode, a Tenant signs a written contract and is billed usually on monthly bases for actual usage of services and resources. PAYG contracts are purchased only through our sales department in a form of written contracts. With the exception of FIXED-TERM orders all services and resources ordered under Accounts/Projects that are attached to the PAYG contract will be added to the invoice issued at the end of agreed period. Billing is done every 2 hours. Tenants sees the increase in usage with the cost of used resources billed with an accuracy of up to 2 seconds.
To add PAYG wallet you need to raise a ticket first (please check Helpdesk and Support).
FIXED-TERM (Fixed Term Contract)
This is a billing mode where services are bought for longer periods. In this mode, Tenant purchases defined services for defined periods. FIXED-TERM contracts are purchased through e-commerce or written agreements. The long-term resources are paid directly according to price and currency stated. One cannot then change these resources but on the other hand obtains much cheaper offering. This mode is preferable for long-term usage of well-defined environments with well understood needs.
In order to successfully apply FIXED-TERM billing mode to given service in particular billing session, the contract is required to fulfill the following conditions:
- Be active at the beginning of the session or at the moment when resource is launched;
- Be active till the end of the 2 hours billing session.
If any of the conditions listed above is not met, service is to be billed in PPU/PAYG mode.
As a result of described billing system behavior, if contract is activated after launching services, FIXED-TERM billing mode is to be applied to them at the beginning of next billing session and not immediately.
To check how to add wallet to specific project please visit /accountmanagement/Accounts-and-Projects-Management.
A cookie is a small text file that your browser stores in local environment and later uses to track or recognize your activities on the site.
Cookies are an essential tool for the remote site to deliver the best possible user experience. The downside for the user is the potential loss of online privacy which may, among other reasons, be caused by
- the site itself (if it uses its own cookies in a way that is detrimental to the user),
- by many other sites that see available cookies and decide to gather reconnaissance about your surfing activities.
3Engines Cloud is using Cookiebot software to manage cookies consent from the user. It will show you all of the cookies that your browser is storing and you will be able to choose which types of cookies should 3Engines Cloud take into account. Both Cookiebot and 3Engines Cloud site are GDPR compliant, however, 3Engines Cloud also has its own Privacy Policy in effect.
Of particular relevance is Cookiebot page Logging and demonstration of user consents.
Note
You can directly interfere with cookies from your browser, operating system, network or VPN access software. This boils down to detecting, showing, hiding, tracking or removing access to certain types of cookies and so on. These methods are, however, out of scope of this article.
This is the Cookiebot window on 3Engines Cloud:
You will see it when visiting one of these sites for the first time:
Cookiebot is interactive and you can change your cookies preferences while using the site. If the consent for using cookies was withdrawn, you are also going to see the same starting Cookiebot window when visiting these sites after the change.
Click on button Allow all will do what it says – the site will record all types of cookies and, consequently, to track your behaviour completely. This option will unleash the full power of the site and you will always be able to use all of its capabilities. For you as the user, it is also the easiest and fastest way of dealing with cookies on the site.
To see the cookies that you can give your consent to, click on Details.
There are five types of cookies and you may need to scroll down to see them all.
When shown for the first time, the left button will contain label Deny. Choosing it will turn off all of the cookies apart from the Necessary cookie type, which by default cannot be turned off. If you do not like the fact that that is the default, refrain from using the site.
This is the most basic type of cookie and the site presumes you have already given consent to it. That is why the check button to the right of the row,
, is already set to “ON”. Technically, you can try to remove the consent by clicking on that button, but you will be met with a message like this:
You can also see additional details about that cookie type and the cookies it contains. By clicking on the name of the cookie, you will be able to see from which company it is, what it looks like and so on.
The number of cookies that Cookiebot is showing may vary wildly and will be increased if the sites you visit are using:
- interactive elements, such as chat widgets, embedded maps, videos etc.
- advertising networks,
- analytics tools,
- CDN (Content Delivery Network),
- recommendations,
- affiliate marketing,
- testing procedures
and so on.
Some large content sites may use up to 30-40 cookies per visitor – that alone will increase the general number of cookies you see through Cookiebot.
If you delete some or all cookies, perhaps using the browser of your choice, the numbers the Cookiebot will show will be almost zero (but with each visit to another site or sites, that number is almost sure to grow).
Enabling this cookie permits the site to store the preferences such as preferred language or region you are in.
For storing anonymized statistics. In spite of your data being stored in the background of the site, these cookies will not be revealed to third parties (unless forced by law).
Used to create user profiles to send advertising. If you opt out of this cookie type, you may miss some new features of the site or, eventually, miss on promotional campaigns, sales offers and so on.
All other types of cookies, if any, that have not been classified as yet.
Click on toggle button on the right side of the form window and when you finish selecting, click on Allow selection to confirm, or again, click on Allow all to activate all of them.
This option explains what cookies are and also provides links to Privacy Policy and, more specifically, to Cookie Policy.
You can still change cookie consent by clicking on Customize, which will lead you back to Details tab (already explained above).
Once you click either Allow selection or Allow all buttons, the form will disappear and your selection will be fixed. To change it, click on icon
in the lower left browser window corner.
A smaller window will appear:
Clicking on Withdraw your consent, all types of cookies will be annulled except the necessary one.
Button Change your consent will lead to the Details tab we already discussed, where you will be able to edit your cookies preferences.
To see what your consent data look like, click on Show details:
Each consent you give to the site, generates a unique consent ID, which, together with the time and date, you can see in the image above. Consent ID is random, anonymous, encrypted and unique. In that way, user anonymity is preserved while the site is still in a position to conclude whether the consent was actually provided or not.
The cookie is saved on backend servers for 12 months. It is also saved in your browser so that the website can automatically read and respect the user’s consent on all subsequent page requests.
You can see the contents of the cookie file through various browser options and also through a file viewer on your desktop computer. It is quite possible (but not at all advisable) to delete the cookie file outside of the browser. In particular, deleting the entire cookie by force will also delete the necessary part of the cookie. You may, then, lose access to the site, be forced to contact Helpdesk and Support and so on.
Cookiebot procedures are exactly the same on subdomains or the dashboard.
Here is what cookie consent window will look like, for example, on https://ecommerce.3Engines.com/:
Set the cookies up by clicking on
icon in the lover left part of the browser window.
After logging into https://portal.3Engines.com/ press My Profile button on the left bar menu.
In My Profile tab you will be able to:
- check your email address and registration date
- view and edit your name and country
- change your password
- view and edit accepted agreements
Go to the login page and click on Forgot Password button.
Enter your email address into the field and press Submit button. Check your mailbox for further steps.
Open the link from email and set up a new password.
After that, click Submit button.
If you haven’t received a message, check your SPAM folder. If you forgot the email address or the message can’t be delivered successfully, please contact our Support Team.
After logging into https://portal.3Engines.com/ press the Tickets button on the left menu bar to create or manage your tickets.
There are few tabs available in Tickets menu:
- ALL - allows you to view all your tickets
- OPEN - shows your open tickets
- CLOSED - contains list of closed tickets
As it is shown on the above picture, all tickets are categorized by Key, Topic, Status, Type, Created date and Last update date. You can sort your tickets by Type. For this purpose choose Support, Problems, Sales, Billing and Accounting, from the top drop down list. To check details or add a comment to existing tickets, please use Show details option on the right side of the window.
If you want to create a new ticket, press Add ticket button on the top of the side.
Choose proper category, add Summary, describe the issue and press Create request button. Once you press the button ticket will be visible in the OPEN tab.
To log into a site, you usually provide user name and email address during the creation of the account and then you use those same data to enter the site. You provide that data once and that is why it is called “one-factor” authentication. Two-factor authentication requires the same but considers it to be only the first step; on 3Engines Cloud cloud, the second step is
- to generate six-digit code using the appropriate software and then to
- send it to the cloud as a means of additional certification.
Cloud parameters for authentication and, later, OpenStack CLI access, are found in a so-called RC file. This article will help you download and use it to first authenticate and then access the cloud using OpenStack CLI commands.
- How to download the RC file
- Adjusting the name of the downloaded RC file
- The contents of the downloaded RC file
- How to activate the downloaded RC file
- One factor authentication
- Two factor authentication
- Testing the connection
- Resolving errors
No. 1 Account
You need a 3Engines Cloud hosting account with access to the Horizon interface: https://horizon.3Engines.com.
No. 2 2FA
If your account has 2FA enabled (which you will recognize from the respective prompt when authenticating), you need to install and configure a piece of software which generates six-digit codes used for 2FA. To set that up, follow one of these articles, depending on the type of device you are using:
No. 3 OpenStackClient installed and available
Installing OpenStackClient on various platforms will also install the ability to run the .sh files. Since OpenStack is written in Python, it is recommended to use a dedicated virtual environment for the rest of this article.
Click on account name
Top right corner of the Horizon screen contains the account name. Depending on the cloud you are using, you will see a menu like this:
| WAW3-1, WAW3-2, FRA1-1 |
| ../_images/click_on_email.png |
Click on API Access
Navigate to API Access -> Download OpenStack RC File. Depending on the cloud you are using, you will see a menu like this:
| WAW3-1, WAW3-2, FRA1-1 |
| ../_images/download_rc_file_2fa.png |
Option OpenStack clouds.yaml File is out of scope of this article.
Choose the appropriate option, depending on the type of account:
You only need one copy of the RC file at any time. If you downloaded more than one copy of the file to the same folder without moving or renaming them, your operating system may differentiate amongst the downloaded files by adding additional characters at the end of the file name.
By way of example, let the downloaded RC file name be cloud_00734_1-openrc-2fa.sh. For your convenience, you may want to
- rename it and
- move to the folder in which you are going to activate it.
RC file sets up environment variables which are used by the OpenStack CLI client to authenticate to the cloud. By convention, these variables are in upper case and start with OS_: OS_TENANT_ID, OS_PROJECT_NAME etc. For example, in case of one-factor authentication, the RC file will ask for password and store it into a variable called OS_PASSWORD.
Below is an example content of an RC file which does not use 2FA:
File which supports 2FA will have additional pieces of code for providing the second factor of authentication.
The activation procedure will depend on the operating system you are working with:
Assuming you are in the same folder in which the RC file is present, use the source command:
The same source command should work on macOS. In some versions of macOS though, an alternative command zsh could serve as well:
Note that in both cases ./ means “use the file in this very folder you already are in”.
On Windows, to execute file with .sh extension, you must have an installed application that can run Bash files.
See Prerequisite No. 3, which describes in more detail how to run .sh files using various scenarios on Windows.
The activated .sh file will run in a Terminal window (user name is grayed out for privacy reasons):
Enter the password, either by typing it in or by pasting it in the way your terminal supports it, and press Enter on the keyboard. The password will not be visible on the screen.
If your account has only one-factor authentication, this is all you need to do to start running commands from command line.
If your file supports two-factor authentication, the terminal will first require the password, exactly the same as in case of one-factor authentication. Then you will get a prompt for the second factor, which usually comes in shape of a six-digit one-time password:
To get the six digit code, run the app that you are using for authentication. As recommended in Prerequisite No. 2, it may be
- FreeOTP on mobile,
- KeePassXC on desktop, or you may run
- other software of your choice, or you can even write
- your own Python or Bash code to generate the six digit code.
Let’s say that, for example, you are using FreeOTP on mobile device and that this is the icon you assigned to your account:
Tap on it and the six-digit number will appear:
This six-digit number will be regenerated every thirty seconds. Enter the latest number into the Terminal window and press Enter on the keyboard. If everything worked correctly, after a few seconds you should return to your normal command prompt with no additional output:
When you source the file, environment variables are set for your current shell. To prove it, open two terminal windows, source the RC file in one of them but not in the other and you won’t be able to authenticate from that second terminal window.
That is why you will need to activate your RC file each time you start a new terminal session. Once authenticated and while that terminal window is open, you can use it to issue OpenStack CLI commands at will.
If not already, install OpenStack client using one of the links in Prerequisite No 3. To verify access, execute the following command which lists flavors available in 3Engines Cloud cloud:
You should get output similar to this:
jq is an app to parse JSON input. In this context, it serves to process the output from the server. It will be installed on most Linux distros. If you do not have it installed on your computer, you may get a message like this:
To resolve, download from the official support page and follow the directions to install on your operating system.
If you are using Git Bash on Windows and running into this error, Step 6 of article on GitBash from Prerequisite 3, has proper instructions for installing jq.
If you enter a wrong six-digit code, you will get the following error:
Call to Keycloak failed with code 401 and message
+ {
+ "error": "invalid_grant",
+ "error_description": "Invalid user credentials"
+}
+If that is the case, simply activate the RC file again as previously and type the correct credentials.
Activating a 2FA RC file requires access to 3Engines Cloud account service because it involves not only setting variables, but also obtaining an appropriate token.
If you do not have an Internet connection, you will receive the following output after having entered a six-digit code:
It will be followed by an empty line and you will be returned to your command prompt.
To resolve this issue, please connect to the Internet and try to activate the RC file again. If you are certain that you have Internet connection, it could mean that 3Engines Cloud account service is down. If no downtime was announced for it, please contact 3Engines Cloud customer support: Helpdesk and Support
If your account does not have two-factor authentication and you entered a wrong password, you will not get an error. However, if you try to execute a command like openstack flavor list, you will get the error similar to this:
The request you have made requires authentication. (HTTP 401) (Request-ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
+Instead of x characters, you will see a string of characters.
To resolve, activate your file again and enter the correct password.
If you have a 2FA authentication enabled for your account but have tried to activate the non-2FA version of the RC file, executing, say, command openstack flavor list, will give you the following error:
If that is the case, download the correct file if needed and use it.
With the appropriate version of RC file activated, you should be able to create and use
- instances,
- volumes,
- networks,
- Kubernetes clusters
and, in general, use all OpenStack CLI commands.
For example, if you want to create a new virtual machine, you can follow this article:
How to create a VM using the OpenStack CLI client on 3Engines Cloud cloud
If you want your new virtual machine to be based on an image which is not available on 3Engines Cloud cloud, you will need to upload it. The following article contains instructions how to do it:
How to upload your custom image using OpenStack CLI on 3Engines Cloud
In this article you will learn how to use PPU (Pay Per Use) wallet in order to cover expenses of your account at 3Engines Cloud.
- Check for the correct tax ID or VAT number
- Select PPU as your way of payment
- Define how many credits for PPU service
- Choose payment method
- Check payment reports
No. 1 Account
You need a 3Engines Cloud hosting account with access to the Horizon interface: https://portal.3Engines.com/.
No. 2 Have payment details ready
You can pay either through bank transfer or through Stripe, in which case you can use your credit cards and other means of online payment. Be sure to have the payment information ready before you start the payment process.
Transactions over 10,000 Euros must be made using a bank transfer.
You are going to pay with the data you enter for the organization. Be sure that you have the correct tax ID or VAT number and ready to enter, if needed.
No. 3 Useful articles
As explained in Wallets and Contracts Management, there are three ways of paying for the services on 3Engines Cloud platform:
In case you have not entered organization data yet, see article Adding and editing Organization
Field Company tax ID / VAT number must be filled in with correct data.
You can check it by going to: https://portal.3Engines.com/panel/profile/organization
Without it, you won’t be able to make an order. An error like this one will appear:
On this link, you choose the actual contract type: https://ecommerce.3Engines.com/
Click on Buy now (assuming you will choose Pay Per Use), otherwise, click on Choose Fixed term to opt for Fixed term payments.
Either by clicking button Buy now or by visiting the following link directly: https://ecommerce.3Engines.com/checkout/pay-per-use/, you will start the process of paying for PPU.
Let’s say that you want to buy for 250 units, where each unit costs 1 Euro.
If you have only one wallet, the default wallet will be automatically offered. If you, however, have several wallets, choose the proper one for this order.
Check whether the information about your organization is correct and proceed to payment.
There are two different ways of payment:
Again, transactions over 10,000 Euros must be made using a bank transfer.
You will see a summary with a new invoice on the bottom of the page.
If you chose direct bank transfer, scroll down to the payment section and click Pay:
Check whether the invoice amount matches the actual balance. The invoice in the upper right corner next to the eye icon marked with red line.
Check on status of the invoice by going to this link: https://ecommerce.3Engines.com/transaction-list/
Check your wallet as well: https://portal.3Engines.com/panel/orders/pay-per-use
There are two ways of reaching to us in case of any problems:
In order to use your 3Engines Cloud account, you need to set a password, and an additional factor of authentication. For the latter, the TOTP algorithm is being used. In this article you will learn how to manage your TOTP configuration.
No. 1 Account
You need a 3Engines Cloud account: https://horizon.3Engines.com
No. 2 2FA set on your account
During account initialization, you will be prompted to configure 2FA TOTP software. You can, for instance, use one of the following articles for that purpose:
When you try to use 3Engines Cloud dashboard at https://portal.3Engines.com/, you will see an advice on the order of operations to start using the dashboard properly.
The option to use is Configuration -> Organization.
See article Adding and editing Organization.
Go to the eCommerce site and top up your wallet with the required funds.
See article How to buy credits using Pay Per Use wallet on 3Engines Cloud.
Go to “Cloud projects” and activate the project in the cloud/region you are interested in. The options to choose are Billing and Reporting -> Cloud projects/Wallets.
At the moment of this writing, there were four different regions to choose from: WAW3-1, WAW3-2, WAW4-1, FRA1-2. These regions are actually clouds running under OpenStack and in each you can have your own virtual machines, access to EO data, create Kubernetes clusters and so on. Although all clouds are running under OpenStack, there are differences in available software, hardware, resources and so on, so it pays to learn which cloud is best for you.
You may want to work with all these clouds at the same time, maybe with different groups of people working on different projects and so on.
It is up to you to activate all these clouds at once… or just one… or anything in between. The regions/clouds you activate in the dashboard can be seen in the Horizon dashboard, in the menu.
To start using the services, choose proper Cloud Panel from the Management Interfaces.
It will lead you to page https://horizon.3Engines.com:
Let’s say we want to work with cloud WAW3-1.
Click on Sign In and the Horizon will show up. Horizon will remember which project and cloud were active previously and will return to them automatically. If you want to work with another cloud, select it manually.
Important
One user can only be assigned to one organization at a time.
To invite a new user to your organization you need to share an invitation code.
After logging into https://portal.3Engines.com/ press Invitations button on the left bar menu.
Now you can copy an invitation code by clicking on Copy to clipboard button and send it to a new user by email.
After receiving the code, the user will join the organization by
- clicking Join an Organization in Organization tab and
- pasting the invitation code.
As an organization admin, you need to accept the invitation first.
Go to the Invitations tab and choose an invitation that you want to accept or – in other case – reject.
After accepting the invitation you will be able to add/edit roles. For more details please check Tenant manager users and roles on 3Engines Cloud.
If you are not redirected, click here.
Go to the https://portal.3Engines.com/ site and press CREATE ACCOUNT button.
Fill up all fields marked with * including accepting mandatory terms and conditions and press Create Account button.
Please note that marketing consents are not mandatory and can be changed at any time.
Once you create account below screen will appear. Please check your mail box and verify mail. After that you will be able to log in.
For general information about types of account and user roles you may have in Dashboard, see Tenant manager users and roles on 3Engines Cloud
After creating personal account you can either create new company account or join an existing account. See articles:
Adding and editing Organization
Inviting new user to your Organization
If you are a single user you can only access a limited number of services.
See article How to start using dashboard services on 3Engines Cloud
After logging into https://portal.3Engines.com/ press Sub-accounts button on the left bar menu to check the list of members of your Organization.
Select user that you want to be removed and press Unassign button on the right side and after that press Confirm button.
User will have received notification about removing from your Organization.
After logging into https://portal.3Engines.com/ press Active services button on the left bar menu.
In this tab you are able to filter your services by Project or by Product.
You can also check what type of contract or billing mode is assigned to your services. For more details please visit /accountmanagement/Accounts-and-Projects-Management.
PAY PER USE - user can assign wallet to specific project in the Accounts tab
PAY AS YOU GO - user can assign wallet to specific project in the Accounts tab
FIXED TERM - is assigned by 3Engines Support Team during the contract creation
Please note that PPU/PAYG assignment status is visible in the Accounts tab.
An OpenStack role is a personality that a user assumes to perform a specific set of operations. A role includes a set of rights and privileges. A user assuming that role inherits those rights and privileges. OpenStack roles are defined for each user and each project independently.
A Tenant Manager role, on the other hand, defines whether a user should have the ability to manage an organization via the Tenant Manager or have access to OpenStack.
- The difference between User Roles and Tenant Manager Role
- List three basic roles an organization administrator you can assign
- Show how to add a member+ role, which can have access to OpenStack and be used for managing projects
After logging into https://portal.3Engines.com/ click on the Sub-accounts button on the left bar menu.
Here you are able to:
- Check your organizations’ list of users and their roles
- Remove users from or add them to your organization (admin role)
As an organization administrator you can assign one of the following roles to a user:
- admin - user with highest privileges, can manage whole organizations and has access to OpenStack.
- member - default user with basic privileges.
- member+ - the same as member but has OpenStack access and can manage projects.
Users with the role of member+ have access to OpenStack and can be enabled to manage your organization projects. They cannot however, manage the organization itself.
To add a member+ user to the project, follow these steps:
1. Check if your user has a member+ role in Tenant Manager.
2. Log into https://horizon.3Engines.com as an admin.
3. Select Identity → Projects
4. Select the project you want to add a user to and select Manage members
5. Add the desired user(s) to the project by clicking on the “+” button next to them.
6. Choose a suitable project role for the user and confirm by clicking Save in the lower-right corner.
7. Next time the user will log into https://horizon.3Engines.com OpenStack Horizon, the suitable access to the project will be granted.
The article Inviting new user to your Organization shows how to invite a new user.
To the contrary, article Removing user from Organization shows how to remove a user from the organization.
The article /accountmanagement/Accounts-and-Projects-Management is a general guidance to creating and managing accounts and projects on 3Engines Cloud.
Warning
Two-Factor Authentication is required for all 3Engines Cloud users. The only exception are accounts which log in using Keystone credentials.
Traditionally, the most basic way to implement security online was to authenticate users and companies with a pair of usernames/passwords. Most usernames are email addresses and if email address is breached, the bad actor can probably learn your password too. What once used to be secure enough is not secure now because of easy access to refined brute force methods, availability of computing power at scale, social engineering methods, identity theft and so on.
The way to overcome this limitation is to introduce two or more factors or types of user authentication. These could be
- something the user knows (email address, the name of their first pet etc.)
- something the user has (token generator, smartphone, credit card etc.) or
- biometric information such as fingerprint, iris, retina, voice, face and so on.
Logging into the 3Engines Cloud site uses two-factor authentication, meaning you will have to supply two independent types of data:
- the “classical” username and password, as well as
- the numeric code supplied by a concrete mobile app.
This article is about using mobile devices to authenticate to the cloud. If you want to use your computer to do that, see Two-Factor Authentication to 3Engines Cloud site using KeePassXC on desktop.
You will first have to install one of the following two mobile applications, for Android or iOS mobile operating systems:
- FreeOTP, where OTP stands for One Time Password, or
- Google Authenticator.
We can use “mobile authenticator” as a generic term for a mobile app that can help authenticate with the account.
You can use FreeOTP with Google accounts instead of Google Authenticator app.
If you already use Google Authenticator app for other accounts, you may prefer it over FreeOTP.
Warning
If your accounts are protected by Google Authenticator and it stops working, then you risk losing all the data that were behind those protected accounts. The most common scenario is to switch to a new phone number and then not be able to verify the accounts via a text message to the previous phone number.
In this tutorial, you are going to use the FreeOTP app.
Warning
If you lose access to QR codes and cannot log into the Horizon site for 3Engines Cloud, ask Support service to help you by sending email to the following address support@3Engines.com.
- How to start using the mobile authenticator
- How to locate, download and install FreeOTP app on your mobile device
- How to set up FreeOTP app and connect it to your 3Engines Cloud account
- How to get new code each time you want to enter the site
Use only one of the four possible combinations for two apps and two app stores.
No. 1 FreeOTP app in Google Play Store
Download FreeOTP app in Google Play Store using this link.
No. 2 FreeOTP app in iOS App Store
Download FreeOTP app in iOS App Store using this link.
No. 3 Google Authenticator in Google Play Store
Download Google Authenticator in Google Play Store using this link.
No. 4 Google Authenticator in iOS App Store
Download Google Authenticator in iOS App Store using this link.
Warning
You should install the authenticator app before trying to log into the 3Engines Cloud site.
You are now going to download, install and use the FreeOTP app to authenticate to 3Engines Cloud site.
Using the App Store icon from the desktop of your iOS device, locate app called freeotp. A screen like this will appear:
Tap on GET and the app will start downloading to your device.
It may take a minute or so and then install it by tapping on button Install.
Once installed, type on Open and the app will run. At first, there will be no tokens to work with:
Note
FreeOTP can also use tokens to secure access to the remote site. The 3Engines Cloud site uses QR code, so that is what you will use in this tutorial. (Both “token” and “QR scan” denote a secure connection to the site, but use different techniques in the process.)
Select a brand, which means select an icon that will make your tokens stand out graphically. If you will employ this app only to get access to 3Engines Cloud, you may select whichever icon you want.
In the next step, you may require that the phone is unlocked when the token is to be activated. Choose that if you are afraid someone might steal your phone and get access to your 3Engines Cloud data that way.
Clicking on information icon will show you legal details about this app.
To scan the QR code, use a QR like icon in the upper part of the screen, like this:
Click on it to get to the scanner part of the application and read the QR code from the login screen.
Note
The QR code will appear on screen when you first try to log into the 3Engines Cloud site (see below).
Finally, you will see a row within the FreeOTP app, with the icon you chose and with the code that will appear automatically. For instance, the code is 289582 and that is the code that you need to enter when the site asks you for One-time code.
If you created several tokens or repeatedly scanned QR code from the screen, you may see the appropriate number of rows on the mobile screen:
Tapping on any of these will produce the six-digit code that you have to type into the entry form to get logged in. Only one of these will be the right one, in this case, the first row produces the correct six-digits code for 3Engines Cloud site.
You are now ready to log into the 3Engines Cloud site using the two-factor authentication.
Use the usual link https://horizon.3Engines.com to log into your 3Engines Cloud account and choose 3Engines Cloud in the input menu.
Click on blue button Sign In and enter your username / email and password:
If the data you entered has not already been linked to two-factor authentication, the next screen will be Mobile Authenticator Setup:
This screen will contain the QR code that you have to read from using the mobile authenticator app, in this case, the FreeOTP app.
At this moment, start using the mobile device – activate the FreeOTP first if not already active, scan the QR code with the QR icon and, as explained above, get the six-digit code on the mobile device screen.
Retype that six-digit code into the One-time code field on computer screen. It is denoted by an asterisk, meaning that it is mandatory to enter a value into this field.
You can use the field Device Name to remind yourself on which device was the mobile authenticator app installed on.
Click on Submit and you will be brought back to the Sign in screen from the beginning:
Here is the workflow in one place, with all of the screens repeated for easy reference.
Use the usual link https://horizon.3Engines.com to log into your 3Engines Cloud account and choose 3Engines Cloud in the input menu.
Click on blue button Sign In and enter your username / email and password:
Since the two-factor authentication is already installed, you will only see the window to enter the six-digit code.
Now activate the mobile authenticator app and get the code on the device screen, for instance, like this:
In this case, the code is 828966. Enter it into the form, Submit and you will be logged in.
Note
If the FreeOTP app is in the foreground on the mobile device while you are submitting the username and password, the app will react automatically and the proper six-digit code will appear on its own on the authenticator device.
As mentioned in the beginning, you can use your computer for two-factor authentication – see article Two-Factor Authentication to 3Engines Cloud site using KeePassXC on desktop.
Either using mobile device or computer to authenticate, you will be logged into Horizon. You will then need to activate access to 3Engines Cloud cloud API functions and be able to run openstack command. Please see article How to activate OpenStack CLI access to 3Engines Cloud cloud using one- or two-factor authentication.
To learn how to manage your TOTP secret key, visit the following article: How to manage TOTP authentication on 3Engines Cloud - it can be useful if you, for instance, want to use a different method of authentication, are unable to extract your secret key from currently used piece of software such as FreeOTP and do not have your secret key backed up in a readable way.
Please see article Two-Factor Authentication to 3Engines Cloud site using mobile application if you want to use a smartphone app for the TOTP two-factor authentication.
If you, however, want to use your desktop or laptop computer instead, KeePassXC is probably a good choice for you. It is a free and open source graphical password manager. It stores passwords, TOTP keys and other secrets in a file on your computer. You can later, for example, move that file manually to a different computer to use that device instead of the current one.
Contrary to software such as BitWarden, 1Password or LastPass, KeePassXC does not have any cloud sync features.
Attention
Since KeePassXC does not provide any cloud storage, you need to make sure that you do not lose your file and whatever is required to decrypt it. You will lose all the content of the file if you lose any of these objects. The backup of this file should be performed.
If you already have KeePassXC installed and configured, skip to Step 3 Adding Entry or 4 Configuring the TOTP.
The following instructions are for Ubuntu. If you use a different operating system, please refer to the appropriate documentation.
Install KeePassXC before logging in to the 3Engines Cloud website. Open the terminal, type the following command and press Enter:
Launch KeePassXC. During its first run, you will see the following window:
Click the button Create new database it in order to create a file in which you can store your passwords, TOTP keys and other secrets. Now you will see the following window:
In the first step of database creation you may provide its name and discription. The name provided here will not be the name of your file, so you may leave it as it is. Click Continue. The following window will appear:
Next, you may choose how long should the decryption of your database take. However, please keep in mind that, as it is written in that window, Higher values offer more protection, but opening the database will take longer. Leave the default database format and click Continue. You will now see the following window:
Now you need to provide the password for decrypting your database. Enter it again in the second text field. You can also add additional security measures using the button Add additional protection…, but if you are just getting started in might not be needed.
Attention
If at any point in the future you are unable to provide your password (for example, because you have forgotten it) and any additional protection measures you configured, you will be locked out of your database and potentially lose all of its content.
Click Done.
Choose the name for the file containing your secrets and its location. Click Save.
Your database should now be operational. Let’s create the entry containing your username, password and TOTP for the 3Engines Cloud cloud. Click Add a new entry (the fourth button on the toolbar, marked with the red rectangle on the screenshot below.
The following window will appear:
In the Title field enter the name under which your entry should be identified in your database, for example 3Engines Cloud. Then, type your username and password.
Click OK to save the entry.
If the option Automatically save after every change in the General section of the application settings is enabled, you do not have to save. If not, press CTRL+S to save the database.
Now we need to obtain your TOTP key.
After having created an account on https://horizon.3Engines.com but before first login, you will receive the Mobile Authenticator Setup prompt, as in the following image:
Since you are using a computer which cannot act as a mobile device, click Unable to scan?. The QR code will now be replaced with your key:
Copy the code with which the QR code has just been replaced.
Once you have your TOTP key,
- return to KeePassXC,
- right-click the entry for your account and
- choose the TOTP… -> Setup TOTP… option.
You will see the following window:
Paste your key there into the text field Key: and keep the checkbox Default RFC 6238 token settings checked. Click OK.
In order to view your code, right-click the entry and select TOTP… > Show TOTP…. It is easier, however, to simply
- left-click that entry and
- press CTRL+Shift+T.
You can also press CTRL+T while your entry is highlighted to copy your TOTP code to your clipboard (remember that depending on settings it will disappear from your clipboard, so make sure that you paste it in time).
The window with the code will look like this:
Type your 6-digit code from the above window to the text field One-time-code on the 3Engines Cloud website and choose how you would like to call your device containing the TOTP key. Please make sure that you do it before that key expires. If the key expires, you will get another one and you should type it instead. Click Submit. You should now be able to proceed with your login process.
If the method of TOTP authentication you are currently using allows you to extract the secret key(or you have it backed up somewhere), you should be able to use that same secret key which you are currently using for KeePassXC as well.
If no other options remain, contact 3Engines Cloud customer support for assistance.
Either way, eventually you should get your secret key. Enter it in KeePassXC the same way as explained in Method 1 above - to the Key: text field. If that secret key is already added and configured for your account, no further action should be necessary. If not and you are in the process of configuring it, paste the 6-digit TOTP code from KeePassXC in the same way as you entered the code from your other device during account setup.
Each time you login, type your credentials normally. After that you will see the following text field:
Generate your TOTP code as explained before (left-click the appropriate entry in KeePassXC and press CTRL+Shift+T) and type that code in the text field One-time code in your browser. If you want to simply copy your code to your clipboard, press CTRL+T while your entry is highlighted (remember that depending on settings it will disappear from your clipboard, so make sure that you paste it in time). Each code lasts only 30 seconds, so if you only have a few seconds remaining on your current code, you might want to wait until the new one is generated. Now you should be signed in.
You can find additional information about using KeePassXC in its official documentation.