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.
-
#approval_workflow_approvers ⇒ Object
readonly
ApprovalWorkflowApprovers link approval workflow approvers to an ApprovalWorkflowStep.
-
#approval_workflow_steps ⇒ Object
readonly
ApprovalWorkflowSteps link approval workflow steps to an ApprovalWorkflow.
-
#approval_workflows ⇒ Object
readonly
ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized approvers and be approved or denied.
-
#identity_aliases ⇒ Object
readonly
IdentityAliases assign an alias to an account within an IdentitySet.
-
#identity_sets ⇒ Object
readonly
A IdentitySet is a named grouping of Identity Aliases for Accounts.
-
#nodes ⇒ Object
readonly
Nodes make up the strongDM network, and allow your users to connect securely to your resources.
-
#policies ⇒ Object
readonly
Policies are the collection of one or more statements that enforce fine-grained access control for the users of an organization.
-
#proxy_cluster_keys ⇒ Object
readonly
Proxy Cluster Keys are authentication keys for all proxies within a cluster.
-
#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.
-
#workflow_approvers ⇒ Object
readonly
WorkflowApprovers is an account or a role with the ability to approve requests bound to a workflow.
-
#workflow_assignments ⇒ Object
readonly
WorkflowAssignments links a Resource to a Workflow.
-
#workflow_roles ⇒ Object
readonly
WorkflowRole links a role to a workflow.
-
#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 be 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
530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 |
# File 'lib/strongdm.rb', line 530 def initialize(client) @access_requests = SnapshotAccessRequests.new(client.access_requests) = SnapshotAccountAttachments.new(client.) @account_grants = SnapshotAccountGrants.new(client.account_grants) = SnapshotAccountPermissions.new(client.) @account_resources = SnapshotAccountResources.new(client.account_resources) @accounts = SnapshotAccounts.new(client.accounts) @approval_workflow_approvers = SnapshotApprovalWorkflowApprovers.new(client.approval_workflow_approvers) @approval_workflow_steps = SnapshotApprovalWorkflowSteps.new(client.approval_workflow_steps) @approval_workflows = SnapshotApprovalWorkflows.new(client.approval_workflows) @identity_aliases = SnapshotIdentityAliases.new(client.identity_aliases) @identity_sets = SnapshotIdentitySets.new(client.identity_sets) @nodes = SnapshotNodes.new(client.nodes) @policies = SnapshotPolicies.new(client.policies) @proxy_cluster_keys = SnapshotProxyClusterKeys.new(client.proxy_cluster_keys) @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) @workflow_approvers = SnapshotWorkflowApprovers.new(client.workflow_approvers) @workflow_assignments = SnapshotWorkflowAssignments.new(client.workflow_assignments) @workflow_roles = SnapshotWorkflowRoles.new(client.workflow_roles) @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.
560 561 562 |
# File 'lib/strongdm.rb', line 560 def access_requests @access_requests end |
#account_attachments ⇒ Object (readonly)
AccountAttachments assign an account to a role.
564 565 566 |
# File 'lib/strongdm.rb', line 564 def end |
#account_grants ⇒ Object (readonly)
AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.
568 569 570 |
# File 'lib/strongdm.rb', line 568 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.
573 574 575 |
# File 'lib/strongdm.rb', line 573 def end |
#account_resources ⇒ Object (readonly)
AccountResources enumerates the resources to which accounts have access. The AccountResources service is read-only.
578 579 580 |
# File 'lib/strongdm.rb', line 578 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.
- Tokens are access keys with permissions that can be used for authentication.
585 586 587 |
# File 'lib/strongdm.rb', line 585 def accounts @accounts end |
#approval_workflow_approvers ⇒ Object (readonly)
ApprovalWorkflowApprovers link approval workflow approvers to an ApprovalWorkflowStep
589 590 591 |
# File 'lib/strongdm.rb', line 589 def approval_workflow_approvers @approval_workflow_approvers end |
#approval_workflow_steps ⇒ Object (readonly)
ApprovalWorkflowSteps link approval workflow steps to an ApprovalWorkflow
593 594 595 |
# File 'lib/strongdm.rb', line 593 def approval_workflow_steps @approval_workflow_steps end |
#approval_workflows ⇒ Object (readonly)
ApprovalWorkflows are the mechanism by which requests for access can be viewed by authorized approvers and be approved or denied.
598 599 600 |
# File 'lib/strongdm.rb', line 598 def approval_workflows @approval_workflows end |
#identity_aliases ⇒ Object (readonly)
IdentityAliases assign an alias to an account within an IdentitySet. The alias is used as the username when connecting to a identity supported resource.
603 604 605 |
# File 'lib/strongdm.rb', line 603 def identity_aliases @identity_aliases end |
#identity_sets ⇒ Object (readonly)
A IdentitySet is a named grouping of Identity Aliases for Accounts. An Account's relationship to a IdentitySet is defined via IdentityAlias objects.
608 609 610 |
# File 'lib/strongdm.rb', line 608 def identity_sets @identity_sets 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.
614 615 616 |
# File 'lib/strongdm.rb', line 614 def nodes @nodes end |
#policies ⇒ Object (readonly)
Policies are the collection of one or more statements that enforce fine-grained access control for the users of an organization.
619 620 621 |
# File 'lib/strongdm.rb', line 619 def policies @policies end |
#proxy_cluster_keys ⇒ Object (readonly)
Proxy Cluster Keys are authentication keys for all proxies within a cluster. The proxies within a cluster share the same key. One cluster can have multiple keys in order to facilitate key rotation.
625 626 627 |
# File 'lib/strongdm.rb', line 625 def proxy_cluster_keys @proxy_cluster_keys end |
#remote_identities ⇒ Object (readonly)
RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
629 630 631 |
# File 'lib/strongdm.rb', line 629 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.
634 635 636 |
# File 'lib/strongdm.rb', line 634 def remote_identity_groups @remote_identity_groups end |
#resources ⇒ Object (readonly)
Resources are databases, servers, clusters, websites, or clouds that strongDM delegates access to.
639 640 641 |
# File 'lib/strongdm.rb', line 639 def resources @resources end |
#role_resources ⇒ Object (readonly)
RoleResources enumerates the resources to which roles have access. The RoleResources service is read-only.
644 645 646 |
# File 'lib/strongdm.rb', line 644 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.
650 651 652 |
# File 'lib/strongdm.rb', line 650 def roles @roles end |
#secret_stores ⇒ Object (readonly)
SecretStores are servers where resource secrets (passwords, keys) are stored.
654 655 656 |
# File 'lib/strongdm.rb', line 654 def secret_stores @secret_stores end |
#workflow_approvers ⇒ Object (readonly)
WorkflowApprovers is an account or a role with the ability to approve requests bound to a workflow.
658 659 660 |
# File 'lib/strongdm.rb', line 658 def workflow_approvers @workflow_approvers end |
#workflow_assignments ⇒ Object (readonly)
WorkflowAssignments links a Resource to a Workflow. The assigned resources are those that a user can request access to via the workflow.
663 664 665 |
# File 'lib/strongdm.rb', line 663 def workflow_assignments @workflow_assignments end |
#workflow_roles ⇒ Object (readonly)
WorkflowRole links a role to a workflow. The linked roles indicate which roles a user must be a part of to request access to a resource via the workflow.
668 669 670 |
# File 'lib/strongdm.rb', line 668 def workflow_roles @workflow_roles 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 be automatic approval or a set of users authorized to approve the requests.
674 675 676 |
# File 'lib/strongdm.rb', line 674 def workflows @workflows end |