Skip to content

Add RevokeAuthorizations func to the SA gRPC service.#8799

Draft
ezekiel wants to merge 1 commit into
mainfrom
ezekiel/sa-revoke-authorization
Draft

Add RevokeAuthorizations func to the SA gRPC service.#8799
ezekiel wants to merge 1 commit into
mainfrom
ezekiel/sa-revoke-authorization

Conversation

@ezekiel

@ezekiel ezekiel commented Jun 15, 2026

Copy link
Copy Markdown
Member

No description provided.

Comment thread sa/proto/sa.proto
rpc AddRateLimitOverride(AddRateLimitOverrideRequest) returns (AddRateLimitOverrideResponse) {}
rpc DisableRateLimitOverride(DisableRateLimitOverrideRequest) returns (google.protobuf.Empty) {}
rpc EnableRateLimitOverride(EnableRateLimitOverrideRequest) returns (google.protobuf.Empty) {}
rpc RevokeAuthorization(AuthorizationID2) returns (google.protobuf.Empty) {}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking out loud:

The reason that DeactivateAuthorization operates on a single authz (takes a single authzID as its input) is that this code path is initiated by the subscriber. The ACME API exposes a way to deactivate one authz at a time, so the code path all the way through the RA and SA does the same.

But revoking authzs will likely be a bulk operation. We only have two scenarios in which we want to revoke authzs:

  • During an incident, to prevent further issuance via reuse of previous (presumably non-compliant) authorizations. This would either be a bulk revocation of all authzs prior to a specific time, or a bulk revocation of all authzs from a large list of IDs extracted from logs.
  • During revocation of a cert, as this PR is building towards. In this case, we're revoking all authzs for a specific regID+identifier pair.

So maybe it makes more sense for this to be

rpc RevokeAuthorizationsFor(RevokeAuthorizationsForRequest) returns (google.protobuf.Empty) {}

message RevokeAuthorizationsForRequest {
  int64 registrationID = 1;
  core.Identifier identifier = 2;
}

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very helpful thoughts, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants