Skip to content
Snippets Groups Projects

Audit events for project access tokens

Merged Serena Fang requested to merge project-access-token-audit-events into master
All threads resolved!
Compare and Show latest version
9 files
+ 165
24
Compare changes
  • Side-by-side
  • Inline
Files
9
@@ -7,7 +7,6 @@ def initialize(current_user, resource, params = {})
@@ -7,7 +7,6 @@ def initialize(current_user, resource, params = {})
@resource = resource
@resource = resource
@current_user = current_user
@current_user = current_user
@params = params.dup
@params = params.dup
@ip_address = @params.delete(:ip_address)
end
end
def execute
def execute
@@ -27,6 +26,7 @@ def execute
@@ -27,6 +26,7 @@ def execute
token_response = create_personal_access_token(user)
token_response = create_personal_access_token(user)
if token_response.success?
if token_response.success?
 
log_event(token_response.payload[:personal_access_token])
success(token_response.payload[:personal_access_token])
success(token_response.payload[:personal_access_token])
else
else
delete_failed_user(user)
delete_failed_user(user)
@@ -36,7 +36,7 @@ def execute
@@ -36,7 +36,7 @@ def execute
private
private
attr_reader :resource_type, :resource, :ip_address
attr_reader :resource_type, :resource
def has_permission_to_create?
def has_permission_to_create?
%w(project group).include?(resource_type) && can?(current_user, :admin_resource_access_tokens, resource)
%w(project group).include?(resource_type) && can?(current_user, :admin_resource_access_tokens, resource)
@@ -106,6 +106,10 @@ def create_membership(resource, user)
@@ -106,6 +106,10 @@ def create_membership(resource, user)
resource.add_user(user, :maintainer, expires_at: params[:expires_at])
resource.add_user(user, :maintainer, expires_at: params[:expires_at])
end
end
 
def log_event(token)
 
::Gitlab::AppLogger.info "PROJECT ACCESS TOKEN CREATION: created_by: #{current_user.username}, project_id: #{resource.id}, token_user: #{token.user.name}, token_id: #{token.id}"
 
end
 
def error(message)
def error(message)
ServiceResponse.error(message: message)
ServiceResponse.error(message: message)
end
end
Loading