Issue Description:
We are facing intermittent 403 errors when using valid access tokens for authentication. This issue affects multiple operations, including resolving Gradle dependencies and pushing Docker images to Artifactory. These errors occur sporadically across specific projects and not consistently across the entire organization.
Need for Assistance:
We suspect there may be authentication limitations or rate-limiting mechanisms within Artifactory that are undocumented or not visible through our current configuration. Could you please assist us with the following:
- Authentication Limitations: Are there known limitations or best practices for authentication using username and access tokens that we should be aware of? Specifically, are there potential restrictions or security configurations that might cause these 403 errors over time?
- Rate Limiting: How can we confirm if there are any rate limits being applied that could be leading to these intermittent authentication failures?
- Configuration Review: We would appreciate any insights or a review of our Artifactory configuration to ensure we are aligned with best practices for authentication and access stability.
Background and Observations:
- Token Usage: We are authenticating using a combination of username and access token (using the token as the password). This method has been functioning correctly for several months but has recently started failing without any changes on our end.
- Token Validity: The access tokens used during these failures are valid and not expired.
- Permissions: We have verified that the tokens possess the necessary permissions for the operations being performed.
- Resource Availability: There are no apparent issues with system resources such as CPU, memory, or disk I/O on the Artifactory server.
- Rate Limits and Security Settings: While reviewing the system configuration (system.yaml), we could not identify any rate limit or security settings explicitly configured, which might be contributing to these errors.
If your environment is up and running, CI builds are running as expected, but you suddenly start getting 403 error responses with your builds, it may be due to the Temporary Login Suspension functionality.
Once a user login attempt fails to authenticate with 401 error, and these failures are consecutive within a short timeframe, then, due to the “Temporary Login Suspension” functionality, that user gets temporarily blocked for a short period (depending on the number of failures, up to 60 seconds).
During this timeframe, every request of this user, even with the correct password, will be blocked by Artifactory, with a 403 error.
If you have rotated your API Keys or Access Tokens lately, it might be the explanation for the 403 issue. Most likely there’s some agent or client that still uses the old API-key/token/password, which ‘locks’ the user temporarily, and during this timeframe, requests are failing with 403 errors.
Additionally, check for other pipelines that might also attempt to login to Artifactory that might use outdated credentials.
Check this doc for more info.