docs: add ansible tower/awx integration guide
This commit is contained in:
parent
74ad1b6759
commit
144935d10f
|
@ -0,0 +1,74 @@
|
||||||
|
# Ansible Tower / AWX Integration
|
||||||
|
|
||||||
|
## What is Tower
|
||||||
|
|
||||||
|
From https://docs.ansible.com/ansible/2.5/reference_appendices/tower.html
|
||||||
|
|
||||||
|
!!! note ""
|
||||||
|
Ansible Tower (formerly ‘AWX’) is a web-based solution that makes Ansible even more easy to use for IT teams of all kinds. It’s designed to be the hub for all of your automation tasks.
|
||||||
|
|
||||||
|
Tower allows you to control access to who can access what, even allowing sharing of SSH credentials without someone being able to transfer those credentials. Inventory can be graphically managed or synced with a wide variety of cloud sources. It logs all of your jobs, integrates well with LDAP, and has an amazing browsable REST API. Command line tools are available for easy integration with Jenkins as well. Provisioning callbacks provide great support for autoscaling topologies.
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
AWX is the Open-Source version of Tower, and AWX will be used interchangeably throughout this document.
|
||||||
|
|
||||||
|
## Preparation
|
||||||
|
|
||||||
|
The following placeholders will be used:
|
||||||
|
|
||||||
|
- `awx.company` is the FQDN of the AWX/Tower Install
|
||||||
|
- `passbook.company` is the FQDN of the passbook Install
|
||||||
|
|
||||||
|
Create an application in passbook and note the slug, as this will be used later. Create a SAML Provider with the following Parameters:
|
||||||
|
|
||||||
|
- ACS URL: `https://awx.company/sso/complete/saml/`
|
||||||
|
- Audience: `awx`
|
||||||
|
- Issuer: `https://awx.company/sso/metadata/saml/`
|
||||||
|
|
||||||
|
You can of course use a custom Signing Certificate, and adjust the Assertion Length.
|
||||||
|
|
||||||
|
## AWX Configuration
|
||||||
|
|
||||||
|
Navigate to `https://awx.company/#/settings/auth` to configure SAML. Set the Field `SAML SERVICE PROVIDER ENTITY ID` to `awx`.
|
||||||
|
|
||||||
|
For the fields `SAML SERVICE PROVIDER PUBLIC CERTIFICATE` and `SAML SERVICE PROVIDER PRIVATE KEY`, you can either use custom Certificates, or use the self-signed Pair generated by Passbook.
|
||||||
|
|
||||||
|
Provide Metadata in the `SAML Service Provider Organization Info` Field:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"en-US": {
|
||||||
|
"name": "passbook",
|
||||||
|
"url": "https://passbook.company",
|
||||||
|
"displayname": "passbook"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Provide Metadata in the `SAML Service Provider Technical Contact` and `SAML Service Provider Technical Contact` Fields:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"givenName": "Admin Name",
|
||||||
|
"emailAddress": "admin@company"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
In the `SAML Enabled Identity Providers` paste the following configuration:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"passbook": {
|
||||||
|
"attr_username": "urn:oid:2.16.840.1.113730.3.1.241",
|
||||||
|
"attr_user_permanent_id": "urn:oid:0.9.2342.19200300.100.1.1",
|
||||||
|
"x509cert": "MIIDEjCCAfqgAwIBAgIRAJZ9pOZ1g0xjiHtQAAejsMEwDQYJKoZIhvcNAQELBQAwMDEuMCwGA1UEAwwlcGFzc2Jvb2sgU2VsZi1zaWduZWQgU0FNTCBDZXJ0aWZpY2F0ZTAeFw0xOTEyMjYyMDEwNDFaFw0yMDEyMjYyMDEwNDFaMFkxLjAsBgNVBAMMJXBhc3Nib29rIFNlbGYtc2lnbmVkIFNBTUwgQ2VydGlmaWNhdGUxETAPBgNVBAoMCHBhc3Nib29rMRQwEgYDVQQLDAtTZWxmLXNpZ25lZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO/ktBYZkY9xAijF4acvzX6Q1K8KoIZeyde8fVgcWBz4L5FgDQ4/dni4k2YAcPdwteGL4nKVzetUzjbRCBUNuO6lqU4J4WNNX4Xg4Ir7XLRoAQeo+omTPBdpJ1p02HjtN5jT01umN3bK2yto1e37CJhK6WJiaXqRewPxh4lI4aqdj3BhFkJ3I3r2qxaWOAXQ6X7fg3w/ny7QP53//ouZo7hSLY3GIcRKgvdjjVM3OW5C3WLpOq5Dez5GWVJ17aeFCfGQ8bwFKde6qfYqyGcU9xHB36TtVHB9hSFP/tUFhkiSOxtsrYwCgCyXm4UTSpP+wiNyjKfFw7qGLBvA2hGTNw8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAh9PeAqPRQk1/SSygIFADZBi08O/DPCshFwEHvJATIcTzcDD8UGAjXh+H5OlkDyX7KyrcaNvYaafCUo63A+WprdtdY5Ty6SBEwTYyiQyQfwM9BfK+imCoif1Ai7xAelD7p9lNazWq7JU+H/Ep7U7Q7LvpxAbK0JArt+IWTb2NcMb3OWE1r0gFbs44O1l6W9UbJTbyLMzbGbe5i+NHlgnwPwuhtRMh0NUYabGHKcHbhwyFhfGAQv2dAp5KF1E5gu6ZzCiFePzc0FrqXQyb2zpFYcJHXquiqaOeG7cZxRHYcjrl10Vxzki64XVA9BpdELgKSnupDGUEJsRUt3WVOmvZuA==",
|
||||||
|
"url": "https://passbook.company/application/saml/awx/login/",
|
||||||
|
"attr_last_name": "User.LastName",
|
||||||
|
"entity_id": "https://awx.company/sso/metadata/saml/",
|
||||||
|
"attr_email": "urn:oid:0.9.2342.19200300.100.1.3",
|
||||||
|
"attr_first_name": "urn:oid:2.5.4.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
`x509cert` is the Certificate configured in passbook. Remove the --BEGIN CERTIFICATE-- and --END CERTIFICATE-- headers, then enter the cert as one non-breaking string.
|
|
@ -19,6 +19,7 @@ nav:
|
||||||
- Rancher: integrations/services/rancher/index.md
|
- Rancher: integrations/services/rancher/index.md
|
||||||
- Harbor: integrations/services/harbor/index.md
|
- Harbor: integrations/services/harbor/index.md
|
||||||
- Sentry: integrations/services/sentry/index.md
|
- Sentry: integrations/services/sentry/index.md
|
||||||
|
- Ansible Tower/AWX: integrations/services/tower-awx/index.md
|
||||||
- Reference:
|
- Reference:
|
||||||
- Property Mappings:
|
- Property Mappings:
|
||||||
- User Object: reference/property-mappings/user-object.md
|
- User Object: reference/property-mappings/user-object.md
|
||||||
|
|
Reference in New Issue