pub struct PrivilegedAccessManager { /* private fields */ }Expand description
Implements a client for the Privileged Access Manager API.
§Example
let client = PrivilegedAccessManager::builder().build().await?;
// use `client` to make requests to the Privileged Access Manager API.§Service Description
This API allows customers to manage temporary, request based privileged access to their resources.
It defines the following resource model:
-
A collection of
Entitlementresources. An entitlement allows configuring (among other things):- Some kind of privileged access that users can request.
- A set of users called requesters who can request this access.
- A maximum duration for which the access can be requested.
- An optional approval workflow which must be satisfied before access is granted.
-
A collection of
Grantresources. A grant is a request by a requester to get the privileged access specified in an entitlement for some duration.After the approval workflow as specified in the entitlement is satisfied, the specified access is given to the requester. The access is automatically taken back after the requested duration is over.
§Configuration
To configure PrivilegedAccessManager use the with_* methods in the type returned
by builder(). The default configuration should
work for most applications. Common configuration changes include
- with_endpoint(): by default this client uses the global default endpoint
(
https://privilegedaccessmanager.googleapis.com). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default. - with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.
§Pooling and Cloning
PrivilegedAccessManager holds a connection pool internally, it is advised to
create one and the reuse it. You do not need to wrap PrivilegedAccessManager in
an Rc or Arc to reuse it, because it
already uses an Arc internally.
Implementations§
Source§impl PrivilegedAccessManager
impl PrivilegedAccessManager
Sourcepub fn builder() -> ClientBuilder
pub fn builder() -> ClientBuilder
Returns a builder for PrivilegedAccessManager.
let client = PrivilegedAccessManager::builder().build().await?;Sourcepub fn from_stub<T>(stub: T) -> Selfwhere
T: PrivilegedAccessManager + 'static,
pub fn from_stub<T>(stub: T) -> Selfwhere
T: PrivilegedAccessManager + 'static,
Creates a new client from the provided stub.
The most common case for calling this function is in tests mocking the client’s behavior.
Sourcepub fn check_onboarding_status(&self) -> CheckOnboardingStatus
pub fn check_onboarding_status(&self) -> CheckOnboardingStatus
CheckOnboardingStatus reports the onboarding status for a
project/folder/organization. Any findings reported by this API need to be
fixed before PAM can be used on the resource.
Sourcepub fn list_entitlements(&self) -> ListEntitlements
pub fn list_entitlements(&self) -> ListEntitlements
Lists entitlements in a given project/folder/organization and location.
Sourcepub fn search_entitlements(&self) -> SearchEntitlements
pub fn search_entitlements(&self) -> SearchEntitlements
SearchEntitlements returns entitlements on which the caller has the
specified access.
Sourcepub fn get_entitlement(&self) -> GetEntitlement
pub fn get_entitlement(&self) -> GetEntitlement
Gets details of a single entitlement.
Sourcepub fn create_entitlement(&self) -> CreateEntitlement
pub fn create_entitlement(&self) -> CreateEntitlement
Creates a new entitlement in a given project/folder/organization and location.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn delete_entitlement(&self) -> DeleteEntitlement
pub fn delete_entitlement(&self) -> DeleteEntitlement
Deletes a single entitlement. This method can only be called when there
are no in-progress (ACTIVE/ACTIVATING/REVOKING) grants under the
entitlement.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn update_entitlement(&self) -> UpdateEntitlement
pub fn update_entitlement(&self) -> UpdateEntitlement
Updates the entitlement specified in the request. Updated fields in the entitlement need to be specified in an update mask. The changes made to an entitlement are applicable only on future grants of the entitlement. However, if new approvers are added or existing approvers are removed from the approval workflow, the changes are effective on existing grants.
The following fields are not supported for updates:
- All immutable fields
- Entitlement name
- Resource name
- Resource type
- Adding an approval workflow in an entitlement which previously had no approval workflow.
- Deleting the approval workflow from an entitlement.
- Adding or deleting a step in the approval workflow (only one step is supported)
Note that updates are allowed on the list of approvers in an approval workflow step.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn list_grants(&self) -> ListGrants
pub fn list_grants(&self) -> ListGrants
Lists grants for a given entitlement.
Sourcepub fn search_grants(&self) -> SearchGrants
pub fn search_grants(&self) -> SearchGrants
SearchGrants returns grants that are related to the calling user in the
specified way.
Sourcepub fn create_grant(&self) -> CreateGrant
pub fn create_grant(&self) -> CreateGrant
Creates a new grant in a given project/folder/organization and location.
Sourcepub fn approve_grant(&self) -> ApproveGrant
pub fn approve_grant(&self) -> ApproveGrant
ApproveGrant is used to approve a grant. This method can only be called
on a grant when it’s in the APPROVAL_AWAITED state. This operation can’t
be undone.
Sourcepub fn deny_grant(&self) -> DenyGrant
pub fn deny_grant(&self) -> DenyGrant
DenyGrant is used to deny a grant. This method can only be called on a
grant when it’s in the APPROVAL_AWAITED state. This operation can’t be
undone.
Sourcepub fn revoke_grant(&self) -> RevokeGrant
pub fn revoke_grant(&self) -> RevokeGrant
RevokeGrant is used to immediately revoke access for a grant. This method
can be called when the grant is in a non-terminal state.
§Long running operations
This method is used to start, and/or poll a long-running Operation. The Working with long-running operations chapter in the user guide covers these operations in detail.
Sourcepub fn list_locations(&self) -> ListLocations
pub fn list_locations(&self) -> ListLocations
Lists information about the supported locations for this service.
Sourcepub fn get_location(&self) -> GetLocation
pub fn get_location(&self) -> GetLocation
Gets information about a location.
Sourcepub fn list_operations(&self) -> ListOperations
pub fn list_operations(&self) -> ListOperations
Provides the Operations service functionality in this service.
Sourcepub fn get_operation(&self) -> GetOperation
pub fn get_operation(&self) -> GetOperation
Provides the Operations service functionality in this service.
Sourcepub fn delete_operation(&self) -> DeleteOperation
pub fn delete_operation(&self) -> DeleteOperation
Provides the Operations service functionality in this service.
Trait Implementations§
Source§impl Clone for PrivilegedAccessManager
impl Clone for PrivilegedAccessManager
Source§fn clone(&self) -> PrivilegedAccessManager
fn clone(&self) -> PrivilegedAccessManager
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more