Class: SDM::SnapshotClient
- Inherits:
-
Object
- Object
- SDM::SnapshotClient
- Defined in:
- lib/strongdm.rb
Overview
SnapshotClient exposes methods to query historical records at a provided timestamp.
Instance Attribute Summary collapse
-
#access_requests ⇒ Object
readonly
AccessRequests are requests for access to a resource that may match a Workflow.
-
#account_attachments ⇒ Object
readonly
AccountAttachments assign an account to a role.
-
#account_grants ⇒ Object
readonly
AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.
-
#account_permissions ⇒ Object
readonly
AccountPermissions records the granular permissions accounts have, allowing them to execute relevant commands via StrongDM's APIs.
-
#account_resources ⇒ Object
readonly
AccountResources enumerates the resources to which accounts have access.
-
#accounts ⇒ Object
readonly
Accounts are users that have access to strongDM.
-
#nodes ⇒ Object
readonly
Nodes make up the strongDM network, and allow your users to connect securely to your resources.
-
#peering_group_nodes ⇒ Object
readonly
PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group.
-
#peering_group_peers ⇒ Object
readonly
PeeringGroupPeers provides the building blocks necessary to link two peering groups.
-
#peering_group_resources ⇒ Object
readonly
PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group.
-
#peering_groups ⇒ Object
readonly
PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing.
-
#remote_identities ⇒ Object
readonly
RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
-
#remote_identity_groups ⇒ Object
readonly
A RemoteIdentityGroup is a named grouping of Remote Identities for Accounts.
-
#resources ⇒ Object
readonly
Resources are databases, servers, clusters, websites, or clouds that strongDM delegates access to.
-
#role_resources ⇒ Object
readonly
RoleResources enumerates the resources to which roles have access.
-
#roles ⇒ Object
readonly
A Role has a list of access rules which determine which Resources the members of the Role have access to.
-
#secret_stores ⇒ Object
readonly
SecretStores are servers where resource secrets (passwords, keys) are stored.
-
#workflows ⇒ Object
readonly
Workflows are the collection of rules that define the resources to which access can be requested, the users that can request that access, and the mechanism for approving those requests which can either but automatic approval or a set of users authorized to approve the requests.
Instance Method Summary collapse
-
#initialize(client) ⇒ SnapshotClient
constructor
A new instance of SnapshotClient.
Constructor Details
#initialize(client) ⇒ SnapshotClient
Returns a new instance of SnapshotClient.
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 |
# File 'lib/strongdm.rb', line 420 def initialize(client) @access_requests = SnapshotAccessRequests.new(client.access_requests) @account_attachments = SnapshotAccountAttachments.new(client.) @account_grants = SnapshotAccountGrants.new(client.account_grants) @account_permissions = SnapshotAccountPermissions.new(client.) @account_resources = SnapshotAccountResources.new(client.account_resources) @accounts = SnapshotAccounts.new(client.accounts) @nodes = SnapshotNodes.new(client.nodes) @peering_group_nodes = SnapshotPeeringGroupNodes.new(client.peering_group_nodes) @peering_group_peers = SnapshotPeeringGroupPeers.new(client.peering_group_peers) @peering_group_resources = SnapshotPeeringGroupResources.new(client.peering_group_resources) @peering_groups = SnapshotPeeringGroups.new(client.peering_groups) @remote_identities = SnapshotRemoteIdentities.new(client.remote_identities) @remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups) @resources = SnapshotResources.new(client.resources) @role_resources = SnapshotRoleResources.new(client.role_resources) @roles = SnapshotRoles.new(client.roles) @secret_stores = SnapshotSecretStores.new(client.secret_stores) @workflows = SnapshotWorkflows.new(client.workflows) end |
Instance Attribute Details
#access_requests ⇒ Object (readonly)
AccessRequests are requests for access to a resource that may match a Workflow.
444 445 446 |
# File 'lib/strongdm.rb', line 444 def access_requests @access_requests end |
#account_attachments ⇒ Object (readonly)
AccountAttachments assign an account to a role.
448 449 450 |
# File 'lib/strongdm.rb', line 448 def @account_attachments end |
#account_grants ⇒ Object (readonly)
AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.
452 453 454 |
# File 'lib/strongdm.rb', line 452 def account_grants @account_grants end |
#account_permissions ⇒ Object (readonly)
AccountPermissions records the granular permissions accounts have, allowing them to execute relevant commands via StrongDM's APIs.
457 458 459 |
# File 'lib/strongdm.rb', line 457 def @account_permissions end |
#account_resources ⇒ Object (readonly)
AccountResources enumerates the resources to which accounts have access. The AccountResources service is read-only.
462 463 464 |
# File 'lib/strongdm.rb', line 462 def account_resources @account_resources end |
#accounts ⇒ Object (readonly)
Accounts are users that have access to strongDM. There are two types of accounts:
- Users: humans who are authenticated through username and password or SSO.
- Service Accounts: machines that are authenticated using a service token.
468 469 470 |
# File 'lib/strongdm.rb', line 468 def accounts @accounts end |
#nodes ⇒ Object (readonly)
Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
- Gateways are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers.
- Relays are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.
See SDM::SnapshotNodes.
474 475 476 |
# File 'lib/strongdm.rb', line 474 def nodes @nodes end |
#peering_group_nodes ⇒ Object (readonly)
PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group.
478 479 480 |
# File 'lib/strongdm.rb', line 478 def peering_group_nodes @peering_group_nodes end |
#peering_group_peers ⇒ Object (readonly)
PeeringGroupPeers provides the building blocks necessary to link two peering groups.
482 483 484 |
# File 'lib/strongdm.rb', line 482 def peering_group_peers @peering_group_peers end |
#peering_group_resources ⇒ Object (readonly)
PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group.
486 487 488 |
# File 'lib/strongdm.rb', line 486 def peering_group_resources @peering_group_resources end |
#peering_groups ⇒ Object (readonly)
PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing.
490 491 492 |
# File 'lib/strongdm.rb', line 490 def peering_groups @peering_groups end |
#remote_identities ⇒ Object (readonly)
RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
494 495 496 |
# File 'lib/strongdm.rb', line 494 def remote_identities @remote_identities end |
#remote_identity_groups ⇒ Object (readonly)
A RemoteIdentityGroup is a named grouping of Remote Identities for Accounts. An Account's relationship to a RemoteIdentityGroup is defined via RemoteIdentity objects.
499 500 501 |
# File 'lib/strongdm.rb', line 499 def remote_identity_groups @remote_identity_groups end |
#resources ⇒ Object (readonly)
Resources are databases, servers, clusters, websites, or clouds that strongDM delegates access to.
504 505 506 |
# File 'lib/strongdm.rb', line 504 def resources @resources end |
#role_resources ⇒ Object (readonly)
RoleResources enumerates the resources to which roles have access. The RoleResources service is read-only.
509 510 511 |
# File 'lib/strongdm.rb', line 509 def role_resources @role_resources end |
#roles ⇒ Object (readonly)
A Role has a list of access rules which determine which Resources the members of the Role have access to. An Account can be a member of multiple Roles via AccountAttachments.
See SDM::SnapshotRoles.
515 516 517 |
# File 'lib/strongdm.rb', line 515 def roles @roles end |
#secret_stores ⇒ Object (readonly)
SecretStores are servers where resource secrets (passwords, keys) are stored.
519 520 521 |
# File 'lib/strongdm.rb', line 519 def secret_stores @secret_stores end |
#workflows ⇒ Object (readonly)
Workflows are the collection of rules that define the resources to which access can be requested, the users that can request that access, and the mechanism for approving those requests which can either but automatic approval or a set of users authorized to approve the requests.
525 526 527 |
# File 'lib/strongdm.rb', line 525 def workflows @workflows end |