mirror of
https://github.com/LukeHagar/api-specs.git
synced 2025-12-09 20:37:50 +00:00
Automated commit by github action: 3222032606
This commit is contained in:
40
idn/beta/paths/entitlement.yaml
Normal file
40
idn/beta/paths/entitlement.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
post:
|
||||||
|
operationId: createEntitlement
|
||||||
|
tags:
|
||||||
|
- Entitlements
|
||||||
|
summary: Creates an entitlement
|
||||||
|
description: >-
|
||||||
|
This internal endpoint creates an entitlement using the given entitlement payload
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../schemas/gov-entitlement/EntitlementDTO.yaml'
|
||||||
|
responses:
|
||||||
|
'201':
|
||||||
|
description: Returns the created entitlement DTO object.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '../schemas/gov-entitlement/EntitlementDTO.yaml'
|
||||||
|
'400':
|
||||||
|
description: |
|
||||||
|
* Source is missing
|
||||||
|
* Source schema is missing
|
||||||
|
* Entitlement value is missing and source schema object type is not of the permission type
|
||||||
|
* Attribute is missing
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../v3/schemas/ErrorResponseDto.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../v3/responses/401.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../v3/responses/403.yaml'
|
||||||
|
'429':
|
||||||
|
$ref: '../../v3/responses/429.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../v3/responses/500.yaml'
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
post:
|
||||||
|
operationId: getEntitlementBySourceIdAndAttributeValues
|
||||||
|
tags:
|
||||||
|
- Entitlements
|
||||||
|
summary: Queries an entitlement
|
||||||
|
description: >-
|
||||||
|
This internal endpoint queries for an entitlement by its source id, attribute and value.
|
||||||
|
It is expected to get no more than one entitlement.
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '../schemas/gov-entitlement/EntitlementQueryRequest.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: List of entitlements
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '../schemas/gov-entitlement/EntitlementDTO.yaml'
|
||||||
|
'400':
|
||||||
|
description: |
|
||||||
|
* Source id is missing
|
||||||
|
* Attribute name is missing
|
||||||
|
* Attribute value is missing
|
||||||
|
* Assignments + removals total number > 50 or equal to 0
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../v3/schemas/ErrorResponseDto.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../v3/responses/401.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../v3/responses/403.yaml'
|
||||||
|
'429':
|
||||||
|
$ref: '../../v3/responses/429.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../v3/responses/500.yaml'
|
||||||
34
idn/beta/paths/entitlements-update-segment-assignments.yaml
Normal file
34
idn/beta/paths/entitlements-update-segment-assignments.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
post:
|
||||||
|
operationId: updateEntitlementSegmentAssignments
|
||||||
|
tags:
|
||||||
|
- Entitlements
|
||||||
|
summary: update entitlements of a segment
|
||||||
|
description: >-
|
||||||
|
This internal endpoint assigns or removes entitlements to a segment
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../schemas/UpdateSegmentEntitlementAssignmentInput.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: Successfully updated.
|
||||||
|
'400':
|
||||||
|
description: |
|
||||||
|
* Assignments or removals are missing
|
||||||
|
* An entitlement id is found both in assignments and removals
|
||||||
|
* Assignments and removals are not of the Entitlement type
|
||||||
|
* Assignments + removals total number > 50 or equal to 0
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../v3/schemas/ErrorResponseDto.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../v3/responses/401.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../v3/responses/403.yaml'
|
||||||
|
'429':
|
||||||
|
$ref: '../../v3/responses/429.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../v3/responses/500.yaml'
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
segmentId:
|
||||||
|
type: string
|
||||||
|
description: Segment id
|
||||||
|
example: 313c28e5-3c3f-4bfe-bdd6-748afc123576
|
||||||
|
assignments:
|
||||||
|
type: array
|
||||||
|
description: Array of entitlement ids to be assigned to the segment
|
||||||
|
items:
|
||||||
|
$ref: '../../v3/schemas/BaseReferenceDto.yaml'
|
||||||
|
removals:
|
||||||
|
type: array
|
||||||
|
description: Array of entitlement ids to be removed from the segment
|
||||||
|
items:
|
||||||
|
$ref: '../../v3/schemas/BaseReferenceDto.yaml'
|
||||||
135
idn/beta/schemas/gov-entitlement/EntitlementDTO.yaml
Normal file
135
idn/beta/schemas/gov-entitlement/EntitlementDTO.yaml
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
allOf:
|
||||||
|
- $ref: '../BaseCommonDto.yaml'
|
||||||
|
- type: object
|
||||||
|
description: Entitlement object that represents entitlement
|
||||||
|
|
||||||
|
properties:
|
||||||
|
attribute:
|
||||||
|
description: Name of the entitlement attribute
|
||||||
|
type: string
|
||||||
|
example: authorizationType
|
||||||
|
uuid:
|
||||||
|
description: Unique entitlement identifier within the database
|
||||||
|
type: string
|
||||||
|
example: 6a099125e1614e4c9024bff6c6159f49
|
||||||
|
value:
|
||||||
|
description: Raw value of the entitlement
|
||||||
|
type: string
|
||||||
|
example: CN=Users,dc=sailpoint,dc=com
|
||||||
|
description:
|
||||||
|
description: Entitlment description
|
||||||
|
type: string
|
||||||
|
example: some entitlement description
|
||||||
|
sourceSchemaObjectType:
|
||||||
|
description: Schema objectType on the given application that maps to an Account Group
|
||||||
|
type: string
|
||||||
|
example: group
|
||||||
|
privileged:
|
||||||
|
description: Determines if this entitlement is privileged.
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
isGroup:
|
||||||
|
type: boolean
|
||||||
|
description: >-
|
||||||
|
True when this object is used to represent a group attribute, otherwise it represents an account attribute.
|
||||||
|
For the time being, the property is always true.
|
||||||
|
example: true
|
||||||
|
cloudGoverned:
|
||||||
|
description: Determines if this entitlement is governed in the cloud.
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
requestable:
|
||||||
|
description: Determines if this entitlement is requestable.
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
cloudEligible:
|
||||||
|
description: Determines if this entitlement is cloud eligible.
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
attributes:
|
||||||
|
description: Entitlement attributes
|
||||||
|
type: object
|
||||||
|
example: {
|
||||||
|
"cn": "Human Resources-bchun2",
|
||||||
|
"owner": "CN=Fritz.8349b2f31e67,OU=flatfileAD,dc=flatfile,dc=endtoend,dc=com",
|
||||||
|
"objectguid": "objectguidHuman-Resources-bchun2",
|
||||||
|
"description": "HR-desc",
|
||||||
|
"sysDescriptions": {
|
||||||
|
"en_US": "HR-desc"
|
||||||
|
},
|
||||||
|
"entitlementAggregated": "true"
|
||||||
|
}
|
||||||
|
source:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
description: Object reference id
|
||||||
|
example: 2b86153b97a94abc936c8a11b106aaf8
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
description: Object reference name
|
||||||
|
example: accountant
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
description: SOURCE (added because exists in Entitlement V3)
|
||||||
|
example: SOURCE
|
||||||
|
owner:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
description: Object reference id
|
||||||
|
example: 2b86153b97a94abc936c8a11b106aaf8
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
description: Object reference name
|
||||||
|
example: accountant
|
||||||
|
uuid:
|
||||||
|
type: string
|
||||||
|
description: owner uuid identifier reference
|
||||||
|
example: 2b86153b-97a9-4abc-936c-8a11b106aaf8
|
||||||
|
hash:
|
||||||
|
type: string
|
||||||
|
description: Read-only calculated hash value of an entitlement
|
||||||
|
example: 5c8b309fa18a2c76d7fbee2b9e00dba99e4c82de
|
||||||
|
directPermissions:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: './PermissionDTO.yaml'
|
||||||
|
inheritFrom:
|
||||||
|
type: array
|
||||||
|
description: List of parent entitlements
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
example: [
|
||||||
|
a9ced5a52d284b83a7f5595873d35b4e
|
||||||
|
]
|
||||||
|
segments:
|
||||||
|
type: array
|
||||||
|
description: List of entitlement segments
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
example: [
|
||||||
|
students
|
||||||
|
]
|
||||||
|
lastRefresh:
|
||||||
|
type: string
|
||||||
|
description: Last time the entitlement was refreshed
|
||||||
|
example: '2022-06-24T16:12:53.389386Z'
|
||||||
|
idnServiceApp:
|
||||||
|
type: string
|
||||||
|
description: IDN service application
|
||||||
|
example: AppName123
|
||||||
|
idnExceptional:
|
||||||
|
type: string
|
||||||
|
description: Informs whether an entitlement is a priviliged one.
|
||||||
|
example: PRIVILEGED
|
||||||
|
entitlementitlementAggregated:
|
||||||
|
type: string
|
||||||
|
description: Indicates whether an entitlement was aggregated
|
||||||
|
example: true
|
||||||
|
segmentStatus:
|
||||||
|
type: string
|
||||||
|
description: Segment status (GLOBAL/LOCAL)
|
||||||
|
example: GLOBAL
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
sourceId:
|
||||||
|
type: string
|
||||||
|
description: source id
|
||||||
|
example: 2b86153b97a94abc936c8a11b106aaf8
|
||||||
|
attribute:
|
||||||
|
type: string
|
||||||
|
description: attribute name
|
||||||
|
example: memberOf
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
description: attribute value
|
||||||
|
example: CN=Abby Smith,OU=Austin,OU=Americas,OU=Demo,DC=seri,DC=acme,DC=com
|
||||||
22
idn/beta/schemas/gov-entitlement/PermissionDTO.yaml
Normal file
22
idn/beta/schemas/gov-entitlement/PermissionDTO.yaml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
target:
|
||||||
|
type: string
|
||||||
|
description: perimission target
|
||||||
|
example: SYS.GV_$TRANSACTION
|
||||||
|
annotation:
|
||||||
|
type: string
|
||||||
|
description: permission annotation
|
||||||
|
example: some extra information about a permission
|
||||||
|
rights:
|
||||||
|
type: array
|
||||||
|
description: All the rights (e.g. actions) that this permission allows on the target
|
||||||
|
items:
|
||||||
|
type: string
|
||||||
|
example: SELECT
|
||||||
|
attributes:
|
||||||
|
type: object
|
||||||
|
description: permission attribute values
|
||||||
|
example: {
|
||||||
|
"id": "2e8d818024bc4d2191c67affdb473b0d"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user