Class RoleReference.CrossClusterApiKeyRoleReference

java.lang.Object
org.elasticsearch.xpack.core.security.authz.store.RoleReference.CrossClusterApiKeyRoleReference
All Implemented Interfaces:
RoleReference
Enclosing interface:
RoleReference

public static final class RoleReference.CrossClusterApiKeyRoleReference extends Object implements RoleReference
Represents the role descriptors of the cross-cluster API key underlying an API key authentication based remote cluster connection. This captures the permissions of the cross-cluster API key on the fulfilling cluster and is intersected with the permissions of the query-cluster-side user entity making the cross cluster request (see RoleReference.CrossClusterAccessRoleReference).
  • Constructor Details

    • CrossClusterApiKeyRoleReference

      public CrossClusterApiKeyRoleReference(String apiKeyId, BytesReference roleDescriptorsBytes)
  • Method Details

    • id

      public RoleKey id()
      Description copied from interface: RoleReference
      Unique ID of the instance. Instances that have equal ID means they are equivalent in terms of authorization. It is currently used as cache key for role caching purpose. Callers can use this value to determine whether it should skip resolving the role descriptors and subsequently building the role.
      Specified by:
      id in interface RoleReference
    • resolve

      public void resolve(RoleReferenceResolver resolver, ActionListener<RolesRetrievalResult> listener)
      Description copied from interface: RoleReference
      Resolve concrete role descriptors for the roleReference.
      Specified by:
      resolve in interface RoleReference
    • getApiKeyId

      public String getApiKeyId()
    • getRoleDescriptorsBytes

      public BytesReference getRoleDescriptorsBytes()
    • getRoleType

      public RoleReference.ApiKeyRoleType getRoleType()