Skip to main content

AuthZ | Java SDK

Service name.

Create tuple (Beta)

tupleCreate(cloud.pangeacyber.pangea.authz.requests.TupleCreateRequest)

Create tuples in the AuthZ Service. The request will fail if there is no schema or the tuples do not validate against the schema. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.TupleCreateRequest

{@link TupleCreateRequest} containing the list of tuples to be created.

Response Object

A {@link TupleCreateResponse} with an empty result.
 client.tupleCreate(
     new TupleCreateRequest.Builder(
         new Tuple[] {
             new Tuple(
                 new Resource.Builder("folder").setId("folder_1").build(),
                 "owner",
                 new Subject.Builder("user").setId("user_1").build()
             ),
         }
     ).build()
 );

List tuples (Beta)

tupleList(cloud.pangeacyber.pangea.authz.requests.TupleListRequest)

Return a paginated list of filtered tuples. The filter is given in terms of a tuple. Fill out the fields that you want to filter. If the filter is empty it will return all the tuples. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.TupleListRequest

The {@link TupleListRequest} containing the filter criteria.

Response Object

A {@link TupleListResponse} with the list of tuples and additional information.
 var filter = new FilterTupleList();
 filter.resourceNamespace().set("user");
 filter.resourceID().set("user_1");
 var response = client.tupleList(new TupleListRequest.Builder().setFilter(filter).build());

Delete tuples (Beta)

tupleDelete(cloud.pangeacyber.pangea.authz.requests.TupleDeleteRequest)

Delete tuples in the AuthZ Service. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.TupleDeleteRequest

The {@link TupleDeleteRequest} containing the tuples to be deleted.

Response Object

A {@link TupleDeleteResponse} with information about the deleted tuples.
 client.tupleDelete(
     new TupleDeleteRequest.Builder(
         new Tuple[] {
             new Tuple(
                 new Resource.Builder("folder").setId("folder_1").build(),
                 "owner",
                 new Subject.Builder("user").setId("user_1").build()
             ),
         }
     ).build()
 );

Check authorization (Beta)

check(cloud.pangeacyber.pangea.authz.requests.CheckRequest)

Check if a subject has permission to perform an action on the resource. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.CheckRequest

The {@link CheckRequest} containing details for the authorization check.

Response Object

A {@link CheckResponse} indicating whether the action is allowed or not.
 var response = client.check(
     new CheckRequest.Builder()
         .setResource(new Resource.Builder("folder").setId("folder_1").build())
         .setSubject(new Subject.Builder("user").setId("user_1").build())
         .setAction("update")
         .build()
 );

List resources (Beta)

listResources(cloud.pangeacyber.pangea.authz.requests.ListResourcesRequest)

Given a namespace, action, and subject, list all the resources in the namespace that the subject has access to the action with. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.ListResourcesRequest

The {@link ListResourcesRequest} containing criteria for listing resources.

Response Object

A {@link ListResourcesResponse} with the IDs of resources that match the criteria.
 var response = client.listResources(
     new ListResourcesRequest.Builder(
         "folder",
         "edit",
         new Subject.Builder("user").setId("user_1").build()
     ).build()
 );

List subjects (Beta)

listSubjects(cloud.pangeacyber.pangea.authz.requests.ListSubjectsRequest)

Given a resource and an action, return the list of subjects who have access to the action for the given resource. How to install a Beta release.

required parameters

cloud.pangeacyber.pangea.authz.requests.ListSubjectsRequest

The {@link ListSubjectsRequest} containing criteria for listing subjects.

Response Object

A {@link ListSubjectsResponse} with the subjects that match the criteria.
 var response = client.listSubjects(
     new ListSubjectsRequest.Builder(
         new Resource.Builder("folder").setId("folder_1").build(),
         "update"
     ).build()
 );