IRPCObjectOperations.CheckAccess

View as Markdown

Vault API / core read session or assertion idempotent returns metadata structure version

Checks user's access to an object based on an ACL.

ServiceObjects, versions, properties and files MFiles.IRPCObjectOperations
gRPC method/MFiles.IRPCObjectOperations/CheckAccess
HTTP (mf-http-grpc)POST /grpc/v1/check-access
RequestCheckAccessRequest
ResponseCheckAccessResponse
Book and levelVault API, core
Kindread
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentyes
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Evaluates an ACL for the caller without touching any object, for example a named ACL's acl_for_objects before using it (for example, has_access true for "Full control for all internal users", false for a named ACL of a group the user is not in).

Request: CheckAccessRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page. Fields marked (recursive) refer to a type already on their path.

FieldTypeDescription
aclAccessControlListThe object's ACL.
acl.checked_out_to_userint32Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist.
acl.is_fully_authoritativeboolSpecifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version.
acl.custom_componentAccessControlListComponentAccesses the custom component of this ACL.
acl.custom_component.named_acl_idint32Specifies the named ACL link of this component.
acl.custom_component.has_named_aclboolTrue if the component links to a named ACL (named_acl_id).
acl.custom_component.current_user_idint32Specifies the current user binding of this component.
acl.custom_component.has_current_userboolTrue if the component has an access control entry for the current user.
acl.custom_component.permissions[]repeated AccessControlEntryThe access control entry datas. The data belongs to the key in the corresponding index.
acl.custom_component.overridability_permissions[]repeated AccessControlEntryOverridability permission data of this ACL component.
acl.custom_component.statusACCESSCONTROLLISTCOMPONENTSTATUSFLAGSModification status of this component.
acl.restrictive_components[]repeated AccessControlListComponentMapEntryAccesses the restrictive automatic components of this ACL.
acl.restrictive_components[].keyAccessControlListComponentKeyAccess control list component.
acl.restrictive_components[].componentAccessControlListComponentAccess control list component.
acl.secondary_access_control_listAccessControlList (recursive)Secondary ACL used for latest version ACL. Not used for access check if null.
acl.additive_components[]repeated AccessControlListComponentMapEntryAccesses the additive automatic components of this ACL.
acl.additive_components[].keyAccessControlListComponentKeyAccess control list component.
acl.additive_components[].componentAccessControlListComponentAccess control list component.
required_accessObjectAccessThe object-level access requirements that must be fulfilled.
required_access.allboolSpecifies all flags set; Including any future flags.
required_access.readboolRead.
required_access.editboolEdit.
required_access.change_permissionsboolChange security settings.
required_access.delete_objectboolDelete.
required_access.attach_objectsboolAttach objects.

Response: CheckAccessResponse

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
has_accessboolReceives true if the user has the required access based on the given ACL.