Using Duo as a multi-factor authentication (MFA) method

This topic provides general information about using Duo in conjunction with multi-factor authentication (MFA), including administrative tasks that must be completed before users can use Duo as an MFA method. If you are a user who wants to set up Duo as your second factor of authentication, see Configuring a second factor of authentication.

Note

Users in trial accounts and Snowflake Open Catalog accounts cannot use Duo as their second factor of authentication. For other options, see Configuring a second factor of authentication.

Users don’t need to separately sign up with Duo or perform any tasks, other than installing the Duo Mobile application, which is supported on multiple smartphone platforms. For more information about supported platforms/devices and how Duo multi-factor authentication works, see the Duo User Guide .

Prerequisite

The Duo application service communicates through TCP port 443.

To ensure consistent behavior, update your firewall settings to include the Duo application service on TCP port 443.

*.duosecurity.com:443

For more information, see the Duo documentation.

MFA login flow

The following diagram illustrates the overall login flow for a user enrolled in MFA, regardless of the interface used to connect:

MFA login flow

Switching phones used for MFA

Instant Restore is a Duo feature that allows a user to back up the Duo app before switching to a new phone. As long as a Snowflake user backs up their old phone first, they can use Instant Restore to enable authentication on the new phone without interrupting MFA for Snowflake.

If a user does not back up the old phone or loses the old phone, the Snowflake account administrator must help set up a new MFA method. For information, see Recovering a user who is locked out.

The following are error codes associated with MFA that can be returned during the authentication flow when the user is using Duo as their second factor of authentication.

The errors are displayed with each failed login attempt. Historical data is also available in Snowflake Information Schema and Account Usage:

Error CodeErrorDescription
390120EXT_AUTHN_DENIEDDuo Security authentication is denied.
390121EXT_AUTHN_PENDINGDuo Security authentication is pending.
390122EXT_AUTHN_NOT_ENROLLEDUser is not enrolled in Duo Security. Contact your local system administrator.
390123EXT_AUTHN_LOCKEDUser is locked from Duo Security. Contact your local system administrator.
390124EXT_AUTHN_REQUESTEDDuo Security authentication is required.
390125EXT_AUTHN_SMS_SENTDuo Security temporary passcode is sent via SMS. Please authenticate using the passcode.
390126EXT_AUTHN_TIMEOUTTimed out waiting for your login request approval via Duo Mobile. If your mobile device has no data service, generate a Duo passcode and enter it in the connect string.
390127EXT_AUTHN_INVALIDIncorrect passcode was specified.
390128EXT_AUTHN_SUCCEEDEDDuo Security authentication is successful.
390129EXT_AUTHN_EXCEPTIONRequest could not be completed due to a communication problem with the external service provider. Try again later.
390132EXT_AUTHN_DUO_PUSH_DISABLEDDuo Push is not enabled for your MFA. Provide a passcode as part of the connection string.