FINBOURNE Access Management API
Project description
finbourne-access-sdk
FINBOURNE Technology
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 0.0.3775
- Package version: 2.1.9
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://www.finbourne.com
Requirements.
Python 3.7+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/finbourne/finbourne-access-sdk-python.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/finbourne/finbourne-access-sdk-python.git)
Then import the package:
import finbourne_access
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import finbourne_access
Tests
Execute pytest to run the tests.
Getting Started
You'll need to provide some configuration to connect to the finbourne_access application. These can be provided using a secrets file or environment variables.
Environment variables
In order to use short lived access tokens you will need to have appropriate values set for the following environment variables:
FBN_TOKEN_URL,
FBN_FINBOURNE_ACCESS_API_URL,
FBN_USERNAME,
FBN_PASSWORD,
FBN_CLIENT_ID,
FBN_CLIENT_SECRET
To use a long lived Personal Access Token, you must provide the following environment variables:
FBN_FINBOURNE_ACCESS_API_URL,
FBN_ACCESS_TOKEN
You can send your requests to finbourne_access via a proxy, by setting FBN_PROXY_ADDRESS.
If your proxy has basic auth enabled, you must akso supply FBN_PROXY_USERNAME and FBN_PROXY_PASSWORD
Secrets file
In order to use short lived access tokens you will need to have appropriate values set in a secrets.json file in the same folder as your script.
{
"api":
{
"tokenUrl":"<your-token-url>",
"finbourne_accessUrl":"<FINBOURNE-application-url>",
"username":"<your-username>",
"password":"<your-password>",
"clientId":"<your-client-id>",
"clientSecret":"<your-client-secret>",
}
}
To use a long lived Personal Access Token, you must provide a secrets.json with the following variables:
{
"api":
{
"finbourne_accessUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
}
}
You can send your requests to finbourne_access via a proxy, by adding a proxy section to your secrets.json.
If your proxy has basic auth enabled, you must also supply a username and password in this section.
{
"api":
{
"finbourne_accessUrl":"<FINBOURNE-application-url>",
"accessToken":"<your-access-token>"
},
"proxy":
{
"address":"<your-proxy-address>",
"username":"<your-proxy-username>",
"password":"<your-proxy-password>"
}
}
Using the SDK
Please follow the installation procedure and then run the following:
import time
import finbourne_access
from finbourne_access.exceptions import ApiException
from pprint import pprint
import os
from finbourne_access import (
ApiClientFactory,
ApplicationMetadataApi,
EnvironmentVariablesConfigurationLoader,
SecretsFileConfigurationLoader,
ArgsConfigurationLoader
)
# Use the finbourne_access ApiClientFactory to build Api instances with a configured api client
# By default this will read config from environment variables
# Then from a secrets.json file found in the current working directory
api_client_factory = ApiClientFactory()
# The ApiClientFactory can be passed an iterable of configuration loaders to read configuration from
api_url = "https://fbn-prd.lusid.com/access"
# Path to a secrets.json file containing authentication credentials
# See https://support.lusid.com/knowledgebase/article/KA-01667/en-us
# for a detailed guide to setting up the SDK make authenticated calls to LUSID APIs
secrets_path = os.getenv("FBN_SECRETS_PATH")
app_name="LusidJupyterNotebook"
config_loaders = [
EnvironmentVariablesConfigurationLoader(),
SecretsFileConfigurationLoader(api_secrets_file=secrets_path),
ArgsConfigurationLoader(api_url=api_url, app_name=app_name)
]
api_client_factory = ApiClientFactory(config_loaders=config_loaders)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Enter a context with an instance of the ApiClientFactory to ensure the connection pool is closed after use
async with api_client_factory:
# Create an instance of the API class
api_instance = api_client_factory.build(ApplicationMetadataApi)
try:
# ListAccessControlledResources: Get resources available for access control
api_response = await api_instance.list_access_controlled_resources()
print("The response of ApplicationMetadataApi->list_access_controlled_resources:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling ApplicationMetadataApi->list_access_controlled_resources: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://fbn-prd.lusid.com/access
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ApplicationMetadataApi | list_access_controlled_resources | GET /api/metadata/access/resources | ListAccessControlledResources: Get resources available for access control |
| PoliciesApi | add_to_policy_collection | POST /api/policycollections/{code}/add | AddToPolicyCollection: Add To PolicyCollection |
| PoliciesApi | create_policy | POST /api/policies | CreatePolicy: Create Policy |
| PoliciesApi | create_policy_collection | POST /api/policycollections | CreatePolicyCollection: Create PolicyCollection |
| PoliciesApi | delete_policy | DELETE /api/policies/{code} | DeletePolicy: Delete Policy |
| PoliciesApi | delete_policy_collection | DELETE /api/policycollections/{code} | DeletePolicyCollection: Delete PolicyCollection |
| PoliciesApi | evaluate | POST /api/me | Evaluate: Run one or more evaluations |
| PoliciesApi | get_own_policies | GET /api/me | GetOwnPolicies: Get policies of requesting user |
| PoliciesApi | get_policy | GET /api/policies/{code} | GetPolicy: Get Policy |
| PoliciesApi | get_policy_collection | GET /api/policycollections/{code} | GetPolicyCollection: Get PolicyCollection |
| PoliciesApi | list_policies | GET /api/policies | [EARLY ACCESS] ListPolicies: List Policies |
| PoliciesApi | list_policy_collections | GET /api/policycollections | ListPolicyCollections: List PolicyCollections |
| PoliciesApi | page_policies | GET /api/policies/page | [EARLY ACCESS] PagePolicies: Page Policies |
| PoliciesApi | page_policy_collections | GET /api/policycollections/page | PagePolicyCollections: Page PolicyCollections |
| PoliciesApi | remove_from_policy_collection | POST /api/policycollections/{code}/remove | RemoveFromPolicyCollection: Remove From PolicyCollection |
| PoliciesApi | update_policy | PUT /api/policies/{code} | UpdatePolicy: Update Policy |
| PoliciesApi | update_policy_collection | PUT /api/policycollections/{code} | UpdatePolicyCollection: Update PolicyCollection |
| PolicyTemplatesApi | create_policy_template | POST /api/policytemplates | [EXPERIMENTAL] CreatePolicyTemplate: Create a Policy Template |
| PolicyTemplatesApi | delete_policy_template | DELETE /api/policytemplates/{code} | [EXPERIMENTAL] DeletePolicyTemplate: Deleting a policy template |
| PolicyTemplatesApi | generate_policy_from_template | POST /api/policytemplates/$generatepolicy | [EXPERIMENTAL] GeneratePolicyFromTemplate: Generate policy from template |
| PolicyTemplatesApi | get_policy_template | GET /api/policytemplates/{code} | [EXPERIMENTAL] GetPolicyTemplate: Retrieving one Policy Template |
| PolicyTemplatesApi | list_policy_templates | GET /api/policytemplates | [EXPERIMENTAL] ListPolicyTemplates: List Policy Templates |
| PolicyTemplatesApi | update_policy_template | PUT /api/policytemplates/{code} | [EXPERIMENTAL] UpdatePolicyTemplate: Update a Policy Template |
| RolesApi | add_policy_collection_to_role | POST /api/roles/{scope}/{code}/policycollections | AddPolicyCollectionToRole: Add policy collections to a role |
| RolesApi | create_role | POST /api/roles | CreateRole: Create Role |
| RolesApi | delete_role | DELETE /api/roles/{code} | DeleteRole: Delete Role |
| RolesApi | get_role | GET /api/roles/{code} | GetRole: Get Role |
| RolesApi | list_roles | GET /api/roles | ListRoles: List Roles |
| RolesApi | remove_policy_collection_from_role | DELETE /api/roles/{scope}/{code}/policycollections/{policycollectionscope}/{policycollectioncode} | RemovePolicyCollectionFromRole: Remove policy collection from role |
| RolesApi | update_role | PUT /api/roles/{code} | UpdateRole: Update Role |
| UserRolesApi | add_policy_collection_to_user_role | POST /api/userroles/{userid}/policycollections | AddPolicyCollectionToUserRole: Add a policy collection to a user-role |
| UserRolesApi | add_policy_to_user_role | POST /api/userroles/{userid}/policies | AddPolicyToUserRole: Add a policy to a user-role |
| UserRolesApi | create_user_role | POST /api/userroles | CreateUserRole: Create a user-role |
| UserRolesApi | delete_user_role | DELETE /api/userroles/{userid} | DeleteUserRole: Delete a user-role |
| UserRolesApi | get_user_role | GET /api/userroles/{userid} | GetUserRole: Get a user-role |
| UserRolesApi | list_user_roles | GET /api/userroles | ListUserRoles: List user-roles |
| UserRolesApi | remove_policy_collection_from_user_role | DELETE /api/userroles/{userid}/policycollections/{policyCollectionScope}/{policyCollectionCode} | RemovePolicyCollectionFromUserRole: Remove a policy collection from a user-role |
| UserRolesApi | remove_policy_from_user_role | DELETE /api/userroles/{userid}/policies/{policyScope}/{policyCode} | RemovePolicyFromUserRole: Remove a policy from a user-role |
| UserRolesApi | update_user_role | POST /api/userroles/{userid}/update | UpdateUserRole: Update a user-role |
Documentation For Models
- AccessControlledAction
- AccessControlledResource
- ActionId
- AddPolicyCollectionToRoleRequest
- AddPolicyToRoleRequest
- AddToPolicyCollectionRequest
- AsAtPredicateContract
- AsAtRangeForSpec
- AsAtRelative
- AttachedPolicyDefinitionResponse
- DateQuality
- DateUnit
- EffectiveDateHasQuality
- EffectiveDateRelative
- EffectiveRange
- EntitlementMetadata
- EvaluationRequest
- EvaluationResponse
- EvaluationResult
- ForSpec
- GeneratePolicyFromTemplateRequest
- GeneratedPolicyComponents
- Grant
- HowSpec
- IdSelectorDefinition
- IdentifierPartSchema
- IfExpression
- IfFeatureChainExpression
- IfIdentityClaimExpression
- IfIdentityScopeExpression
- IfRequestHeaderExpression
- KeyValuePairOfStringToString
- Link
- LusidProblemDetails
- LusidValidationProblemDetails
- MatchAllSelectorDefinition
- MetadataExpression
- MetadataSelectorDefinition
- NonTransitiveSupervisorRoleResource
- Operator
- PointInTimeSpecification
- PolicyCollectionCreationRequest
- PolicyCollectionId
- PolicyCollectionResponse
- PolicyCollectionUpdateRequest
- PolicyCreationRequest
- PolicyId
- PolicyIdRoleResource
- PolicyResponse
- PolicySelectorDefinition
- PolicyTemplateCreationRequest
- PolicyTemplateResponse
- PolicyTemplateUpdateRequest
- PolicyTemplatedSelector
- PolicyType
- PolicyUpdateRequest
- RelativeToDateTime
- RemoveFromPolicyCollectionRequest
- RequestDetails
- RequestedActionKey
- ResourceDetails
- ResourceListOfAccessControlledResource
- ResourceListOfPolicyCollectionResponse
- ResourceListOfPolicyResponse
- ResourceListOfPolicyTemplateResponse
- ResourceListOfUserRoleResponse
- RoleCreationRequest
- RoleId
- RoleResourceRequest
- RoleResponse
- RoleUpdateRequest
- SelectorDefinition
- TemplateMetadata
- TemplateSelection
- TextOperator
- UserRoleCreationRequest
- UserRoleResponse
- UserRoleUpdateRequest
- WhenSpec
Documentation For Authorization
Authentication schemes defined for the API:
oauth2
- Type: OAuth
- Flow: implicit
- Authorization URL: https://lusid.okta.com/oauth2/default/v1/authorize
- Scopes: N/A
Author
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file finbourne_access_sdk-2.1.9.tar.gz.
File metadata
- Download URL: finbourne_access_sdk-2.1.9.tar.gz
- Upload date:
- Size: 81.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.8.2 Linux/5.15.106-flatcar
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
166524654405717765eec13e0bdc5b5b047207799e12b1d18d44447ab63bccff
|
|
| MD5 |
295d8843f910b870a64d51a79cec4095
|
|
| BLAKE2b-256 |
2d9ebe08614b45729ae547c5c8acd046e8c90ae89d6b812ee70666b6e24bcbe8
|
File details
Details for the file finbourne_access_sdk-2.1.9-py3-none-any.whl.
File metadata
- Download URL: finbourne_access_sdk-2.1.9-py3-none-any.whl
- Upload date:
- Size: 171.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.8.2 Linux/5.15.106-flatcar
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e08f215cb77ce63dea94ce82d816a42b9ac4de1677f5ec2cca9ad95d2f355cd
|
|
| MD5 |
60f3ff43cc0cb49d81f97731c1446a19
|
|
| BLAKE2b-256 |
071246f974aff036428700a987599c6fcadb517ae39e631aec39e20425c54e0e
|