IRPCNamedACLs.GetNamedACLs
Vault API / standard read session or assertion idempotent returns metadata structure version
Gets the named ACLs of the given types that the calling user is allowed to see.
| Service | Named access control lists MFiles.IRPCNamedACLs |
|---|---|
| gRPC method | /MFiles.IRPCNamedACLs/GetNamedACLs |
| HTTP (mf-http-grpc) | POST /grpc/v1/get-named-acls |
| Request | GetNamedACLsRequest |
| Response | GetNamedACLsResponse |
| Book and level | Vault API, standard |
| Kind | read |
| Session | Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata). |
| Idempotent | yes |
| Returns metadata structure version | yes (in the mfiles-metadata-version-bin trailer) |
| Streaming | none (unary) |
Remarks
- Requires a vault session. No special vault rights are needed; named ACLs that the user is not allowed to see are left out.
typesis a bit mask of NACLType values and must not be 0: with 0 the call succeeds but returns nothing. Use 1 (NACLTYPE_NORMAL) for the named ACLs that users can select, 2 (NACLTYPE_INTERNAL) for those that the vault uses for internal purposes, or 3 for both.- Built-in named ACLs have negative IDs, for example -1 "Full control for all internal users"
and -20 "Only for me". They are returned only with
include_builtin. - "Current user" entries in the returned ACLs are replaced with the calling user, so "Only for me" contains the caller's own user ID.
- Names are in the session's vault language when translations exist. The order of the results is not specified.
- Cacheable: the response carries the metadata structure version trailer, see Metadata structure version and caching.
Request: GetNamedACLsRequest
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.
| Field | Type | Description |
|---|---|---|
include_builtin | bool | True to include the built-in named ACLs (negative IDs), such as "Only for me". They cannot be modified. |
types | uint32 | Bit mask of NACLType values: 1 for normal, 2 for internal, 3 for both. 0 returns nothing. |
Response: GetNamedACLsResponse
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.
| Field | Type | Description |
|---|---|---|
named_acls[] | repeated NamedACL | The named ACLs; see NamedACL. acl_for_objects is the permission set that the named ACL applies to objects. |
named_acls[].id | int32 | Named ACL ID. |
named_acls[].name | string | The name of the named ACL. |
named_acls[].type | NACLType | The type of the NACL.Values: NACLTYPE_NONE (0), NACLTYPE_NORMAL (1), NACLTYPE_INTERNAL (2). |
named_acls[].acl_for_objects | AccessControlList | The predefined permissions. This defines the ACL which this named ACL encapsulates. |
named_acls[].acl_for_objects.checked_out_to_user | int32 | Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist. |
named_acls[].acl_for_objects.is_fully_authoritative | bool | Specifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version. |
named_acls[].acl_for_objects.custom_component | AccessControlListComponent | Accesses the custom component of this ACL. |
named_acls[].acl_for_objects.restrictive_components[] | repeated AccessControlListComponentMapEntry | Accesses the restrictive automatic components of this ACL. |
named_acls[].acl_for_objects.secondary_access_control_list | AccessControlList (recursive) | Secondary ACL used for latest version ACL. Not used for access check if null. |
named_acls[].acl_for_objects.additive_components[] | repeated AccessControlListComponentMapEntry | Accesses the additive automatic components of this ACL. |
named_acls[].guid | string | GUID for the NACL. |