Class: Infrawrench::AccessReviewDismissalsNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.access_review.dismissals

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ AccessReviewDismissalsNamespace

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of AccessReviewDismissalsNamespace.

Parameters:



253
254
255
# File 'lib/infrawrench/client.rb', line 253

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(org_id: nil, body: nil, request_options: nil) ⇒ Hash

Dismiss an access review finding

Accept a finding — that break-glass role really is meant to be admin, that shared key really is rotated out of band. The finding leaves findings and stops feeding the security alerts, but the rule keeps being evaluated and the finding is reported back under dismissed for as long as it still matches. The principal itself stays in principals either way. Idempotent: dismissing an already-dismissed finding rewrites the note and the author.

Requires permission: resources:write.

POST /api/org/orgId/access-review/dismissals

Raises on 400: Bad request

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • body (Hash, nil) (defaults to: nil)

    Request body, shaped as AccessReviewDismissalCreate.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • body: (access_review_dismissal_create, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as AccessReviewDismissal — see sig/infrawrench/sdk.rbs.

Raises:



280
281
282
283
284
285
286
287
288
# File 'lib/infrawrench/client.rb', line 280

def create(org_id: nil, body: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/access-review/dismissals",
    path_params: { "orgId" => org_id },
    body: body,
    request_options: request_options
  )
end

#delete(resource_id:, rule_id:, org_id: nil, request_options: nil) ⇒ nil

Restore a dismissed access review finding

Undo a dismissal, putting the finding back on the list and back into the security alerts. The finding is identified by query parameters rather than path segments because resource ids are provider-native and routinely contain slashes.

Requires permission: resources:write.

DELETE /api/org/orgId/access-review/dismissals

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • resource_id (String)

    Infrawrench resource id the finding is on.

  • rule_id (String)

    Which rule was raised. Half of a dismissal's key, alongside the resource id. The access-review: prefix is reserved so these can share the posture dismissal store without colliding with plugin-declared posture rule ids.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • resource_id: (String)
  • rule_id: ("access-review:stale-principal", "access-review:admin-principal", "access-review:key-past-rotation", "access-review:no-recorded-owner", "access-review:no-mfa")
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (nil)

    This endpoint returns no content.

Raises:



314
315
316
317
318
319
320
321
322
323
# File 'lib/infrawrench/client.rb', line 314

def delete(resource_id:, rule_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/access-review/dismissals",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id, "ruleId" => rule_id },
    accept: :empty,
    request_options: request_options
  )
end