IAM
Install Dependency
Package: affinidi_tdk_iam_client
pip install affinidi_tdk_iam_clientCheck the latest version on the PyPI repository or view the source on GitHub.
Classes and Methods
Projects API
Use the Projects API to manage your projects including providing access to other users on your projects.
add_principal_to_project
Adds a principal to the project.
Parameters
user or token).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
request_json = {
'principalId': '<PAT_ID>',
'principalType': 'token',
}
add_user_to_project_input = affinidi_tdk_iam_client.AddUserToProjectInput.from_dict(request_json)
api_response = api_instance.add_principal_to_project(add_user_to_project_input=add_user_to_project_input)create_project
Creates a project for your account.
Parameters
UserTokenAuth).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
request_json = {
'name': 'project_name',
'description': 'project_description',
}
create_project_input = affinidi_tdk_iam_client.CreateProjectInput.from_dict(request_json)
api_response = api_instance.create_project(create_project_input=create_project_input)delete_principal_from_project
Removes a principal from the project.
Parameters
principalId
str
RequiredprincipalType
str
Requireduser for a user or token for a PAT.Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
api_response = api_instance.delete_principal_from_project('<PAT_ID>', 'token')list_principals_of_project
Returns the list of principals assigned to the project.
No parameters required.
Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
api_response = api_instance.list_principals_of_project()list_project
Returns the list of projects for the current account.
No parameters required.
Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
api_response = api_instance.list_project()update_project
Updates the project details.
Parameters
projectId
str
RequiredUserTokenAuth).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.ProjectsApi(api_client)
request_json = {
'name': 'project_name',
'description': 'project_description',
}
update_project_input = affinidi_tdk_iam_client.UpdateProjectInput.from_dict(request_json)
api_response = api_instance.update_project('<PROJECT_ID>', update_project_input=update_project_input)Policies API
Use the Policies API to manage access to your projects and related resources for other users.
get_policies
Retrieves the policy attached to a principal.
Parameters
principalId
str
RequiredprincipalType
str
Requireduser for a user or token for a PAT.Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.PoliciesApi(api_client)
api_response = api_instance.get_policies('<PAT_ID>', 'token')update_policies
Updates the policy for a principal.
Parameters
principalId
str
RequiredprincipalType
str
Requireduser for a user or token for a PAT.Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['ProjectTokenAuth'] = projectScopedToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.PoliciesApi(api_client)
policy_info = {
'version': '2022-12-15',
'statement': [
{
'principal': ['<PRINCIPAL_ID>'],
'action': [''],
'resource': [''],
'effect': 'Allow',
}
],
}
api_response = api_instance.update_policies('<PAT_ID>', 'token', policy_info)Secure Token Exchange (STS) API
Use the STS (Secure Token Exchange) API to create a Project Scoped Token and get the current session information.
create_project_scoped_token
Creates a project-scoped token to access resources in the project.
Parameters
UserTokenAuth).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.StsApi(api_client)
request_json = {
'projectId': '<PROJECT_ID>',
}
create_project_scoped_token_input = affinidi_tdk_iam_client.CreateProjectScopedTokenInput.from_dict(request_json)
api_response = api_instance.create_project_scoped_token(project_scoped_token_input=create_project_scoped_token_input)whoami
Retrieves the principal information of the current session.
No parameters required.
Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.StsApi(api_client)
api_response = api_instance.whoami()Tokens API
Use the Tokens API to create a Personal Access Token (PAT) to call Affinidi services on your behalf. Alternatively, use the Token command from Affinidi CLI.
create_token
Creates a Personal Access Token.
Parameters
UserTokenAuth).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.TokensApi(api_client)
request_json = {
'name': 'token_name',
'authenticationMethod': {
'type': 'PRIVATE_KEY',
'signingAlgorithm': 'RS256',
'publicKeyInfo': {
'jwks': {
'keys': [
{
'kid': 'key-id',
'alg': 'RS256',
'use': 'sig',
'kty': 'RSA',
'n': '<modulus>',
'e': 'AQAB',
}
]
}
},
},
}
create_token_input = affinidi_tdk_iam_client.CreateTokenInput.from_dict(request_json)
api_response = api_instance.create_token(create_token_input=create_token_input)delete_token
Deletes a Personal Access Token.
Parameters
tokenId
str
RequiredExample
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.TokensApi(api_client)
api_response = api_instance.delete_token('<TOKEN_ID>')get_token
Retrieves the Personal Access Token details.
Parameters
tokenId
str
RequiredExample
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.TokensApi(api_client)
api_response = api_instance.get_token('<TOKEN_ID>')list_token
Returns the list of Personal Access Tokens.
No parameters required.
Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.TokensApi(api_client)
api_response = api_instance.list_token()update_token
Updates an existing Personal Access Token.
Parameters
tokenId
str
RequiredUserTokenAuth).Example
import affinidi_tdk_iam_client
configuration = affinidi_tdk_iam_client.Configuration()
configuration.api_key['UserTokenAuth'] = userToken
with affinidi_tdk_iam_client.ApiClient(configuration) as api_client:
api_instance = affinidi_tdk_iam_client.TokensApi(api_client)
request_json = {
'name': 'token_name',
'authenticationMethod': {
'type': 'PRIVATE_KEY',
'signingAlgorithm': 'RS256',
'publicKeyInfo': {
'jwks': {
'keys': [
{
'kid': 'key-id',
'alg': 'RS256',
'use': 'sig',
'kty': 'RSA',
'n': '<modulus>',
'e': 'AQAB',
}
]
}
},
},
}
update_token_input = affinidi_tdk_iam_client.UpdateTokenInput.from_dict(request_json)
api_response = api_instance.update_token('<TOKEN_ID>', update_token_input=update_token_input)Glad to hear it! Please tell us how we can improve more.
Sorry to hear that. Please tell us how we can improve.
Thank you for sharing your feedback so we can improve your experience.