Connector development process
The way you work within your organization may differ from this process, but we recommend the following approach:
Define requirements and scope.
Develop "proof of concept" Python script for target outside of Bravura Security Fabric.
Hard-coded values
Standard output
Combine proof of concept script with Bravura Security Python connector samples.
Test and troubleshoot.
Submit for Bravura Security Code Review.
Package and deploy.
Requirement and scope
When writing your requirements and scope, be precise on the connector operations and behavior. Things to consider include:
What are your API points? In this case, is Python the best language for integration? Python is powerful, but are there other scripted connectors that would be a preferable integration point – such as the Powershell or SQL connectors?
When listing objects, what properties/attributes are you interested in pulling?
When creating or updating an object, what properties/attributes are you interested in pushing?
Are you interested in enabling/disabling accounts, or unlocking passwords?
Are you interested in acting on groups or their relationships?
To help you with your requirements design, look in the sample folders of your instance, for agtpython-*.py samples. These give examples of things the product supports and help guide a short-list of items to consider. You can also use those sample scripts as a base when writing your connector. Any operations contained in those scripts that you do not require for your requirements can be deleted or alternatively return an ACOperationNotSupported error code.
Proof of concept
A proof of concept is useful to be able to experiment with integration. This is generally done by writing Python code that can be called via the command line. This can be used to test the integration point to your operations, such as listing accounts or resetting a password, then using that code in your Python connector.
For example:
Test connectivity issues, paging issues, correctness in authentication.
Test that the list operation is returning sensible data: looks ok, is in the right format, makes sense, is readable and unencrypted.
Test any packaging issues you have, figure out which frameworks you’re going to need to bring in...etc.
Test create and update operations for mandatory attributes, attribute value integrity and value constraints.
Once you have a working proof of concept, the Python script, you can clean up the code and add complexity to achieve your final desired results.
Keep in mind that a proof of concept does not allow you to completely test a whole custom connector integration but it does simplify the process of writing a custom connector.
Combine proof of concept with samples
Implement the proof of concept script into your Bravura Security Python connector sample. If you have other custom connectors that have been developed for your organization, these can also serve as good samples to work from.
Test, troubleshoot, and submit
Setup and target your custom connector. Test your use cases via the UI and troubleshoot. Then submit your code for internal code review. This process will vary depending on your organization, so it is important to find out what this process is for your company. For Bravura Security code review, the goal is to ensure that the code is maintainable so on upgrade, a script only needs minor adjustments.
Package and deploy
The connector should be packaged into a component before being deployed in the production environment.