This document describes how to set up multi-factor authentication (MFA) for Veracode with AuthPoint, and configure Veracode to integrate with AuthPoint SAML.
Veracode must already be configured and deployed before you set up MFA with AuthPoint. Veracode can be configured to support MFA in several modes. For this integration, we set up SAML with AuthPoint.
Veracode Authentication Data Flow with AuthPoint
AuthPoint communicates with various cloud-based services and service providers with the SAML protocol. This diagram shows the data flow of an MFA transaction for a Veracode.
Before You Begin
Before you begin these procedures, make sure that:
- A token is assigned to a user in AuthPoint
- End-users can log in to Veracode
- You have an AuthPoint identity provider (IdP) certificate (see Certificate Management)
To configure MFA for Veracode, you must first contact Veracode technical support to request that they enable SAML for your account. When SAML is enabled, users with the Administrator role can see the SAML tab on the Administration page.
- Send an email message to Veracode technical support ([email protected]) to request that they enable SAML for your account.
- Log in to WatchGuard Cloud.
- From the navigation menu, select Configure > AuthPoint. If you have a Service Provider account, you must select an account from Account Manager.
- Select Resources.
- Click Certificate.
- Next to AuthPoint certificate you will associate with your resource, click and select Download Certificate and Download Metadata. We recommend that you choose the certificate with the latest expiration date.
The AuthPoint metadata provides your resource, in this case Veracode, with information necessary to identify AuthPoint as a trusted identity provider.
- Log in to Veracode as an administrator.
- Click the settings icon and select Admin.
- Select SAML.
- Open the AuthPoint metadata file you downloaded and find the entityID value.
- In Veracode, in the Issuer text box, type or paste theentity ID value from the AuthPoint metadata file.
- Next to Assertion Signing Certificate, click Browse and upload the certificate you downloaded from AuthPoint.
- Select the Enable Self Registration check box.
- In the Self Registration Settings section, select the User Roles check box.
- Select these roles:
- Policy Administrator
- Security Lead
- Click Save.
Configure a User for SAML Access
There must be a user record in Veracode for a user to log in with SAML. To create a user record for a SAML user:
- Select Admin > Users > Add New User.
- Type a first and last name.
- In the Email text box, type the email address that is associated with that user's AuthPoint user account.
- For Login Type, select SAML.
- In the SAML Subject text box, type the email address that is associated with that user's AuthPoint user account. This is the same email address used in the previous step.
- In the Access Settings section, select the user roles you need.
- Click Save.
Before AuthPoint can receive authentication requests from Veracode, you must add a SAML resource in AuthPoint. You must also create an authentication policy for the Veracode resource to determine which users can authenticate and log in to Veracode and which authentication methods they can use (Push, QR code, and OTP).
Add a SAML Resource in AuthPoint
From the AuthPoint management UI:
- From the navigation menu, select Resources.
- From the Choose a Resource Type drop-down list, select SAML. Click Add Resource.
- On the SAML page, in the Name text box, type a name for this resource.
- From the Application Type drop-down list, select Veracode.
- In the Service Provider Entity ID text box, type https://analysiscenter.veracode.com/saml.
- In the Assertion Consumer Service text box, type https://analysiscenter.veracode.com/saml.
- From the User ID sent on redirection to service provider drop-down list, select Email.
- From the Signature Method drop-down list, select SHA-256.
- From the AuthPoint Certificate drop-down list, select the AuthPoint certificate to associate with your resource. This must be the same certificate that you used to download the metadata file in the Configure Veracode section.
- Click Save.
Add an IdP Portal Resource
Veracode only supports identity provider initiated logins. To use MFA with Veracode, you must add an IdP portal resource. If you already have an IdP portal resource, you must add the IdP portal resource to all authentication policies that include the Veracode resource.
For detailed steps to add an IdP portal resource, see Add an IdP Portal Resource.
Add a Group in AuthPoint
You must have at least one user group in AuthPoint to configure MFA. If you already have a group, you do not have to add another group.
To add a group to AuthPoint:
- From the navigation menu, select Groups.
- Click Add Group.
The New Group page appears.
- In the Name text box, type a descriptive name for the group.
- (Optional) In the Description text box, type a description of the group.
- Click Save.
Your group is listed on the Groups page.
Add an Authentication Policy to AuthPoint
Authentication policies specify which resources users can authenticate to and which authentication methods they can use (Push, QR code, and OTP).
You must have at least one authentication policy in AuthPoint that includes the Veracode resource. If you already have authentication policies, you do not have to create a new authentication policy. You can add this resource to your existing authentication policies.
Users that do not have an authentication policy for a specific resource cannot authenticate to log in to that resource.
To configure an authentication policy:
- From the navigation menu, select Authentication Policies.
- Click Add Policy.
- Type a name for this policy.
- From the Select the authentication options drop-down list, select Authentication options and select which authentication options users can choose from when they authenticate.
For SAML resources, if you select more than one authentication option, users must select one of the available options when they authenticate. For example, if you select OTP and Push, users can choose to type their OTP or approve a push to authenticate. You cannot require that they do both.
- Select which groups this policy applies to. You can select more than one group. To configure this policy to apply to all groups, select All Groups.
- Select the resource that you created in the previous section. If you want this policy to apply to additional resources, select each resource this policy applies to. To configure this policy to apply to all resources, select All Resources.
(Optional) If you have configured policy objects such as a Network Location, select which policy objects apply to this policy. When you add a policy object to a policy, the policy only applies to user authentications that match the conditions of the policy objects. For example, if you add a Network Location to a policy, the policy only applies to user authentications that come from that Network Location. Users who only have a policy that includes a Network Location do not get access to the resource when they authenticate outside of that Network Location (because they do not have a policy that applies, not because authentication is denied).
If you configure policy objects, we recommend that you create a second policy for the same groups and resources without the policy objects. The policy with the policy objects should have a higher priority.
- Click Save.
Your policy is created and added to the end of the policy list.
When you create a new policy, we recommend that you review the order of your policies. AuthPoint always adds new policies to the end of the policy list.
Add Users to AuthPoint
Before you assign users to a group, you must add the users to AuthPoint. There are two ways to add AuthPoint user accounts:
- Sync users from an external user database
- Add local AuthPoint users
Each user must be a member of a group. You must add at least one group before you can add users to AuthPoint.
To import users from Active Directory, Azure Active Directory, or an LDAP database, you must add an external identity in the AuthPoint management UI. External identities connect to user databases to get user account information and validate passwords.
- To sync users from Active Directory or an LDAP database, you must add an LDAP external identity
- To sync users from Azure Active Directory, you must add an Azure AD external identity
When you sync users from an external user database, you can sync any number of users and they are all added to AuthPoint at one time. Users synced from an external user database use the password defined for their user account as their AuthPoint password.
You can create local AuthPoint users on the Users page in the AuthPoint management UI. Because you can create only one user at a time, you most commonly do this when you want to create test users or to add only a small number of users.
Unlike users synced from an external user database, local AuthPoint users define and manage their own AuthPoint password. When you add a local user account, the user receives an email that prompts them to set their password.
To learn how to add local AuthPoint user accounts, see Add Local AuthPoint Users.
Test the Integration
To test AuthPoint MFA with Veracode, you can authenticate with a mobile token on your mobile device. For SAML resources, you can choose any method (push, QR code, or one-time password).
In this example, we show the push authentication method (users receive a push notification in the mobile app that they must approve to authenticate).
- In a web browser, go to the IdP portal. You can see the URL for the IdP portal when you edit your IdP portal resource in the AuthPoint management UI.
- Type your email address or AuthPoint user name. Click Next.
- If required, in the Password text box, type your password.
- For the authentication method, select Send Push.
- Approve the authentication request that is sent to your mobile device.
- In the IdP portal, select Veracode.
You are logged in to Veracode .