Terraform
- Terraform Enterprise
- 1.0.x (latest)
- v202506-1
- v202505-1
- v202504-1
- v202503-1
- v202502-2
- v202502-1
- v202501-1
- v202411-2
- v202411-1
- v202410-1
- v202409-3
- v202409-2
- v202409-1
- v202408-1
- No versions of this document exist before v202408-1. Click below to redirect to the version homepage.
- v202407-1
- v202406-1
- v202405-1
- v202404-2
- v202404-1
- v202402-2
- v202402-1
- v202401-2
- v202401-1
- v202312-1
- v202311-1
- v202310-1
- v202309-1
- v202308-1
- v202307-1
- v202306-1
- v202305-2
- v202305-1
- v202304-1
- v202303-1
- v202302-1
- v202301-2
- v202301-1
- v202212-2
- v202212-1
- v202211-1
- v202210-1
- v202209-2
- v202209-1
- v202208-3
- v202208-2
- v202208-1
- v202207-2
- v202207-1
- v202206-1
Configure IBM Verify
Follow these steps to configure IBM Verify as the identity provider (IdP) for Terraform Enterprise.
Configure a New IBM Verify Application
- In IBM Verify's web interface, go to the Applications tab and click add application. 
  
- Select Terraform Cloud as the sign on method, and then click Next. 
  
- In the General page, enter - Terraform Enterpriseand optionally add an Application Owner.
  
- Go to the Sign-on tab. 
- In the Sign-on section, configure the following settings with the specified values: - IBM Verify Field - Terraform Enterprise SAML Field - Value - Provider ID - Metadata (Audience) URL - https://<TFE HOSTNAME>/users/saml/metadata- Assertion consumer service URL (HTTP-POST) - ACS Consumer (Recipient) URL - https://<TFE HOSTNAME>/users/saml/auth- Name identifier - Email  
- In the Attribute mappings section, configure the MemberOf to map groupIds to Terraform Enterprise teams. 
  
- Optionally configure a site admin permissions attribute statement. This statement determines which users can administer the entire Terraform Enterprise instance. Refer to Administering Terraform Enterprise for more information about site admin permissions. Under the Directory - Attributes (Optional), configure an attribute as follows: - Attribute name - Value - Description - Name - SiteAdmin- This is the default name for Terraform Enterprise's site admin attribute. You can change the name of this attribute in Terraform Enterprise's SAML settings if necessary. - Availability - Single sign-on SSO - Use with Single sign-on SSO - Attribute identifier - siteadmin - Identifier for the site admin attribute - Data type - Boolean - SiteAdmin true or false 

- Optionally add the Username attribute. Refer to Username details for more information. - Attribute name - Attribute name format - Attribute source - MemberOf - urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified - groupIds - SiteAdmin (optional) - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - SiteAdmin - Username (optional) - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - Username 
- You can find the values needed for Terraform Enterprise SAML settings on the right side of the screen. Save these settings in Terraform Enterprise SAML settings. - Terraform Enterprise SAML Field - IBM Verify - Value example - Single Sign-On URL - Single Sign-On URL - https://<id>.verify.ibm.com/saml/sps/saml20ip/saml20/login- Single Log-Out URL - Single Sign-Out URL - https://<id>.verify.ibm.com/idaas/mtfim/sps/idaas/logout- IDP Certificate - urn:oasis:names:tc:SAML:2.0:attrname-format:basic - X.509 Certificate 
- On the Entitlements tab, add the users that are allowed access. 
  
- Save all the settings. 
Example SAMLResponse
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="Assertion-uuid55fd4636-0198-1a77-bd0e-85102bc84797" IssueInstant="2025-07-29T11:41:58Z" Version="2.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://example.verify.ibm.com/saml/sps/saml20ip/saml20</saml:Issuer>
    <saml:Subject>
        <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">example@ibm.com</saml:NameID>
        <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
            <saml:SubjectConfirmationData InResponseTo="_18b23dcd-a903-4438-b079-32eecd31925a" NotOnOrAfter="2025-07-29T11:46:58Z" Recipient="https://tfe.aws.example.com/users/saml/auth"/>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Conditions NotBefore="2025-07-29T11:36:58Z" NotOnOrAfter="2025-07-29T11:46:58Z">
        <saml:AudienceRestriction>
            <saml:Audience>https://tfe.aws.example.com/users/saml/metadata</saml:Audience>
        </saml:AudienceRestriction>
    </saml:Conditions>
    <saml:AuthnStatement AuthnInstant="2025-07-29T11:41:58Z" SessionIndex="06bd7f3a-3b87-4aec-83d2-8d8f120add4a_uuide789ed32-2480-456e-857a-26e00bd57865" SessionNotOnOrAfter="2025-07-29T12:41:58Z">
        <saml:AuthnContext>
            <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
        </saml:AuthnContext>
    </saml:AuthnStatement>
    <saml:AttributeStatement>
        <saml:Attribute Name="MemberOf" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
            <saml:AttributeValue xsi:type="xs:string">dev</saml:AttributeValue>
            <saml:AttributeValue xsi:type="xs:string">SiteAdmin</saml:AttributeValue>
            <saml:AttributeValue xsi:type="xs:string">site-admins</saml:AttributeValue>
            <saml:AttributeValue xsi:type="xs:string">allUsers</saml:AttributeValue>
        </saml:Attribute>
        <saml:Attribute Name="SiteAdmin" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
            <saml:AttributeValue xsi:type="xs:string">true</saml:AttributeValue>
        </saml:Attribute>
        <saml:Attribute Name="Username" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
            <saml:AttributeValue xsi:type="xs:string">user1</saml:AttributeValue>
        </saml:Attribute>
    </saml:AttributeStatement>
</saml:Assertion>