This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

  • 1:
    • 1.1:
      • 1.1.1:
      • 1.2:
        • 1.2.1:
          • 1.2.2:
          • 1.3:
            • 1.3.1:
              • 1.3.1.1:
                • 1.3.1.2:
                  • 1.3.1.3:
                    • 1.3.1.4:
                      • 1.3.1.5:
                        • 1.3.1.6:
                          • 1.3.1.7:
                            • 1.3.1.8:
                              • 1.3.1.9:
                                • 1.3.1.10:
                                • 1.3.2:
                                • 1.4:
                                  • 1.4.1:
                                    • 1.4.2:
                                    • 1.5:
                                      • 1.6:
                                        • 1.7:
                                          • 1.8:
                                            • 1.8.1:
                                              • 1.8.2:
                                              • 1.9:
                                                • 1.9.1:
                                                  • 1.9.2:
                                                    • 1.9.2.1:
                                                      • 1.9.2.2:
                                                        • 1.9.2.3:
                                                          • 1.9.2.4:
                                                          • 1.9.3:
                                                            • 1.9.3.1:
                                                              • 1.9.3.2:
                                                                • 1.9.3.3:
                                                                  • 1.9.3.4:
                                                                  • 1.9.4:
                                                                    • 1.9.5:
                                                                    • 1.10:
                                                                    • 2:
                                                                      • 3:
                                                                        • 4:
                                                                          • 5:
                                                                            • 5.1:
                                                                              • 5.1.1:
                                                                                • 5.1.2:
                                                                                  • 5.1.3:
                                                                                  • 5.2:
                                                                                    • 5.2.1:
                                                                                      • 5.2.1.1:
                                                                                      • 5.2.2:
                                                                                        • 5.2.3:
                                                                                          • 5.2.4:
                                                                                            • 5.2.5:
                                                                                              • 5.2.5.1:
                                                                                                • 5.2.5.2:
                                                                                                  • 5.2.5.3:
                                                                                                  • 5.2.6:
                                                                                                  • 5.3:
                                                                                                    • 5.3.1:
                                                                                                      • 5.3.2:
                                                                                                        • 5.3.3:
                                                                                                          • 5.3.4:
                                                                                                            • 5.3.5:
                                                                                                              • 5.3.6:
                                                                                                                • 5.3.7:
                                                                                                                • 5.4:
                                                                                                                  • 5.5:
                                                                                                                    • 5.6:
                                                                                                                      • 5.7:
                                                                                                                        • 5.7.1:
                                                                                                                          • 5.7.2:
                                                                                                                            • 5.7.2.1:
                                                                                                                              • 5.7.2.2:
                                                                                                                                • 5.7.2.3:
                                                                                                                                  • 5.7.2.4:
                                                                                                                                  • 5.7.3:
                                                                                                                                    • 5.7.3.1:
                                                                                                                                      • 5.7.3.2:
                                                                                                                                        • 5.7.3.3:
                                                                                                                                          • 5.7.3.4:
                                                                                                                                          • 5.7.4:
                                                                                                                                            • 5.7.4.1:
                                                                                                                                              • 5.7.4.2:
                                                                                                                                                • 5.7.4.3:
                                                                                                                                                  • 5.7.4.4:
                                                                                                                                                  • 5.7.5:
                                                                                                                                                    • 5.7.6:
                                                                                                                                                  • 6:
                                                                                                                                                    • 6.1:
                                                                                                                                                      • 6.2:
                                                                                                                                                        • 6.2.1:
                                                                                                                                                          • 6.2.2:
                                                                                                                                                            • 6.2.3:
                                                                                                                                                            • 6.3:

                                                                                                                                                            Administration

                                                                                                                                                            The topics in this section are designed for platform administrators who may install Sysdig Monitor and Secure on-premises, deploy and configure the agents, and configure, administer, and troubleshoot the environment.

                                                                                                                                                            Administering Sysdig Platform

                                                                                                                                                            This section helps you navigate to the topics of administering the Sysdig user and notification management.

                                                                                                                                                            Feature DocumentationDescription
                                                                                                                                                            Super Admin ManagementLocate the super admin, super user, and login tokens.
                                                                                                                                                            User and Team AdministrationUnderstand Sysdig’s users, teams, and role permissions.
                                                                                                                                                            Notifications ManagementAdd, edit, or delete a variety of notification channel types, and disable or delete notifications when they are not needed.
                                                                                                                                                            Find Your Customer ID and NameFind customer ID for SaaS deployments.
                                                                                                                                                            Authentication and Authorization (SaaS)Set up secure access control for SaaS deployments.

                                                                                                                                                            License Management

                                                                                                                                                            This section helps you navigate to the topics on License Management.

                                                                                                                                                            Feature DocumentationDescription
                                                                                                                                                            SubscriptionReview your account status regarding payment tier and licensed numbers of agents, serverless agents, cloud accounts.

                                                                                                                                                            Troubleshooting Sysdig Platform

                                                                                                                                                            This section helps you troubleshoot on-premises and agent installation.

                                                                                                                                                            Feature DocumentationDescription
                                                                                                                                                            Troubleshoot On-Prem InstallationsReview general issues and troubleshooting tips for on-prem installations. Troubleshoot On-Prem Installations.
                                                                                                                                                            Troubleshoot Sysdig AgentBrowse troubleshooting tips for Sysdig agents.
                                                                                                                                                            Contact Sysdig SupportGet help from Sysdig Support.

                                                                                                                                                            On-Premises Deployments

                                                                                                                                                            This section provides guidelines for deploying a Sysdig Platform on-premises.

                                                                                                                                                            Feature DocumentationDescription
                                                                                                                                                            System ArchitectureUnderstand the Sysdig Platform components and their relationships to each other and the environment.
                                                                                                                                                            System RequirementsReview the hardware components and software resources required to host the Sysdig Platform.

                                                                                                                                                            Installing Sysdig Platform On-Premises

                                                                                                                                                            When installing Sysdig Platform on-premises, follow the instructions specific to your environment. Where available, the Installer tool is the recommended option.

                                                                                                                                                            For release 3.6.0 and higher, this material has moved to version-specific folders in GitHub.

                                                                                                                                                            For legacy installation instructions, see On-Premises Installation.

                                                                                                                                                            For information on upgrading environments up to version 3.5.1, see On-Premises Upgrades. For upgrading beyond 3.6.0, there will be version-specific folders in GitHub.

                                                                                                                                                            Administration for Sysdig Platform On-Premises

                                                                                                                                                            This section helps you navigate to the topics on securing the Sysdig Platform components.

                                                                                                                                                            Feature DocumentationDescription
                                                                                                                                                            Manage User Profile and PasswordAccess the current user’s login credentials, team, and role, and retrieve the API token to use with custom scripts or applications.
                                                                                                                                                            Securing User PasswordsSecure user credentials for Sysdig Platform components.
                                                                                                                                                            Authentication and Authorization (On-Prem Options)Set up secure access control for the on-prem deployments.

                                                                                                                                                            1 -

                                                                                                                                                            Administration Settings

                                                                                                                                                            The Settings panel can be accessed from both Sysdig Monitor and Sysdig Secure UIs, and by both administrator and non-admin users.

                                                                                                                                                            Access Settings Panel

                                                                                                                                                            Access the panel from the lower left corner of the Sysdig Monitor or Sysdig Secure navigation bar.

                                                                                                                                                            Settings Panel: Admin vs User

                                                                                                                                                            The administrative tasks for the Sysdig platform are accessed through the Settings panel. Non-admin users have access to some of the pages; administrators have additional rights to manage Users, Teams, and to add licenses.

                                                                                                                                                            Logging in as Administrator reveals additional links in the Settings panel:

                                                                                                                                                            Administrator SettingsNon-Admin User Settings

                                                                                                                                                            1.1 -

                                                                                                                                                            User Profile and Password

                                                                                                                                                            Access the User Profile page to review and perform necessary actions:

                                                                                                                                                            Access the User Profile page:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure and select Settings.

                                                                                                                                                            2. Select User Profile.

                                                                                                                                                            3. Review settings and perform actions below.

                                                                                                                                                            Review User’s Email, Role, and Current Team

                                                                                                                                                            The current user’s login email address, current team, and role on that team are listed in the User Profile section.

                                                                                                                                                            Change Admin Settings (visible to admins only)

                                                                                                                                                            If logged on as Administrator, you can access Admin Settings on this page which apply globally.

                                                                                                                                                            Retrieve the Sysdig API Token

                                                                                                                                                            When using the Sysdig API with custom scripts or applications, an API security token (specific to each team) must be supplied.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure and select Settings.

                                                                                                                                                            2. Select User Profile.The Sysdig Monitor or Sysdig Secure API token is displayed (depending on which interface and team you logged in to).

                                                                                                                                                            3. You can Copy the token for use, or click the Reset Token button to generate a new one.

                                                                                                                                                              When reset, the previous token issued will immediately become invalid and you will need to make appropriate changes to your programs or scripts.

                                                                                                                                                            Change Your Password

                                                                                                                                                            Use the Password Management fields to change this user’s password.

                                                                                                                                                            Required: Minimum 8 characters, not the last password used.

                                                                                                                                                            Recommended: We advise following NIST’s most up-to-date recommendations, with an emphasis on length and uniqueness.

                                                                                                                                                            Enable Beta Functions from Sysdig Labs

                                                                                                                                                            Toggle the feature settings listed under Sysdig Labs to enable/disable specific beta functionalities to your installation. Data that has already been stored will not be affected by beta toggles.

                                                                                                                                                            (If there are no beta features, Sysdig Labs will not be displayed.)

                                                                                                                                                            1.1.1 -

                                                                                                                                                            Retrieve the Sysdig API Token

                                                                                                                                                            When using the Sysdig API with custom scripts or applications, an API security token (specific to each team) must be supplied.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure and select Settings.

                                                                                                                                                            2. Select User Profile.The Sysdig Monitor or Sysdig Secure API token is displayed (depending on which interface and team you logged in to).

                                                                                                                                                            3. You can Copy the token for use, or click the Reset Token button to generate a new one.

                                                                                                                                                              When reset, the previous token issued will immediately become invalid and you will need to make appropriate changes to your programs or scripts.

                                                                                                                                                            1.2 -

                                                                                                                                                            User and Team Administration

                                                                                                                                                            This page describes the concepts behind Sysdig’s users, teams, and role permissions.

                                                                                                                                                            Understanding Sysdig Users

                                                                                                                                                            Users in Sysdig are identified by user name, email address, and password or third-party authentication option.

                                                                                                                                                            Users are either:

                                                                                                                                                            • Invited manually by an Administrator via the Sysdig UI, or

                                                                                                                                                            • Authenticated through a third-party system, or

                                                                                                                                                            • Entered directly in the Sysdig database through the Admin API, which can bypass the invitation process if needed.

                                                                                                                                                            When invited, the new user is created in the Sysdig database upon the user’s first successful login to the Sysdig UI. Before the user accepts the invitation, enters a password, and logs in, they have a “pending” status.

                                                                                                                                                            System-Based Privileges

                                                                                                                                                            From the outset, users in the Sysdig environment have one of three types of system privileges

                                                                                                                                                            • **(Super) Admin:**This is the administrator whose email address is associated with the Sysdig billing account. This user has administrator access to everything. Most relevant in on-prem installations.

                                                                                                                                                            • Administrator: Any administrator can grant Admin system privileges to any user. Administrators are automatically members of all teams.

                                                                                                                                                              Administrators can create/delete users; create/configure/delete teams; create/delete notification channels; manage licenses; and configure Agents from links in the Settings menu that are hidden from non-admins.

                                                                                                                                                            • User (non-admin): By default, new users have read/write privileges to create, delete, and edit content in the Sysdig interface. They do not see options in the Settings menu that are restricted to Administrators.

                                                                                                                                                              User rights are further refined based on team and team role assignments, as described below.

                                                                                                                                                            When a user is created, it is automatically assigned to a default team (described below).

                                                                                                                                                            Notice that this default workflow grants all new users Edit access.

                                                                                                                                                            Understanding Sysdig Teams

                                                                                                                                                            Teams can be thought of as service-based access control. Teams are created and assigned separately in Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            Purpose of Teams

                                                                                                                                                            Organizing users into teams enables enforcing data-access security policies while improving users' workflows. There are different team roles, each of which has read/write access to different aspects of the app.

                                                                                                                                                            This limits the exposure of data to those who actually need it, and also makes users more productive by focusing them on data that is relevant to them.

                                                                                                                                                            The following are some potential use cases for Teams.

                                                                                                                                                            • “Dev” vs “Prod”: Many organizations prefer to limit access to production data. Permits isolating physical infrastructure and the applications on top.

                                                                                                                                                            • Microservices: Scoping data for individual dev teams to see their own dashboards and field their own alerts. Permits team creation based on logical isolation using orchestration or config management metadata in Sysdig Monitor.

                                                                                                                                                            • Platform as a Service: Where Ops teams need to see the entire platform. Enabling certain people to see all data for all services as well as the underlying hardware. This is perfect for managed service providers who are managing a multi-tenant environment, or devops teams using a similar model within their own organization.

                                                                                                                                                            • Restricted environments: Limiting data access for security and compliance. Certain services, such as authentication and billing, may have a very specific set of individuals authorized to access them.

                                                                                                                                                            • Organizations that need to segment monitoring for efficiency: Wide-ranging use case from very large organizations forming teams to simplify access, to smaller orgs creating ephemeral troubleshooting teams, to teams formed to optimize QA and Support access to system data.

                                                                                                                                                            Operations Teams and Default Teams

                                                                                                                                                            Out of the box, the Sysdig Platform has one immutable team for each product. Depending on licensing, an organization may use one or both:

                                                                                                                                                            • Monitor Operations team

                                                                                                                                                            • Secure Operations team

                                                                                                                                                            Key traits of the immutable Operations teams:

                                                                                                                                                            • The teams cannot be deleted

                                                                                                                                                            • Users in Operations teams have full visibility to all resources in that product

                                                                                                                                                            • Administrators must switch to the Operations team before changing configuration settings for any team

                                                                                                                                                            Administrators create additional teams and can designate any team to become the default team for that product. The number of teams allowed in an environment is determined by licensing.

                                                                                                                                                            Users entered in the Sysdig Monitor UI are auto-assigned to the Monitor default team; users entered in the Sysdig Secure UI are auto-assigned to the Secure default team.

                                                                                                                                                            If the Essentials tier is licensed, only the default teams and roles are enabled. See Subscription for more details.

                                                                                                                                                            If upgrading from Essentials to Enterprise, Capture functionality will become available. Users must go to Settings>Teams><Your Team> and check the Enable Captures box. They must then log out and log in again.

                                                                                                                                                            Team-Based Roles and Privileges

                                                                                                                                                            Users can be assigned roles that expand or limit their basic system privileges on a per-team basis.

                                                                                                                                                            System Role

                                                                                                                                                            Team Role

                                                                                                                                                            Admin

                                                                                                                                                            Member of every team, with full permissions regardless of team assignment.

                                                                                                                                                            Can create/delete/configure all users.

                                                                                                                                                            Can create/delete/configure all teams.

                                                                                                                                                            Team Manager (Monitor)

                                                                                                                                                            Advanced User (Monitor)

                                                                                                                                                            Standard User (Monitor)

                                                                                                                                                            Non-Admin (Sysdig Monitor)

                                                                                                                                                            Can create/edit/delete dashboards, alerts, or other content + ability to add/delete team members or change team member permissions.

                                                                                                                                                            NOTE: Team Managers only have user administration rights within the specific team(s) for which they are designated Managers.

                                                                                                                                                            Can create/edit/delete dashboards, alerts, or other content.

                                                                                                                                                            Equivalent to an Advanced User withno access to the Explore page (e.g. for developers who are not interested in Monitoring information).

                                                                                                                                                            Team Manager (Secure)

                                                                                                                                                            Advanced User (Secure)

                                                                                                                                                            Service Manager (Secure)

                                                                                                                                                            Standard User (Secure)

                                                                                                                                                            Non-Admin (Sysdig Secure)

                                                                                                                                                            Same permissions as the Advanced User + ability to add/delete team members or change team member permissions..

                                                                                                                                                            NOTE: Team Managers only have user administration rights within the specific team(s) for which they are designated Managers.

                                                                                                                                                            Can access every Secure feature within the team scope in read and write mode. Advanced Users can create, delete, or update runtime policies, image scanning policies or any other content. The Advanced User cannot manage users.

                                                                                                                                                            Free Tier users are automatically assigned to Advanced User role.

                                                                                                                                                            Same as Standard User, plus ability to invite existing users to the team and manage the notifications channels assigned to the team.

                                                                                                                                                            Can push container images to the scanning queue, view image scanning results, and display the runtime security events within the team scope. Standard Users cannot access Benchmarks, Activity Audit, Policy definitions, or certain write functions within other Secure features.

                                                                                                                                                            See How Team Membership Affects Users' Experience of the UI for more detail.

                                                                                                                                                            How Team Membership Affects Users' Experience of the UI

                                                                                                                                                            Team membership affects user experience of the Sysdig Monitor or Sysdig Secure UIs in various ways.

                                                                                                                                                            At the highest level, the dashboards, alerts, and policy events you see are limited by the settings of the team you are switched to.

                                                                                                                                                            In more detail, team settings affect the:

                                                                                                                                                            • Default landing page: The UI entry point is set on a per-team basis.

                                                                                                                                                            • Explore tab and dashboards: These are set per-team, per-user, and can be shared with the team.

                                                                                                                                                              On first login, all team members see the same Dashboards Assigned to Me view. If a user changes those dashboards, only that user will see the changes.

                                                                                                                                                              Dashboards created while part of a team are only visible to the user when logged in to that team, and if shared, are only visible to other team members.

                                                                                                                                                            • Visible data: A team’s scope settings limit the data visible to team members while they are switched to that team, even if a user belongs to other teams with different settings that reveal additional data. In Sysdig Secure, for example, only the policy events that fired within your scope will be visible.

                                                                                                                                                            • Alert and Event: These settings are team-wide*.*** Any member of a team can change the team’s alert settings, and any additions or edits are visible to all members of the team.

                                                                                                                                                            • Captures: Can only be taken on hosts/containers visible to team members, and members see only the list of captures initiated by other members who were switched to the current team.

                                                                                                                                                            • API Token: Note that the Sysdig Monitor API Token found under Settings > User Profile is unique per-user, per-team. (See User Profile and Password . This is necessary to enable the generation of Custom Events via the API to target a specific team.

                                                                                                                                                            Switching Teams in the UI

                                                                                                                                                            Users can switch between all teams to which they’ve been assigned, and Administrators can switch between all teams that have been created.

                                                                                                                                                            To do so:

                                                                                                                                                            1. Click the Selector button in the lower-left corner of the navigation bar.

                                                                                                                                                              The assigned teams for this user are listed under Switch Teams.

                                                                                                                                                            2. NOTE: With version 3.6.0, you can also search for teams in the switcher.

                                                                                                                                                            3. Click another team name.

                                                                                                                                                              A popup window gives an overview of the new team-based view of the environment. The UI changes according to the team settings.

                                                                                                                                                            Onboarding Best Practices:

                                                                                                                                                            Plan teams and roles strategically to isolate access to data, customize interfaces, and streamline workflows.

                                                                                                                                                            In general, administrators should:

                                                                                                                                                            • Create teams, invite users, and set roles in a planned manner

                                                                                                                                                            • Start with some dashboards and alerts for given teams to get started with

                                                                                                                                                            Note: When a user logs in to a team for first time, they will see a wizard introducing dashboards, alerts, etc. specific to that team.

                                                                                                                                                            Restricting New User Rights by Default

                                                                                                                                                            By default, new users (added manually or through a third-party authenticator) are assigned Advanced User rights. If a administrator wants to limit new users' rights further, there are several ways to do so.

                                                                                                                                                            • Between sending the invitation and the user’s first log in, change the user’s Role in the default Monitor team to Read User.

                                                                                                                                                              Note that there could theoretically be a lag in which the user would briefly have had Edit status.

                                                                                                                                                            • Integrate users into Sysdig via the Admin API and define read-only permissions upon import.

                                                                                                                                                            • Create a default team, in either Sysdig Monitor or Sysdig Secure, with very limited scope and visibility. Manually assign users to additional teams with broader permissions as needed.

                                                                                                                                                            Integrating Users and Teams via API

                                                                                                                                                            If you are working with Sysdig Support Engineers to provision users and teams via the Sysdig API, note how the user and team role names within the UI map to the API ROLE names.

                                                                                                                                                            User roles

                                                                                                                                                            Regular (non-admin) = ROLE_USER

                                                                                                                                                            Admin = ROLE_CUSTOMER

                                                                                                                                                            Team roles

                                                                                                                                                            Advanced user = ROLE_TEAM_EDIT

                                                                                                                                                            Standard user = ROLE_TEAM_STANDARD

                                                                                                                                                            View-only user = ROLE_TEAM_READ

                                                                                                                                                            Team manager = ROLE_TEAM_MANAGER

                                                                                                                                                            Service manager (Sysdig Secure only) = ROLE_TEAM_SERVICE_MANAGER

                                                                                                                                                            1.2.1 -

                                                                                                                                                            Manage Users

                                                                                                                                                            This page describes how to add, delete, and configure user information from within the Sysdig Monitor or Sysdig Secure UI.

                                                                                                                                                            Only Admin users can configure user account information.

                                                                                                                                                            Users added in Sysdig Monitor will appear in the full list of users for both Sysdig Monitor and Sysdig Secure, if both products are in use. However, users will not have log in access to Sysdig Secure until they are added to a Sysdig Secure team.

                                                                                                                                                            Create a User

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Users.

                                                                                                                                                            3. Click the Add User link.

                                                                                                                                                            4. Enter the user’s email address, first name and last name:

                                                                                                                                                            5. Click Save to send the user invite, or click Cancel to discard the user.

                                                                                                                                                              For on-premises environments, you may need to have pre-configured your SMTP parameters in your Replicated or Kubernetes installation configmap.

                                                                                                                                                            The new user will be added to the User Management table. Their status will be listed as Pending until the invitation is accepted.

                                                                                                                                                            Admin privileges cannot be assigned until the invitation has been accepted, and the user has logged into the interface for the first time. They can, however, be added to additional teams or have team-based roles assigned. For more information on configuring teams roles, refer to the Manage Teams and Roles documentation.

                                                                                                                                                            Edit User Information

                                                                                                                                                            To edit an existing user:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Users.

                                                                                                                                                            3. Select the user from the User Management table.

                                                                                                                                                            4. Optional: Edit the first name / last name.

                                                                                                                                                            5. Optional: Toggle the Admin switch to enable/disable administrator privileges.

                                                                                                                                                            6. Click Save to save the changes, or Cancel to revert the unsaved changes.

                                                                                                                                                              User emails are read-only, and cannot be changed.

                                                                                                                                                            Delete a User

                                                                                                                                                            To delete an existing user:

                                                                                                                                                            Deleting a user cannot be undone. Any dashboards or explore groupings that the user created for any team will be permanently deleted.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Users.

                                                                                                                                                            3. Select the user from the User Management table.

                                                                                                                                                            4. Click Delete User.

                                                                                                                                                            5. Click Yes, delete to confirm the change.

                                                                                                                                                            1.2.2 -

                                                                                                                                                            Manage Teams and Roles

                                                                                                                                                            The use of teams provides a strategic way to organize groups, streamline workflows, or protect data, as needed by an organization. Administrators who design and implement teams should have in-depth knowledge of organizational infrastructure and goals.

                                                                                                                                                            Only Advanced users can configure team permissions. Teams and roles must be assigned separately in Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            For more information, including foundational concepts, see User and Team Administration.

                                                                                                                                                            Create a Team

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Teams.

                                                                                                                                                            3. Click Add Team.

                                                                                                                                                            4. Configure the team options and click Save.

                                                                                                                                                            For more information on each configuration option, refer to Table 1: Team Settings.

                                                                                                                                                            Ensure that the team names are unique in both Monitor and Secure products. For example, if you attempt at creating a team in Secure with the same name as one created in Monitor, you will see an error message stating that a team with the same name already exists and you will be prevented from creating the team.

                                                                                                                                                            Table 1: Team Settings

                                                                                                                                                            Setting

                                                                                                                                                            Req'd

                                                                                                                                                            Description

                                                                                                                                                            Color

                                                                                                                                                            Yes

                                                                                                                                                            Assigns a color to the team to make them easier to identify quickly in a list.

                                                                                                                                                            Name

                                                                                                                                                            Yes

                                                                                                                                                            The name of the team as it will appear in the “Switch to” drop-down selector and other menus.

                                                                                                                                                            Description

                                                                                                                                                            No

                                                                                                                                                            Longer description for the team.

                                                                                                                                                            Default Team

                                                                                                                                                            No

                                                                                                                                                            If users are not assigned to any team, they will automatically be a part of this team if it's turned on.

                                                                                                                                                            Default User Role

                                                                                                                                                            No

                                                                                                                                                            If no specific choice is made, Advanced User will be automatically selected. Choose a different role from the drop-down menu to set a different default user role for this team.

                                                                                                                                                            Default Entry Point

                                                                                                                                                            Yes

                                                                                                                                                            Defaults to the Explore page; choose an alternate entry if needed.

                                                                                                                                                            Scope by

                                                                                                                                                            No

                                                                                                                                                            Determines the highest level the data to which team members will have visibility. If set for “Host”, Team members can see all Host-level and Container-level information. If set for “Container”, Team members can see only Container-level information.

                                                                                                                                                            Scope

                                                                                                                                                            Yes

                                                                                                                                                            Further limits what data Team members can see by specifying tag/value expressions for metrics. The pull-down selector defaults to “is”, but can be changed to “is not”, “in”, "contains", and etc. Complex policies can be created by clicking “Add another” to create AND chains of several expressions.

                                                                                                                                                            Note that making changes to the Scope settings can have a dramatic impact on what’s visualized in the Team’s Dashboards that are already configured, so you may want to carefully review these before/after your change.

                                                                                                                                                            Additional Permissions

                                                                                                                                                            Sysdig Capture - Check this box to allow this team to take Sysdig Captures. Captures will only be visible to members of this team.

                                                                                                                                                            WARNING: Captures will include detailed information from every container on a host, regardless of the team’s Scope.

                                                                                                                                                            Infrastructure Events - Check this box to allow this team to view ALL Infrastructure and Custom Events from every user and agent. Otherwise, this team will only see infrastructure events sent specifically to this team.

                                                                                                                                                            AWS Data - Check this box to give this team access to AWS metrics and tags. All AWS data is made available, regardless of the team’s Scope.

                                                                                                                                                            Team Users

                                                                                                                                                            No

                                                                                                                                                            Click to select any non-Admin users to be immediately added to this Team. Admins are filtered out by default, since they are members of every team automatically.

                                                                                                                                                            Configure an Entry Page or Dashboard for a Team

                                                                                                                                                            Some Sysdig Monitor teams benefit from using a default entry point other than the usual Explore page, as users who don’t need in-depth monitoring information can onboard and navigate Sysdig Monitor more efficiently.

                                                                                                                                                            Use the Default Entry Point setting on the Team page, as shown in Create a Team.

                                                                                                                                                            Note: If selecting a dashboard, open the secondary Dashboard drop-down menu, or type the name of the dashboard to select it.

                                                                                                                                                            (The dropdown is only populated with shared dashboards accessible by anyone on the team.)

                                                                                                                                                            Add and Configure Team Members

                                                                                                                                                            Users can be assigned to multiple teams. Team assignment is made from the Team page (not the User page), and must be done by an Administrator or Team Manager.

                                                                                                                                                            Users added in Sysdig Monitor will appear in the full list of users for both Sysdig Monitor and Sysdig Secure, if both products are in use. However, users will not have log in access to Sysdig Secure until they are added to a Sysdig Secure team.

                                                                                                                                                            Assign a User to a Team

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. SelectTeams.

                                                                                                                                                            3. Select the relevant team from the list, or search for it with the search box, and then select the relevant team.

                                                                                                                                                            4. In the Team Users section, click the Assign User button.

                                                                                                                                                            5. Select the user from the drop-down list, or search for it and then select it.

                                                                                                                                                            6. Click the Role drop-down menu to select the user role:

                                                                                                                                                            7. Optional: Repeat steps 3 to 5 for each additional user.

                                                                                                                                                            8. Click Save.

                                                                                                                                                            Assign Users a Team-Based Role

                                                                                                                                                            Review Team-Based Roles and Privileges for an overview.

                                                                                                                                                            Note that the Advanced User permission can be further refined into either a View-only user or a Team Manager.

                                                                                                                                                            Managers can add or delete members from a team, or toggle members' rights between Edit, Read, or Manager.

                                                                                                                                                            Note that Admins have universal rights and are not designated as Team Managers, Advanced Users, View-Only users, or Standard users.

                                                                                                                                                            Manager or Advanced User permissions can be assigned even to Pending users; administrators do not have to wait for the user’s first login to set these roles.

                                                                                                                                                            To assign a role to a user on a team:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as Administrator and either create a team or select a team to edit.

                                                                                                                                                            2. Add a user or select a user from the list of team members.

                                                                                                                                                            3. Select the appropriate role from the drop-down menu.

                                                                                                                                                              Reminder of the role privileges:

                                                                                                                                                              Admin: Member of every team with full permissions. Can create/delete/configure all users and teams.

                                                                                                                                                              Team Manager: Advanced User privileges + ability to add/delete team members or change team member permissions.

                                                                                                                                                              Advanced User:

                                                                                                                                                              In Sysdig Monitor: Read/write access to the components of the application available to the team. Can create/edit/delete dashboards, alerts, or other content.

                                                                                                                                                              In Sysdig Secure: Read/write access to the components of the application available to the team. Can create, delete, or update runtime policies, image scanning policies or any other content.

                                                                                                                                                              View-Only:

                                                                                                                                                              In Sysdig Monitor: Read access to the environment within team scope, but cannot create, edit, or delete dashboards, alerts, or other content.

                                                                                                                                                              In Sysdig Secure: Read access to every Secure feature in the team scope, but cannot modify runtime policies, image scanning policies or any other content.

                                                                                                                                                              Standard User:

                                                                                                                                                              In Sysdig Monitor: An Advanced User withno access to the Explore page (e.g. for developers who are not interested in Monitoring information).

                                                                                                                                                              In Sysdig Secure: Can send container images to the scanning queue, view image scanning results, and display the runtime security events within the team scope. Standard Users cannot access Benchmarks, Activity Audit, Policy definitions, or certain write functions within other Secure features.

                                                                                                                                                              Service Manager: Sysdig Secure only. Same as Standard User, plus ability to invite existing users to the team and manage the notifications channels assigned to the team.

                                                                                                                                                            4. Save edits.

                                                                                                                                                            Edit Team Configuration

                                                                                                                                                            To configure an existing team:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and selectSettings.

                                                                                                                                                            2. Select Teams.

                                                                                                                                                            3. Select the relevant team from the list, or search for it with the search box, and then select the relevant team.

                                                                                                                                                            4. Edit as needed, and click Save. For more information regarding the configuration options, refer to Table 1: Team Settings.

                                                                                                                                                            Delete a Team

                                                                                                                                                            When a team is deleted, some users may become “orphans”, as they are no longer a part of any team. These users will be moved to the default team.

                                                                                                                                                            The default team cannot be deleted. A new default team must be selected before the old default team can be deleted.

                                                                                                                                                            To delete a created team:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings. ``

                                                                                                                                                            2. Select Teams.

                                                                                                                                                            3. Select the relevant team from the list, or search for it with the search box, and then select the relevant team.

                                                                                                                                                            4. Click Delete team, then Yes, delete to confirm the change.

                                                                                                                                                            1.3 -

                                                                                                                                                            Notifications Management

                                                                                                                                                            Alerts are used in Sysdig Monitor when Event thresholds have been crossed, and in Sysdig Secure when Policy violations have occurred. Alerts can be sent over a variety of supported notification channels.

                                                                                                                                                            Notification Management describes how to add, edit, or delete a variety of notification channel types, and how to disable or delete notifications when they are not needed, for example, during scheduled downtime.

                                                                                                                                                            1.3.1 -

                                                                                                                                                            Set Up Notification Channels

                                                                                                                                                            Alerts are used in Sysdig Monitor when Event thresholds have been crossed, and in Sysdig Secure when Policy violations have occurred. Alerts can be sent over a variety of supported notification channels.

                                                                                                                                                            In the Settings panel of either Sysdig Monitor or Sysdig Secure, set up the notification channels to be used for alerting.

                                                                                                                                                            Notification channel management can be finessed by role-based access as follows:

                                                                                                                                                            • Notification channels can now be “global” or limited to a particular team

                                                                                                                                                            • Global channels can be managed by admins and can be viewed/used by other roles, while team-limited channels are available only to team members

                                                                                                                                                            • Team Manager , Advanced User, and Service Manager (Secure) roles can create/update/delete team-scoped notification channels, they can also read and use the global ones

                                                                                                                                                            • Standard and View Only roles can read team-limited and global notification channels

                                                                                                                                                            • Admins will be able to create global notification channels and migrate channels from “global” to “team-limited”, and also from one team to another.

                                                                                                                                                            Add a Notification Channel

                                                                                                                                                            To add a new notification channel:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                              The Notifications main page is displayed:

                                                                                                                                                            3. Click Add Notification Channel +, and select the desired notification channel.

                                                                                                                                                            4. Follow the channel-specific steps to complete the configuration process:

                                                                                                                                                            After you have set up a notification channel, it will appear as an available option to be assigned when you Add an Alert .

                                                                                                                                                            Edit a Notification Channel

                                                                                                                                                            To edit a notification channel:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                            3. Locate the target channel and click the Edit button.

                                                                                                                                                            4. Make the edits and click Done Editing to save the changes.

                                                                                                                                                            Test a Notification Channel

                                                                                                                                                            To test a notification channel:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                            3. Select the three dots next to a created Notification Channel and click Test Channel.

                                                                                                                                                            If a notification is not received within 10 minutes, the notification channel is not working, and the configuration should be reviewed.

                                                                                                                                                            1.3.1.1 -

                                                                                                                                                            Amazon SNS Notifications

                                                                                                                                                            Sysdig Monitor integrates easily with AWS Simple Notification Service (SNS).

                                                                                                                                                            On the AWS side:

                                                                                                                                                            To automatically push Sysdig Monitor alerts to the SNS topic of your choice:

                                                                                                                                                            1. From the AWS console, open the SNS management console

                                                                                                                                                            2. In the Create topic section, Create a new topic (if needed).

                                                                                                                                                              The topic’s Name, ARN, (optional) Display name, and Topic owner’s AWS account ID are displayed in the Details section.

                                                                                                                                                            3. Select the topic on the list.

                                                                                                                                                            4. Expand Access policy - optional.

                                                                                                                                                            5. Select Basic (By default).

                                                                                                                                                            6. Under Define who can publish messages to the topic, select Only the specified AWS accounts and enter the Sysdig Monitor account ID: 273107874544 (US-East Only).

                                                                                                                                                              For account IDs corresponding to other regions, see SaaS Regions and IP Ranges.

                                                                                                                                                            7. Click Create topic.

                                                                                                                                                            8. Ensure that you subscribe to the created topic.

                                                                                                                                                              1. On the navigation panel, choose Subscriptions.

                                                                                                                                                              2. On the Create subscription page, enter the Topic ARN of the topic you created earlier.

                                                                                                                                                              3. Specify other details and click Create subscription.

                                                                                                                                                            For further information about AWS SNS, refer to the AWS documentation.

                                                                                                                                                            For SNS notification, you can click the ‘help’ button for tips on setting up your SNS topic.

                                                                                                                                                            You will need to allow publishing rights to the Sysdig Monitor account ID corresponding to your region.

                                                                                                                                                            This can be done by creating a new policy on your SNS topic in AWS Console as shown in the below images:

                                                                                                                                                            1. Select “Edit topic policy” as shown below from “Other topic actions.”

                                                                                                                                                            2. In the “Basic view” tab of the “Edit topic policy” dialog, select “Only these AWS users” from the publisher’s list and enter the Sysdig ID.

                                                                                                                                                            In the Sysdig Monitor UI:

                                                                                                                                                            1. Complete steps 1-3 in Set Up a Notification Channel to log in to the Sysdig UI and select Amazon SNS Topic.

                                                                                                                                                            2. Enter the Topic created on the AWS side, along with a Channel Name, Enablement, and Notification toggles as appropriate.

                                                                                                                                                            3. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            4. Click Save.

                                                                                                                                                            1.3.1.2 -

                                                                                                                                                            Email Notifications

                                                                                                                                                            To send an alert notification via email, you must first set up the email notification channel.

                                                                                                                                                            To do so, complete steps 1-3 in Set Up a Notification Channel, then:

                                                                                                                                                            1. Select Email.

                                                                                                                                                            2. Enter the relevant details for the email notification:

                                                                                                                                                            3. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            4. Click Save.

                                                                                                                                                              If you enabled Test notification, a test email will be sent.

                                                                                                                                                            You can now configure an alert to use email notifications.

                                                                                                                                                            For on-premises environments, you may need to have pre-configured your SMTP parameters in your Replicated or Kubernetes installation configmap.

                                                                                                                                                            1.3.1.3 -

                                                                                                                                                            PagerDuty Notifications

                                                                                                                                                            To send an alert notification via PagerDuty, you must first set up the PagerDuty notification channel.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Have an account configured at PagerDuty.com.

                                                                                                                                                            • Have your PagerDuty credentials available (account, password and service).

                                                                                                                                                              With a PagerDuty base user role of Manager, you can auto-fetch the service information during the Sysdig/PagerDuty integration process.

                                                                                                                                                              If your PagerDuty team permissions are Manager but base user permissions are Responder or lower, you can enter the necessary data in the Sysdig UI manually.

                                                                                                                                                              Base user roles in the PagerDuty UI.

                                                                                                                                                            Configure PagerDuty

                                                                                                                                                            1. To launch the process from the Sysdig UI, complete steps 1-3 inSet Up Notification Channels and select PagerDuty.

                                                                                                                                                            2. Select Auto-fetch when prompted (must have base user role of Manager or higher in PagerDuty).

                                                                                                                                                              (If you select Manual, skip to step 5.)The PagerDuty Integration screen is displayed.

                                                                                                                                                            3. Enter the email and password associated with your PagerDuty account and click Authorize Integration.

                                                                                                                                                              OR

                                                                                                                                                              Enter the appropriate PagerDuty subdomain for single sign-on and Sign In.

                                                                                                                                                            4. A PagerDuty service selection screen is displayed.

                                                                                                                                                              Option 1: If you have never integrated before, you are prompted to choose a PagerDuty Servicename and an Escalation policy:

                                                                                                                                                              Option 2: If at least one service has already been integrated, you can select that one or create a different service.

                                                                                                                                                            5. Click Finish Integration.

                                                                                                                                                              Once integration is authorized, the Sysdig page for a new PagerDuty notification channel is displayed, with the information auto-filled.

                                                                                                                                                            6. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            7. Confirm the auto-populated information and click Save.OR

                                                                                                                                                              If you chose Manual entry in Step 2, then type the information and click Save.

                                                                                                                                                            You can now Add an Alert to use PagerDuty notifications.

                                                                                                                                                            Known Issue

                                                                                                                                                            There is a known issue whereby changing a notification from “Acknowledged” to “Unacknowledged” does not update correctly in PagerDuty.

                                                                                                                                                            What occurs:

                                                                                                                                                            • Event has triggered Notification, Notification is sent to PagerDuty.

                                                                                                                                                            • Open Event and click on “Acknowledge” button in Sysdig.

                                                                                                                                                            • Notification is sent to PagerDuty, and status is changed to “Acknowledged.”

                                                                                                                                                            • Open Event and click on “UnAcknowledge” button in Sysdig.

                                                                                                                                                              Status is not changed in PagerDuty. It remains “Acknowledged” rather than changing to “Triggered” in PagerDuty.

                                                                                                                                                            1.3.1.4 -

                                                                                                                                                            Slack Notifications

                                                                                                                                                            To send an alert notification via Slack you must first set up the Slack notification channel.

                                                                                                                                                            To do so:

                                                                                                                                                            Prerequisite:

                                                                                                                                                            Have a Slack account configured at Slack.com and know which notification channel to use for notifications.

                                                                                                                                                            1. To launch the process from the Sysdig UI, complete steps 1-3 in Set Up Notification Channels and select Slack.

                                                                                                                                                              You will be prompted to log in to your Slack account.

                                                                                                                                                            2. Select a Slack channel from the drop-down list to be used for notifications and click Authorize.

                                                                                                                                                            3. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            4. Complete configuration as desired and click Done.

                                                                                                                                                            5. Click Test to check the new functionality.

                                                                                                                                                            You can now configure an alert to use Slack notifications.

                                                                                                                                                            1.3.1.5 -

                                                                                                                                                            VictorOps Notifications

                                                                                                                                                            To integrate with your VictorOps

                                                                                                                                                            1. Log in to VictorOps.

                                                                                                                                                            2. Go to Settings > Alert Behavior > Integrations in the VictorOps interface.

                                                                                                                                                            3. Select REST from the list of Featured Integrations.

                                                                                                                                                            4. Complete steps 1-3 in Set Up a Notification Channel to log in to the Sysdig UI and select VictorOps.

                                                                                                                                                            5. Enter the VictorOps parameters in the Sysdig Notification Channel fields, as follows:

                                                                                                                                                              API Key: everything between "/alert/" and “/$routing_key” in the REST URL

                                                                                                                                                              Routing Key: A VictoOps way of routing alerts to appropriate teams. See their Routing Keys documentation for details, if needed.

                                                                                                                                                              Channel Name: Choose a meaningful name like “VictorOps”.

                                                                                                                                                              Enable the channel and desired notification types.

                                                                                                                                                            6. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            7. Click Save.

                                                                                                                                                            1.3.1.6 -

                                                                                                                                                            OpsGenie Notifications

                                                                                                                                                            1. Go directly to the OpsGenie Integrations Page to configure the integration on the OpsGenie side.

                                                                                                                                                              OpsGenie maintains documentation on how to integrate with Sysdig products (formerly called Sysdig Cloud) here.

                                                                                                                                                            2. Complete steps 1-3 in Set Up a Notification Channel to log in to the Sysdig UI and select OpsGenie.

                                                                                                                                                            3. Copy/paste your OpsGenie integration API key and add a Channel Name, Enablement, and Notification toggles as appropriate.

                                                                                                                                                            4. From Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            1.3.1.7 -

                                                                                                                                                            Configure a Microsoft Teams Channel

                                                                                                                                                            Sysdig Monitor supports sending an alert notification to Microsoft teams. Microsoft Teams has different types of integrations for third-party applications, of which Sysdig supports Incoming Webhooks.

                                                                                                                                                            About Incoming Webhooks

                                                                                                                                                            Incoming Webhooks are a type of Connector in Teams that provide a simple way for an external app to share content in team channels. They are often used as tracking and notification tools. Microsoft Teams provides a unique URL to which you can send a JSON payload with the message that you want to POST, typically in a card format. Cards are UI containers that contain content and actions related to a single topic and are a way to present message data in a consistent way.

                                                                                                                                                            You will need to enter the URL that you copied from the Connector. Sysdig will format a message by using a custom card template and send it to the channel. The message will show up as a new notification in the Microsoft application.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Have the destination URL handy. You can copy it from the Connectors > Incoming Webhook window on the Microsoft Teams UI. For more information, see Add an incoming webhook to a Teams channel.

                                                                                                                                                            • Webhooks via HTTPS work only if a signed or valid certificate is in use.

                                                                                                                                                            Enable Microsoft Teams

                                                                                                                                                            1. Complete steps 1-3 in Set Up a Notification Channel and choose Microsoft Teams.

                                                                                                                                                            2. Enter the configuration options:

                                                                                                                                                              • URL: The destination URL you have copied from Microsoft Teams UI.

                                                                                                                                                              • Channel Name: Add a meaningful name for your Microsoft Teams channel.

                                                                                                                                                              • Enabled: Toggle on or off.

                                                                                                                                                              • Notification options: Toggle for notifications when alerts are resolved or acknowledged.

                                                                                                                                                              • Test notification: Toggle to be notified that the configured URL is working.

                                                                                                                                                              • Shared With: Choose whether to apply this channel globally. All Teams or to a specific team from the drop-down.

                                                                                                                                                            3. Click Save.

                                                                                                                                                            1.3.1.8 -

                                                                                                                                                            Configure a Webhook Channel

                                                                                                                                                            Sysdig Monitor and Sysdig Secure support sending an alert notification to a destination, such as a website, custom application, and so on for which Sysdig does not have a native integration. Do this using a custom Webhook channel.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Webhooks via HTTPS only work if a signed/valid certificate is in use.

                                                                                                                                                            • Have your desired destination URL on hand.

                                                                                                                                                            Enable Webhook

                                                                                                                                                            1. Complete steps 1-3 in Set Up a Notification Channel and choose Webhook.

                                                                                                                                                            2. Enter the webhook channel configuration options:

                                                                                                                                                              • URL: The destination URL to which notifications will be sent.

                                                                                                                                                              • Channel Name: Add a meaningful name, such as Ansible, PagerDuty, OpsGenie, and so on.

                                                                                                                                                              • Enabled: Toggle on and off notifications.

                                                                                                                                                              • Notification options: Toggle for notifications when alerts are resolved or acknowledged.

                                                                                                                                                              • Test notification: Toggle to be notified that the configured URL is working.

                                                                                                                                                              • Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                              • Allow insecure connections: Enable if you want to skip the TLS verification.

                                                                                                                                                              • Custom headers: Add custom headers to your alert notification.

                                                                                                                                                                If your webhook integrations require additional headers you specify them by using a custom header.

                                                                                                                                                                For example, Ansible uses token-based authentication, which requires an entry for the bearer token. This entry is not included in the default header, but you can add it using a custom header.

                                                                                                                                                                Alternatively, you can choose to add custom headers programmatically as described in Configure Custom Headers and Custom Data Programmatically.

                                                                                                                                                              • Custom Data: Specify the custom data you want to attach to the alert notification. The data must be a valid JSON document. This information will be included in the request body of the HTTP call. Systems that receive these webhook alerts can parse the data and take action based on the contents.

                                                                                                                                                            3. Click Save.

                                                                                                                                                            When the channel is created, you can use it on any alerts you create.

                                                                                                                                                            Then, when the alert fires, the notification will be sent as a POST in JSON format to your webhook endpoint. (See Alert Output, below.)

                                                                                                                                                            For testing purposes, you can use a third-party site to create a temporary endpoint to see exactly what a Sysdig alert will send in any specific notification.

                                                                                                                                                            Configure Custom Headers and Custom Data Programmatically

                                                                                                                                                            By default, alert notifications follow a standard format (see Description of POST Data, below).

                                                                                                                                                            However, some integrations require additional headers and/or data, which you can append to the alert format using a custom header or custom data entry.

                                                                                                                                                            For example, Ansible uses token-based authentication, which requires an entry for the bearer token. This entry is not included in the default alert template built into Sysdig, but you can add it using a custom header.

                                                                                                                                                            In addition to the Webhook UI option, you can do this from the command line, as described below.

                                                                                                                                                            • additionalHeaders is usually used for authentication

                                                                                                                                                            • customData is used to add values to the alert

                                                                                                                                                            After it has been created via the API, any manipulation will mangle the notification channel. Use with care.

                                                                                                                                                            Sample Use Case

                                                                                                                                                            This example adds two custom headers and defines additional custom data, as well as the format for that data.

                                                                                                                                                            1. Use the curl command to retrieve all configured notification channels:

                                                                                                                                                              curl -X GET https://app.sysdigcloud.com/api/notificationChannels -H 'Authorization: Bearer API-KEY'
                                                                                                                                                              
                                                                                                                                                            2. Add the custom headers and execute the request:

                                                                                                                                                              curl -X PUT https://app.sysdigcloud.com/api/notificationChannels/1 -H 'Authorization: Bearer API-KEY' -H 'Content-Type: application/json' -d '{
                                                                                                                                                                "notificationChannel": {
                                                                                                                                                                  "id": 1,
                                                                                                                                                                  "version": 1,
                                                                                                                                                                  "type": "WEBHOOK",
                                                                                                                                                                  "enabled": true,
                                                                                                                                                                  "name": "Test-Sysdig",
                                                                                                                                                                  "options": {
                                                                                                                                                                    "notifyOnOk": true,
                                                                                                                                                                    "url": "https://hookb.in/v95r78No",
                                                                                                                                                                    "notifyOnResolve": true,
                                                                                                                                                                    "customData": {
                                                                                                                                                                      "String-key": "String-value",
                                                                                                                                                                      "Double-key": 2.3,
                                                                                                                                                                      "Int-key": 23,
                                                                                                                                                                      "Null-key": null,
                                                                                                                                                                      "Boolean-key": true
                                                                                                                                                                    },
                                                                                                                                                                    "additionalHeaders": {
                                                                                                                                                                      "Header-1": "Header-Value-1",
                                                                                                                                                                      "Header-2": "Header-Value-2"
                                                                                                                                                                    }
                                                                                                                                                                  }
                                                                                                                                                                }
                                                                                                                                                              }'
                                                                                                                                                              

                                                                                                                                                            Standard Alert Output

                                                                                                                                                            Alerts that use a custom webhook for notification send a JSON-format with the following data.

                                                                                                                                                            Description of POST Data

                                                                                                                                                            {
                                                                                                                                                              "timestamp": 1620222000000000, // Time when the alert triggered in microseconds
                                                                                                                                                              "timespan": 60000000, // duration of the alert in microseconds (how long the value should be true before triggering)
                                                                                                                                                              "alert": {
                                                                                                                                                                "severity": 2, // severity from 0 to 7, use severityLabel for a human readable version
                                                                                                                                                                "editUrl": "https://app-staging.sysdigcloud.com/#/alerts/21998727", // alert edit URL
                                                                                                                                                                "severityLabel": "Medium", // human readable version of severity
                                                                                                                                                                "subject": "CPU temp is High on homebridge:9100 is Triggered", // Alert subject
                                                                                                                                                                "scope": null, // scope of the alert if set from the UI
                                                                                                                                                                "name": "CPU temp is High", // name of the alert
                                                                                                                                                                "description": null, // description, not used ATM
                                                                                                                                                                "id": 21998727, // alert id
                                                                                                                                                                "body": "CPU temp is High on homebridge:9100 is Triggered\n\n\nEvent Generated:\n\nSeverity:         Medium\n    Metric:\n    node_hwmon_temp_celsius = 65.8121\nSegment:\n    instance = 'homebridge:9100'\nScope:\n    Everywhere\n\nTime:             05/05/2021 01:40 PM UTC\nState:            Triggered\nNotification URL: https://app-staging.sysdigcloud.com/#/events/notifications/l:2419200/14918845/details\n\n------\n\nTriggered by Alert:\n\nName:         CPU temp is High\nTeam:         Monitor Operations\nScope:\n    Everywhere\nSegment by:   instance\nWhen:         avg(avg(node_hwmon_temp_celsius)) > 40\nFor at least: 1 m\nAlert URL:    https://app-staging.sysdigcloud.com/#/alerts/21998727\n\n\n"
                                                                                                                                                              },
                                                                                                                                                              "event": {
                                                                                                                                                                "id": 14918845, // id of the generated event
                                                                                                                                                                "url": "https://app-staging.sysdigcloud.com/#/events/notifications/l:604800/14918845/details" // url of the event in the feed
                                                                                                                                                              },
                                                                                                                                                              "state": "ACTIVE", // status of the alert, can be ACTIVE or OK
                                                                                                                                                              "resolved": true,
                                                                                                                                                              "entities": [ // list of entities that triggered the alert, at the moment we send a notification per entity, so this array will always contain a single object
                                                                                                                                                                {
                                                                                                                                                                  "entity": "instance = 'homebridge:9100'", // segment that triggered
                                                                                                                                                                  "metricValues": [ // value of the metric at the time of triggering
                                                                                                                                                                    {
                                                                                                                                                                      "metric": "node_hwmon_temp_celsius",
                                                                                                                                                                      "aggregation": "avg",
                                                                                                                                                                      "groupAggregation": "avg",
                                                                                                                                                                      "value": 65.812167
                                                                                                                                                                    }
                                                                                                                                                                  ]
                                                                                                                                                                }
                                                                                                                                                              ],
                                                                                                                                                              "endEntities": [ // list of entities when the alert was resolved (same as "entities")
                                                                                                                                                                {
                                                                                                                                                                  "entity": "instance = 'homebridge:9100'",
                                                                                                                                                                  "metricValues": [
                                                                                                                                                                    {
                                                                                                                                                                      "metric": "node_hwmon_temp_celsius",
                                                                                                                                                                      "aggregation": "avg",
                                                                                                                                                                      "groupAggregation": "avg",
                                                                                                                                                                      "value": 39.812167
                                                                                                                                                                    }
                                                                                                                                                                  ]
                                                                                                                                                                }
                                                                                                                                                              ],
                                                                                                                                                              "condition": "avg(avg(node_hwmon_temp_celsius)) > 40", // alert condition in string form
                                                                                                                                                              "source": "Sysdig Cloud", // source of the event
                                                                                                                                                              "labels": { // list of labels associated to this event (they strongly depend on the segmentation and scope of the alert)
                                                                                                                                                                "instance": "homebridge:9100"
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Example of Failure

                                                                                                                                                            $ curl -X GET https://app.sysdigcloud.com/api/notificationChannels -H 'authorization: Bearer dc1a42cc-2a5a-4661-b4d9-4ba835fxxxxx’'
                                                                                                                                                            
                                                                                                                                                            {"timestamp":1543419336542,"status":401,"error":"Unauthorized","message":"Bad credentials","path":"/api/notificationChannels"}
                                                                                                                                                            

                                                                                                                                                            Example of Success

                                                                                                                                                            $ curl -X GET https://app.sysdigcloud.com/api/notificationChannels -H 'Authorization: Bearer dc1a42cc-2a5a-4661-b4d9-4ba835fxxxxx'
                                                                                                                                                            {"notificationChannels":[{"id":18968,"version":2,"createdOn":1543418691000,"modifiedOn":1543419020000,"type":"WEBHOOK","enabled":true,"sendTestNotification":false,"name":"robin-webhook-test","options":{"notifyOnOk":true,"url":"https://postb.in/6dtwzz7l","notifyOnResolve":true}}]}
                                                                                                                                                            $
                                                                                                                                                            

                                                                                                                                                            The webhook feature is used to integrate the following channels:

                                                                                                                                                            1.3.1.9 -

                                                                                                                                                            Configure ServiceNow

                                                                                                                                                            Sysdig can be integrated with ServiceNow using a custom webhook.

                                                                                                                                                            ServiceNowSetup

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Have a ServiceNow account set up and working.

                                                                                                                                                            • If necessary, refer to ServiceNow developer documentation here.

                                                                                                                                                            Create Scripted Rest API Details in ServiceNow GUI

                                                                                                                                                            1. Login to ServiceNow (developer entry) and create a Scripted REST API:

                                                                                                                                                            2. Click New and submit the form with the following:

                                                                                                                                                              Name: SysdigAlert API ID: sysdigalert

                                                                                                                                                            3. Return to the Scripted REST APIs and open the resource just created.

                                                                                                                                                              Scroll down to the related list area, select Resources, and click New. This will create a new Scripted REST API resource.

                                                                                                                                                            4. Fill in the Name field e.g. Demo.

                                                                                                                                                            5. Scroll down to Security and clear the checkbox that requires authentication.

                                                                                                                                                            6. Change the HTTP method from GET to POST.

                                                                                                                                                            The resource is created.

                                                                                                                                                            Add Code to the New Scripted API

                                                                                                                                                            Now give the resource the code to execute.

                                                                                                                                                            The default objects to work with in a Scripted REST API Resource are response and request.

                                                                                                                                                            For more details on request and response see Scripted_REST_Request_API and Scripted_REST_Response_API

                                                                                                                                                            The created resource will already have some example code:

                                                                                                                                                            (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
                                                                                                                                                            
                                                                                                                                                                // implement resource here
                                                                                                                                                            
                                                                                                                                                            })(request, response);
                                                                                                                                                            
                                                                                                                                                            1. Change this default code to:

                                                                                                                                                              (function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
                                                                                                                                                              
                                                                                                                                                               gs.info(request.body.dataString);
                                                                                                                                                              
                                                                                                                                                              })(request, response);
                                                                                                                                                              
                                                                                                                                                            2. Note the following resource path to this newly created resource is now visible: /api/snc/sysdigalert.

                                                                                                                                                              The url to this resource would be https://yourInstance.service-now.com/&lt;resource_Path or https://yourInstance.service-now.com/api/snc/sysdigalert ``

                                                                                                                                                            3. Click Submit/Update on this resource.

                                                                                                                                                            Sysdig Webhook Setup

                                                                                                                                                            Now that the custom API endpoint in ServiceNow is created, you can configure Sysdig alerts to use a custom webhook to trigger the ServiceNow integration.

                                                                                                                                                            API URL: your instance name URL

                                                                                                                                                            Name: ServiceNow (or whatever name you’d like for this Sysdig alert webhook)

                                                                                                                                                            Notify when OK: Optional

                                                                                                                                                            Notify when Resolved: Optional

                                                                                                                                                            Test Notification: Use this toggle and/or set up a test alert as described in the following section.

                                                                                                                                                            Test Integration

                                                                                                                                                            To test if this ServiceNow integration is set up and working correctly, you can set up a test alert to trigger.

                                                                                                                                                            For example, you could create an alert for CPU usage:

                                                                                                                                                            In ServiceNow, navigate to System Log > All to see a sample triggered webhook.

                                                                                                                                                            1.3.1.10 -

                                                                                                                                                            Configure IBM Cloud Functions Channel

                                                                                                                                                            Sysdig supports automatically sending alert notifications to an IBM Cloud Functions Channel. You generally use it for the following use cases.

                                                                                                                                                            • Configure an IBM Functions as a new notification channel in Sysdig Monitor.

                                                                                                                                                            • Pass extra parameters to IBM Functions.

                                                                                                                                                            • Modify an IBM Functions.

                                                                                                                                                            • Delete an IBM Functions.

                                                                                                                                                            The following notification channel types are supported:

                                                                                                                                                            • Public (with or without X-Require-Whisk-Auth header)

                                                                                                                                                            • Private (using IAM token)

                                                                                                                                                            To configure IBM Cloud Functions Channel:

                                                                                                                                                            1. Log in to the Sysdig UI and select IBM Cloud Functions Channel by completing steps 1-3 as described in Set Up a Notification Channel.

                                                                                                                                                            2. Specify the channel URL.

                                                                                                                                                              You can specify one of the following channel types.

                                                                                                                                                            3. Continue with one of the following:

                                                                                                                                                            Configure a Private Channel

                                                                                                                                                            Specify the following:

                                                                                                                                                            • IAM API Key:

                                                                                                                                                            • Channel Name: A unique name to identify the channel.

                                                                                                                                                            • Enable the channel and desired notification types:

                                                                                                                                                              • Enabled: The toggle button to enable or disable the IBM channel.

                                                                                                                                                              • Notify when Resolved: Send a new notification when the alert condition is no longer triggered. Enable or disable the notification toggle as appropriate.

                                                                                                                                                              • Notify when Acknowledged: Send a new notification when the alert is manually acknowledged by a user. Enable or disable the notification toggle as appropriate.

                                                                                                                                                              • Test notification: Send a notification when the changes are saved. Enable or disable the notification toggle as appropriate.

                                                                                                                                                            • Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            • Additional Parameters: Specify optional parameters to pass to the function. For example, name: jane is passed to the action as {name: "Jane"}.

                                                                                                                                                            Configure a Public Channel

                                                                                                                                                            Specify the following:

                                                                                                                                                            • Whisk Auth Token (optional): Optionally provide the Whisk authentication token. If you specify one, the public channel (web action) can only be invoked by requests that provide appropriate authentication credentials. See Securing web actions for more details.

                                                                                                                                                            • Channel Name: A unique name to identify the channel.

                                                                                                                                                            • Enable the channel and desired notification types:

                                                                                                                                                              • Enabled: The toggle button to enable or disable the IBM channel.

                                                                                                                                                              • Notify when Resolved: Send a new notification when the alert condition is no longer triggered. Enable or disable the notification toggle as appropriate.

                                                                                                                                                              • Notify when Acknowledged: Send a new notification when the alert is manually acknowledged by a user. Enable or disable the notification toggle as appropriate.

                                                                                                                                                              • Test notification: Send a notification when the changes are saved. Enable or disable the notification toggle as appropriate.

                                                                                                                                                            • Shared With: Choose whether to apply this channel globally (All Teams) or to a specific team from the drop-down.

                                                                                                                                                            • Additional Parameters: Specify optional parameters to pass to the function. For example, hostname: BLR is passed to the action as {hostname: "BLR"}. The URL would be /demo/hello.http?hostname=BLR.

                                                                                                                                                            1.3.2 -

                                                                                                                                                            Disable or Delete a Notification Channel

                                                                                                                                                            Temporarily Disable a Notification Channel

                                                                                                                                                            To temporarily disable a notification channel:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                            3. Toggle the Enabled slider to off.

                                                                                                                                                            Mute Notifications During Downtime

                                                                                                                                                            Administrators can choose to turn off all alert events and notifications if desired, for example, during a scheduled system downtime.

                                                                                                                                                            Muting notifications affects all channels globally. When muting is switched on, no notifications will be sent through any configured channel. You can choose whether to notify specific channels that notifications are temporarily disabled. Muting and re-enabling notifications is a MANUAL process.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                            3. Select the Downtime toggle.

                                                                                                                                                              Optional: check the **Yes**box to Notify Channels when prompted, and select the desired channels.

                                                                                                                                                              At this time, only Email and Slack channels can be notified when downtime is started/stopped.

                                                                                                                                                            Delete a Notification Channel

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Notification Channels.

                                                                                                                                                            3. Select the three dots next to a created channel and click Delete Channel.

                                                                                                                                                            Configure an Alert Start-Up Delay (On-Premises Only)

                                                                                                                                                            Sysdig alert jobs begin immediately at start-up. However, in instances where Sysdig goes down unexpectedly, or without proper shutdown/startup procedures implemented, data can be missing, triggering alert notifications.

                                                                                                                                                            A start-up delay in alert jobs can be configured in on-premises environments, by setting the draios.alerts.startupDelay parameter. The parameter requires a duration value; the example below shows a duration of 10 minutes:

                                                                                                                                                            draios.alerts.startupDelay=10m
                                                                                                                                                            

                                                                                                                                                            This parameter can be configured for either Replicated or Kubernetes environments:

                                                                                                                                                            • For Replicated environments, add the parameter to the Sysdig application JVM options list. For more information, refer to the Sysdig Install with Replicated documentation.

                                                                                                                                                            • For Kubernetes environments, add the parameter to the **sysdigcloud.jvm.worker.options **parameter in the configmap. For more information on editing the configmap refer to the On-Premises Installation documentation.

                                                                                                                                                            1.4 -

                                                                                                                                                            AWS: Integrate AWS Account and CloudWatch Metrics (Optional)

                                                                                                                                                            When the Sysdig agent is installed in an AWS environment, the Sysdig Platform can collect both general metadata and various types of CloudWatch metrics.

                                                                                                                                                            There are three ways to integrate an AWS account into Sysdig:

                                                                                                                                                            • By manually entering an AWS access key and secret key, and manually managing/rotating them as needed

                                                                                                                                                            • By passing a parameter that allows Sysdig to autodetect an AWS ECS role and its permissions, passing an “implicit key” (On-Prem only).

                                                                                                                                                              The implicit option requires no manual key rotation as AWS handles those permissions behind the scenes.

                                                                                                                                                            • Using AWS Role delegation. Role delegation is an alternative to the existing integration methods using the access keys. This method is considered secure as sharing developer access keys with third-parties is not recommended by Amazon.

                                                                                                                                                            The Sysdig Monitor UI includes links to help easily integrate CloudWatch metrics into Sysdig Monitor, as described below.

                                                                                                                                                            After integrating with an AWS account, data will become visible in the Sysdig UI after a 10-15 minute delay.

                                                                                                                                                            Entry Point in the Sysdig UI

                                                                                                                                                            The Sysdig interface prompts you to perform this integration from the administrator’s Settings menu.

                                                                                                                                                            Access from the Settings Menu

                                                                                                                                                            Once an agent has been installed, log in to Sysdig Monitor or Sysdig Secure as administrator to perform integration steps or review/modify existing AWS settings.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Choose AWS Accounts.

                                                                                                                                                              A page showing manual key integration, with access key and secret key fields displayed.

                                                                                                                                                              NOTE: If there is no AWS integration yet then click on ADD and provide the access key and secret key.

                                                                                                                                                            Integrate AWS Account Manually

                                                                                                                                                            Have your AWS EC2 account details available. Integration begins on the AWS side and is completed in the Sysdig Monitor UI.

                                                                                                                                                            In AWS

                                                                                                                                                            Create an IAM Policy for Sysdig Access

                                                                                                                                                            You could use the existing IAMReadOnly policy instead, but creating a Sysdig-specific policy provides more granular access control, the activity can be easily distinguished in CloudTrail, and it is considered best practice.

                                                                                                                                                            1. In AWS, select IAM and create a policy to be used for Sysdig. (Sample policy name: SysdigMonitorPolicy.)

                                                                                                                                                            2. Using the JSON editor view, copy/paste the Sysdig-specific policy code into the new policy and save it.

                                                                                                                                                            3. You can review the policy in the Visual Editor.

                                                                                                                                                            When reviewing the completed policy in the Visual editor, you should see something like:

                                                                                                                                                            Create an IAM User and Grant Programmatic Access

                                                                                                                                                            Use an existing IAM user, or (best practice) create a specific IAM user for the Sysdig Backend to programmatically access CloudWatch and use its data.

                                                                                                                                                            1. In the IAM Console, add a User.

                                                                                                                                                            2. Select AWS Access Type: Programmatic Access.

                                                                                                                                                            3. Select ‘Attach existing policies directly’, search for and then select the newly created policy (Sample policy name: SysdigMonitorPolicy.)

                                                                                                                                                            4. Select ‘Create User’ option.

                                                                                                                                                            5. Copy and save the resulting access key and secret key (Note: the Secret is only displayed once, so make sure to download the credentials file or store the key securely that you can reference again.)

                                                                                                                                                            In the Sysdig Monitor UI

                                                                                                                                                            Enter the Access and Secret Key

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as the administrator and select Settings.

                                                                                                                                                            2. Select AWS.

                                                                                                                                                            3. Add an account by entering the **User Access Key**and **Secret Key**and clicking Save.

                                                                                                                                                              The Credentials will be listed with a Status of **OK**checked.

                                                                                                                                                            Should an Error occur, double-check the credentials entered. Mis-typing is the most common cause of errors.

                                                                                                                                                            Enable CloudWatch Integration

                                                                                                                                                            1. Navigate to the AWS page in the Sysdig Monitor UI, if you are not already there.

                                                                                                                                                            2. Toggle the **CloudWatch Integration Status**to Enabled.

                                                                                                                                                              Sysdig Monitor will poll the CloudWatch API every five minutes. Note that this incurs additional charges from AWS.

                                                                                                                                                            After integrating with an AWS account, data will become visible in the Sysdig UI after a 10-15 minute delay.

                                                                                                                                                            Refetch Credentials

                                                                                                                                                            If the integrated AWS account changes on the AWS side, an Error will be listed in the Credentials Status on the Settings > AWS page.

                                                                                                                                                            Use the Refetch Now button to re-establish the integration.

                                                                                                                                                            Integrate AWS Account Using the Implicit Key (On-Prem Only)

                                                                                                                                                            If Sysdig is installed in an EC2 instance, you can take advantage of the existing EC2 IAM role of that instance. This can simplify administration, as you do not have to manually rotate public and private keys provided to the Sysdig backend.

                                                                                                                                                            Use Implicit Key

                                                                                                                                                            Prerequisites

                                                                                                                                                            Have your on-premises Sysdig platform installed in an AWS EC2 instance that has a proper IAM role.

                                                                                                                                                            For this option, you cannot use the AWS Integration step in the Welcome Wizard.

                                                                                                                                                            To enable implicit key, you must set the following parameter:

                                                                                                                                                            -Ddraios.providers.aws.implicitProvider=true
                                                                                                                                                            

                                                                                                                                                            Use the parameter either during initial installation, or, if you already entered keys manually, to switch to an implicit key.

                                                                                                                                                            If switching, you must then restart the api, worker, and collector components in the backend.

                                                                                                                                                            In the Settings > AWS page, the former credentials will be overwritten it will show implicit key.

                                                                                                                                                            Enablement steps depend on whether you are using Kubernetes or Replicated as your orchestrator.

                                                                                                                                                            Kubernetes

                                                                                                                                                            1. Edit the config.yaml to add to the following entries (in the Data section of config.yaml):

                                                                                                                                                              sysdigcloud.jvm.api.options:
                                                                                                                                                              sysdigcloud.jvm.worker.options:
                                                                                                                                                              sysdigcloud.jvm.collector.options:
                                                                                                                                                              

                                                                                                                                                            2. If you are switching from manual to implicit keys, you must also restart the API, worker, and collector components.

                                                                                                                                                              See To Make Configuration Changes for details.

                                                                                                                                                            3. Enable Cloudwatch integration in the Sysdig UI.

                                                                                                                                                            Changing the AWS Services that are Polled

                                                                                                                                                            Sysdig is designed to collect metadata for particular AWS services, which are reflected in the IAM policy code.

                                                                                                                                                            The services are:

                                                                                                                                                            • DynamoDB

                                                                                                                                                            • EC2 hosts

                                                                                                                                                            • ECS

                                                                                                                                                            • Elasticache

                                                                                                                                                            • RDS

                                                                                                                                                            • SQS

                                                                                                                                                            When you implement the code and integration steps as described above, it will trigger two types of collection: first the metadata for each service is collected, and then Sysdig will poll for the metrics about the metadata returned. So, if the service is not enabled in your environment, no metadata (and no metrics) are collected about it. If it is enabled, but you do not want to poll metrics, then delete the lines of code related to that service from the IAM policy. This will avoid potential unwanted AWS API requests and potential AWS charges.

                                                                                                                                                            See also AWSin the Metrics Dictionary.

                                                                                                                                                            Security Groups

                                                                                                                                                            If you have an on-premises Sysdig Backend, and have restricted outbound security groups, you may need to allow HTTPS & DNS access in order for the Sysdig Backend components to make connection to the Amazon APIs. As Amazon API endpoints are referenced by name and have a large number of IP’s, this may need to be full 0.0.0.0/0 outbound access for HTTPS & DNS.

                                                                                                                                                            If you need to filter just to Amazon IP ranges, you can use the following as a guide: https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html

                                                                                                                                                            Retrieving CloudWatch Data for Particular AWS Regions

                                                                                                                                                            To enable metrics collection from only certain AWS regions in your environment, it is necessary to open a ticket with Sysdig Support. See Contact Support for details.

                                                                                                                                                            For information on the resulting AWS services visible in Sysdig Monitor, see the AWS-related information in the Metrics Dictionary (also available from within the Sysdig Monitor UI).

                                                                                                                                                            For information on how licensing affects AWS service views, see About AWS Cloudwatch Licensing.

                                                                                                                                                            1.4.1 -

                                                                                                                                                            IAM Policy Code to Use

                                                                                                                                                            Best Practice: Create a Sysdig-specific IAM policy to be used for granting programmatic access to Sysdig. Copy/paste the code snippet below into this policy. It enables Sysdig to collect metadata and CloudWatch metrics from the following services, as applicable to your environment:

                                                                                                                                                            • Dynamodb

                                                                                                                                                            • EC2 hosts

                                                                                                                                                            • ECS

                                                                                                                                                            • Elasticache

                                                                                                                                                            • RDS

                                                                                                                                                            • SQS

                                                                                                                                                            If you want to use your own AWS S3 bucket to store Sysdig capture files, you can append those code snippets to this IAM Policy as well. See Storage: Configure AWS Capture File Storage (Optional) for details.

                                                                                                                                                            {
                                                                                                                                                                "Version": "2012-10-17",
                                                                                                                                                                "Statement": [
                                                                                                                                                                    {
                                                                                                                                                                        "Action": [
                                                                                                                                                                            "autoscaling:Describe*",
                                                                                                                                                                            "cloudwatch:Describe*",
                                                                                                                                                                            "cloudwatch:Get*",
                                                                                                                                                                            "cloudwatch:List*",
                                                                                                                                                                            "dynamodb:ListTables",
                                                                                                                                                                                            "dynamodb:Describe*",
                                                                                                                                                                            "ec2:Describe*",
                                                                                                                                                                            "ecs:Describe*",
                                                                                                                                                                            "ecs:List*",
                                                                                                                                                                            "elasticache:DescribeCacheClusters",
                                                                                                                                                                            "elasticache:ListTagsForResource",
                                                                                                                                                                            "elasticloadbalancing:Describe*",
                                                                                                                                                                            "rds:Describe*",
                                                                                                                                                                            "rds:ListTagsForResource",
                                                                                                                                                                            "sqs:ListQueues",
                                                                                                                                                                            "sqs:GetQueueAttributes",
                                                                                                                                                                            "sqs:ReceiveMessage"
                                                                                                                                                                        ],
                                                                                                                                                                        "Effect": "Allow",
                                                                                                                                                                        "Resource": "*"
                                                                                                                                                                    }
                                                                                                                                                                ]
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            See Changing the AWS Services that are Polled for more detail.

                                                                                                                                                            1.4.2 -

                                                                                                                                                            Integrate with AWS Role Delegation

                                                                                                                                                            This section describes how to configure Sysdig Monitor to utilize the Amazon Web Service (AWS) AssumeRole functionality and authorize Sysdig Monitor to discover cloud assets, grab CloudWatch metrics from your AWS account, and utilize custom S3 bucket for storing captures. Upon integrating with an AWS role, you can delegate access to AWS resources that are not associated with your Sysdig AWS account.

                                                                                                                                                            Setting up cross-account access through roles eliminates the need to create individual IAM users in each account. In addition, users don’t have to sign out of one account and sign in to another in order to access resources in different AWS accounts.

                                                                                                                                                            Role delegation is an alternative to the existing integration method using the access keys. This method is considered secure as sharing developer access keys with third-parties is not recommended by Amazon.

                                                                                                                                                            Prerequisites and Guidelines

                                                                                                                                                            This topic assumes that you have the following ready and you are familiar with AWS.

                                                                                                                                                            • Sysdig Monitor API Token

                                                                                                                                                            • External ID

                                                                                                                                                            • API endpoint. In this topic, it is referred to as {{host}}

                                                                                                                                                            • Administrator privileges to configure AWS integration

                                                                                                                                                            • API client. Examples in this topic use curl

                                                                                                                                                            • AWS account ID

                                                                                                                                                              • SaaS: The default AWS account ID is 273107874544 (US East region). For other regions, check AWS account IDs .

                                                                                                                                                              • On-Prem: Customer-specific.

                                                                                                                                                            Enable AWS Role Delegation with API

                                                                                                                                                            This section describes how to enable AWS role delegation using an API.

                                                                                                                                                            Instructions for SaaS

                                                                                                                                                            1. Get Your External ID.

                                                                                                                                                            2. Configure Role Delegation.

                                                                                                                                                            3. Get Role ARN.

                                                                                                                                                            4. Add the AWS Account.

                                                                                                                                                            Instructions for On-Prem

                                                                                                                                                            1. Get Your External ID.

                                                                                                                                                            2. Configure Role Delegation.

                                                                                                                                                            3. Get Role ARN.

                                                                                                                                                            4. Add the AWS Account.

                                                                                                                                                            5. Follow Additional Configuration for On-Prem.

                                                                                                                                                            Get Your External ID

                                                                                                                                                            Retrieve your external ID as follows:

                                                                                                                                                            curl -k --request GET \
                                                                                                                                                            
                                                                                                                                                            --url host/api/users/me \
                                                                                                                                                            
                                                                                                                                                            --header 'authorization: Bearer e71d7c0f-501e-47d4-a159-39da8b716f44' | jq '.[] | .customer | .externalId'
                                                                                                                                                            

                                                                                                                                                            An example of External ID from the response will be 04acdd59-4c98-4d11-8ee5-424326248161.

                                                                                                                                                            Configure Role Delegation

                                                                                                                                                            Integrating the Sysdig Platform with Amazon Web Services requires configuring role delegation using AWS IAM.

                                                                                                                                                            1. Create a new role in the AWS IAM Console:

                                                                                                                                                              1. For the role type, select Another AWS account.

                                                                                                                                                              2. (SaaS) Enter the Sysdig account ID for Account ID.

                                                                                                                                                                This means that you are granting read-only access to your AWS data.

                                                                                                                                                              3. Select Require external ID and enter the one you retrieved in the previous step. Leave MFA disabled.

                                                                                                                                                            2. Click Next: Permissions.

                                                                                                                                                            3. Create the following policies:

                                                                                                                                                              • sysdig_cloudwatch: Gives access to the list and describe supported AWS resources and get CloudWatch metrics for them.

                                                                                                                                                              • sysdig_s3: Defines the bucket name where we wish to store the captures

                                                                                                                                                                For more information on policies, see IAM Policy Code to Use.

                                                                                                                                                              For detailed instructions on how to create a policy, see Integrate AWS Account Manually.

                                                                                                                                                              1. If a policy has already been created, search for it on this page and select it, then skip to step. Otherwise, click Create Policy, which opens in a new window.

                                                                                                                                                              2. Click Review policy.

                                                                                                                                                              3. Name the policy and provide an apt description. For example, sysdig_cloudwatch.

                                                                                                                                                              4. Click Create Policy.

                                                                                                                                                                You can now close this window.

                                                                                                                                                            4. In the Create role window, refresh the list of policies and select the policies you just created.

                                                                                                                                                            5. Click Next: Review.

                                                                                                                                                            6. Give the role a name and an apt description. For example, sysdig_role.

                                                                                                                                                            7. Click Create Role.

                                                                                                                                                            Get Role ARN

                                                                                                                                                            1. Select Roles > sysdig-role.

                                                                                                                                                            2. Copy Role ARN.

                                                                                                                                                            Add the AWS Account

                                                                                                                                                            Using the role that you have created, add an AWS account on the Sysdig Monitor side. Use the following API call:

                                                                                                                                                            curl --request POST \
                                                                                                                                                              --url {{host}}/api/providers \
                                                                                                                                                              --header 'authorization: Bearer e71d7c0f-501e-47d4-a159-39da8b716f44' \
                                                                                                                                                              --header 'content-type: application/json' \
                                                                                                                                                              --data '{"name": "aws","credentials": {"role": "<Role_ARN>"},"alias": "role_delegation"}'
                                                                                                                                                            

                                                                                                                                                            Replace <Role_ARN> with the one that you have copied in the previous section.

                                                                                                                                                            The response lists all the providers. An example response is given below:

                                                                                                                                                            {
                                                                                                                                                            
                                                                                                                                                              "provider": {
                                                                                                                                                            
                                                                                                                                                                "id": 7,
                                                                                                                                                                "name": "aws",
                                                                                                                                                                "credentials": {
                                                                                                                                                            
                                                                                                                                                                  "id": "role_delegation",
                                                                                                                                                                  "role": "arn:aws:iam::485365068658:role/sysdig-access3"
                                                                                                                                                                },
                                                                                                                                                                "tags": [],
                                                                                                                                                                "status": {
                                                                                                                                                            
                                                                                                                                                                  "status": "configured",
                                                                                                                                                                  "lastUpdate": null,
                                                                                                                                                                  "percentage": 0,
                                                                                                                                                                  "lastProviderMessages": []
                                                                                                                                                                },
                                                                                                                                                                "alias": "role_delegation"
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Verify the role delegation has been created.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator.

                                                                                                                                                            2. Select Settings > AWS.

                                                                                                                                                              The role that you have been created will be added to the list of AWS Accounts.

                                                                                                                                                            3. Proceed to enable CloudWatch and AWS S3 bucket.

                                                                                                                                                              See AWS: Integrate AWS Account and CloudWatch Metrics (Optional) for more information.

                                                                                                                                                            Additional Configuration for On-Prem

                                                                                                                                                            1. Create an AWS user that will be used to fetch temporary credentials.

                                                                                                                                                            2. Assign a policy to the user to allow AssumeRole. For example:

                                                                                                                                                              {
                                                                                                                                                                "Version": "2012-10-17",
                                                                                                                                                                "Statement": {
                                                                                                                                                                  "Effect": "Allow",
                                                                                                                                                                  "Action": "sts:AssumeRole",
                                                                                                                                                                  "Resource": "arn:aws:iam::{ACCOUNT-ID}:role/{ROLE_NAME}*"
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                              
                                                                                                                                                            3. Make the access keys available to users from one of the sources:

                                                                                                                                                              • Environment variables

                                                                                                                                                              • Java system properties

                                                                                                                                                              • Instance profile credentials delivered through the Amazon EC2 metadata service.

                                                                                                                                                                EC2 metadata service is recommended if the installation is on AWS.

                                                                                                                                                            Example: Set Environment Variables on a Kubernetes Installation

                                                                                                                                                            1. Create Secret:

                                                                                                                                                              apiVersion: v1
                                                                                                                                                              kind: Secret
                                                                                                                                                              metadata:
                                                                                                                                                                name: aws-credentials
                                                                                                                                                              type: Opaque
                                                                                                                                                              data:
                                                                                                                                                                aws.accessKey: {{BASE64_ENCODED_ACCESS_KEY_ID}}
                                                                                                                                                                aws.secretKey: {{BASE64_ENCODED_ACCESS_KEY_SECRET}}
                                                                                                                                                              
                                                                                                                                                            2. Expose variables in deployment descriptors (sysdigcloud-collector, sysdigcloud-worker, sysdigcloud-api) and reference values in the newly created secret:

                                                                                                                                                              - name: AWS_ACCESS_KEY_ID
                                                                                                                                                                  valueFrom:
                                                                                                                                                                  secretKeyRef:
                                                                                                                                                                      key: aws.accessKey
                                                                                                                                                                      name: aws-credentials
                                                                                                                                                              - name: AWS_SECRET_ACCESS_KEY
                                                                                                                                                                  valueFrom:
                                                                                                                                                                  secretKeyRef:
                                                                                                                                                                      key: aws.secretKey
                                                                                                                                                                      name: aws-credentials
                                                                                                                                                              

                                                                                                                                                              Add variables to descriptors on each platform update until new variables are part of the installer.

                                                                                                                                                            Set Up Resource Discovery

                                                                                                                                                            The supported AWS are EC2, RDS, Elastic Load Balancer (ELB), ElastiCache, SQS, DynamoDB, and Application Load Balancer (ALB).

                                                                                                                                                            By default, all the resources are fetched for all regions supported by AWS. You can avoid this by whitelisting regions when creating a provider key via the API. Example body of the provider key request when whitelisting regions:

                                                                                                                                                            {
                                                                                                                                                                "name": "aws",
                                                                                                                                                                "credentials": {
                                                                                                                                                                    "role": "arn:aws:iam::676966947806:role/test-assume-role"
                                                                                                                                                                },
                                                                                                                                                                "additionalOptions": "{\"regions\":[\"US_EAST_1\",\"US_EAST_2\"]}"
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Enable AWS Role Delegation with UI

                                                                                                                                                            Use the AWS option in the Settings menu to configure AWS role delegation.

                                                                                                                                                            1. Log in to the Sysdig Monitor as an administrator and select Settings.

                                                                                                                                                            2. Click AWS.

                                                                                                                                                              The AWS Account page is displayed.

                                                                                                                                                            3. Click Add Accounts.

                                                                                                                                                              The Identity Authentication page opens to the Role Delegation tab.

                                                                                                                                                            4. Specify the following:

                                                                                                                                                              • Role ARN: The Role ARN associated with the role you have created for role delegation. The ID is available on the summary page of the role on the AWS console. For more information, see Integrate with AWS Role Delegation.

                                                                                                                                                              • AWS External ID: Ensure that AWS External ID is displayed on the page.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            1.5 -

                                                                                                                                                            Storage: Configure Options for Capture Files

                                                                                                                                                            The Sysdig Capture feature allows you to record detailed system trace data via remote connection from any of your agent-installed hosts. In SaaS installations, by default, this data will be stored on Sysdig’s secure Amazon S3 storage location. This location will have a separate partition for your account. In on-premises installations, by default, the data will be stored in the Cassandra database.

                                                                                                                                                            This page describes two custom alternatives: using an AWS S3 bucket (available for SaaS and on-prem) and using custom S3 storage.

                                                                                                                                                            Storage Options

                                                                                                                                                            SaaS

                                                                                                                                                            On-Prem

                                                                                                                                                            Sysdig Provided Storage

                                                                                                                                                            Sysdig provided

                                                                                                                                                            Installation provided

                                                                                                                                                            AWS S3

                                                                                                                                                            Configure using the API or the UI

                                                                                                                                                            S3 Compatible

                                                                                                                                                            Using the API

                                                                                                                                                            Installation provided

                                                                                                                                                            if Google Cloud Storage is used as the S3 compatible storage, you will not be able to bulk delete captures due to compatibility issues with Google’s S3 API implementation. You can delete captures one by one or delete them directly from the Google console.

                                                                                                                                                            Configure AWS S3 Storage

                                                                                                                                                            To configure this option, use the fields provided by Sysdig Settings UI and then append some code to the IAM Policy you created in AWS for Sysdig integration.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Your AWS account must be integrated with Sysdig, but the CloudWatch feature is not required to be enabled.

                                                                                                                                                              See AWS: Integrate AWS Account and CloudWatch Metrics (Optional)

                                                                                                                                                            • Ensure that your S3 bucket name is available.

                                                                                                                                                            • To use your own AWS S3 bucket to store Sysdig capture files, append the following code snippets to the **AWS Identity and Access Management (IAM) **page.

                                                                                                                                                              {
                                                                                                                                                                  "Version": "2012-10-17",
                                                                                                                                                                  "Statement": [
                                                                                                                                                                      {
                                                                                                                                                                          "Action": [
                                                                                                                                                                              "s3:Put*",
                                                                                                                                                                              "s3:List*",
                                                                                                                                                                              "s3:Delete*",
                                                                                                                                                                              "s3:Get*"
                                                                                                                                                                          ],
                                                                                                                                                                          "Effect": "Allow",
                                                                                                                                                                          "Resource": [
                                                                                                                                                                          "arn:aws:s3:::BUCKET_NAME",
                                                                                                                                                                          "arn:aws:s3:::BUCKET_NAME/*"
                                                                                                                                                                          ]
                                                                                                                                                                      }
                                                                                                                                                                  ]
                                                                                                                                                              }
                                                                                                                                                              
                                                                                                                                                            • If you are using AWS KMS for AWS S3 encryption, ensure that necessary privileges are given to the Sysdig Account or Role to use the custom key.

                                                                                                                                                              Use the Key users option to do so:

                                                                                                                                                            In the Sysdig UI

                                                                                                                                                            1. Log in as Administrator to Sysdig Monitor or Sysdig Secure.

                                                                                                                                                            2. From the Selector button in the lower-left navigation, select Settings >Sysdig Storage.

                                                                                                                                                            3. Enable the **Use a custom S3 bucket**toggle and enter your AWS S3 bucket name.

                                                                                                                                                            To Test: Capture a Trace File in Sysdig Monitor UI

                                                                                                                                                            When enabled, you will have the option to select between “Sysdig Monitor Storage” or your own storage bucket when configuring a file capture. See Create a Sysdig Capture File.

                                                                                                                                                            (SaaS) Configure Custom S3 Storage Endpoint

                                                                                                                                                            You can set up a custom Amazon-S3-compatible storage, such as Minio or IBM Cloud Object Storage, for storing Captures in a Sysdig SaaS deployment. The capture storage location can be used for both Sysdig Monitor and Sysdig Secure. This is an API-only functionality and currently, no UI support is available.

                                                                                                                                                            The following APIs are supported for this functionality:

                                                                                                                                                            • List existing AWS integrations

                                                                                                                                                            • Create a new AWS integration

                                                                                                                                                            • Update an existing AWS integration

                                                                                                                                                            • Configure storage configuration

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Ensure that the feature is enabled for your account.

                                                                                                                                                            • Use the access key and secret as the credentials.

                                                                                                                                                            • Configure a new AWS integration. Set the skipFetch field to true. This will cause the AWS integration to ignore fetching data from this account. Therefore, both the AWS metadata and AWS CloudWatch will not be fetched and you can use this storage exclusively for Sysdig Capture.

                                                                                                                                                            • Configure the storage interface with the new account, by specifying the AWS integration ID to use to authenticate the endpoint, bucket name, and the path specified in the bucket.

                                                                                                                                                            Limitation

                                                                                                                                                            The AWS account ID is currently shown as null on the UI.

                                                                                                                                                            List Existing AWS Integration

                                                                                                                                                            The API returns the list of configured AWS integrations.

                                                                                                                                                            REST Resource: Providers

                                                                                                                                                            GET {{host}}/api/providers
                                                                                                                                                            Authorization: Bearer {{API_Token}}
                                                                                                                                                            

                                                                                                                                                            Response Parameters

                                                                                                                                                            Field

                                                                                                                                                            Response

                                                                                                                                                            id

                                                                                                                                                            String

                                                                                                                                                            The unique identifier of the integration.

                                                                                                                                                            name

                                                                                                                                                            String

                                                                                                                                                            The name of the integration and by default is set to aws.

                                                                                                                                                            credentials

                                                                                                                                                            String

                                                                                                                                                            The dictionary containing the information about how Sysdig authenticates to AWS:

                                                                                                                                                            • id: The AWS access key ID.

                                                                                                                                                            • role : The AWS Role if role-based authentication is used.

                                                                                                                                                            skipFetch

                                                                                                                                                            Boolean

                                                                                                                                                            true : The account will be used only for configuring storage. In this case, it will not fetch AWS metadata and CloudWatch metrics.

                                                                                                                                                            false: The account will be used only for fetching AWS metadata and CloudWatch metrics.

                                                                                                                                                            status

                                                                                                                                                            String

                                                                                                                                                            Status denotes the status of the integration.

                                                                                                                                                            accountId

                                                                                                                                                            String

                                                                                                                                                            The unique identifier of the AWS account. The value will be null if you are using AWS-compatible storage.

                                                                                                                                                            tags

                                                                                                                                                            Ignore this deprecated field.

                                                                                                                                                            Sample Response

                                                                                                                                                            {
                                                                                                                                                              "providers": [
                                                                                                                                                                {
                                                                                                                                                                  "id": 2398,
                                                                                                                                                                  "name": "aws",
                                                                                                                                                                  "credentials": {
                                                                                                                                                                    "id": "AKIA4JRXW5ZVZU6MHNPE",
                                                                                                                                                                    "role": null
                                                                                                                                                                  },
                                                                                                                                                                  "skipFetch" : false,
                                                                                                                                                                  "status": {
                                                                                                                                                                    "status": "done",
                                                                                                                                                                    "lastUpdate": 1617274193293,
                                                                                                                                                                    "percentage": 100,
                                                                                                                                                                    "lastProviderMessages": []
                                                                                                                                                                  },
                                                                                                                                                                  "alias": null,
                                                                                                                                                                  "accountId": "845151661675"
                                                                                                                                                                }
                                                                                                                                                              ]
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Create a New AWS Integration

                                                                                                                                                            REST Resource: Providers

                                                                                                                                                            POST {{host}}/api/providers
                                                                                                                                                            content-type: application/json
                                                                                                                                                            Authorization: Bearer {{API_Token}}
                                                                                                                                                            
                                                                                                                                                            {
                                                                                                                                                                "name":"aws",
                                                                                                                                                                "skipFetch": false,
                                                                                                                                                                "credentials": {
                                                                                                                                                                    "id":"<AWS_Access_Key_ID>",
                                                                                                                                                                    "role":null,
                                                                                                                                                                    "key":"<AWS_SecretKey>"
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Request Parameters

                                                                                                                                                            Field

                                                                                                                                                            Description

                                                                                                                                                            name

                                                                                                                                                            String

                                                                                                                                                            The name of the integration and by default is set to aws.

                                                                                                                                                            skipFetch

                                                                                                                                                            Boolean

                                                                                                                                                            false: The account will be used only for fetching AWS metadata and CloudWatch metrics.

                                                                                                                                                            true : The account will be used only for configuring storage. In this case, it will not fetch AWS metadata and CloudWatch metrics.

                                                                                                                                                            credentials

                                                                                                                                                            The dictionary containing the information about how Sysdig authenticates to AWS:

                                                                                                                                                            • id: The AWS access key ID.

                                                                                                                                                            • role: The AWS Role if role-based authentication is used.

                                                                                                                                                            • key: The secret associated with the account.

                                                                                                                                                            Update Custom Storage Settings

                                                                                                                                                            To update existing storage settings, perform a PUT HTTP call to the endpoint as follows:

                                                                                                                                                            REST Resource: Settings

                                                                                                                                                            PUT {{host}}/api/sysdig/settings
                                                                                                                                                            content-type: application/json
                                                                                                                                                            Authorization: Bearer {{API_Token}}
                                                                                                                                                            
                                                                                                                                                            {
                                                                                                                                                                "enabled":true,
                                                                                                                                                                "buckets":[
                                                                                                                                                                    {
                                                                                                                                                                        "folder":"/folder1/folder2",
                                                                                                                                                                        "name":"bucketName",
                                                                                                                                                                        "providerKeyId": 3,
                                                                                                                                                                        "endpoint": "http://127.0.0.1:9009"
                                                                                                                                                                    }
                                                                                                                                                                ]
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Request Parameters

                                                                                                                                                            Field

                                                                                                                                                            Description

                                                                                                                                                            enabled

                                                                                                                                                            Boolean

                                                                                                                                                            Indicates whether the custom storage is configured.

                                                                                                                                                            If the value is false, Sysdig-provided storage is used.

                                                                                                                                                            buckets

                                                                                                                                                            Returns the list of buckets that you can set. Currently, only one bucket is supported.

                                                                                                                                                            • folder: The bucket path where the captures will be stored.

                                                                                                                                                            • name: The unique bucket name.

                                                                                                                                                            • providerKeyId: The unique ID of the AWS or compatible provider to be used to configure storage. Currently, only one bucket can be configured at a time.

                                                                                                                                                            • endpoint: The endpoint of the provider. It is configured only if you wish to set AWS compatible and is automatically set for AWS.

                                                                                                                                                              For example, https://storage.googleapis.com/ for Google Cloud

                                                                                                                                                              https://s3.us-south.cloud-object-storage.appdomain.cloud for IBM.

                                                                                                                                                              For a full list of endpoints, please refer to the relevant provider documentation.

                                                                                                                                                            (On-Prem) Configure Custom S3 Endpoint

                                                                                                                                                            You can set up a custom Amazon-S3-compatible storage, such as Minio or IBM Cloud Object Storage, for storing Captures in a Sysdig on-premises deployment. The capture storage location can be used for both Sysdig Monitor and Sysdig Secure. This is an API-only functionality and currently, no UI support is available.

                                                                                                                                                            You must configure values.yaml corresponding to your Sysdig installation in order for this configuration to work.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Your on-premise installation is Installer-based. If you have installed Sysdig Platform manually and you want to configure custom S3 buckets to store your capture files, contact your Sysdig representative.

                                                                                                                                                            • Ensure that AWS-client compatible credentials used for authentication are present in the environment.

                                                                                                                                                            • Ensure that the list, get, and put operations are functional on the S3 bucket that you wish to use. Confirm this by using the S3 native tools, for example, as described in AWS CLI for IBM Cloud.

                                                                                                                                                            Configure Installer

                                                                                                                                                            Configure the following parameters in the values.yaml file so that collectors, workers, and the API server are aware of the custom endpoint configuration.

                                                                                                                                                            • sysdig.s3.enabled

                                                                                                                                                              Required: true
                                                                                                                                                              Description: Specifies if storing Sysdig Captures in S3 or S3-compatible storage is enabled or not.
                                                                                                                                                              Options:true|false
                                                                                                                                                              Default:false
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                s3:
                                                                                                                                                                  enabled: true
                                                                                                                                                              
                                                                                                                                                            • sysdig.s3.endpoint

                                                                                                                                                              Required: true
                                                                                                                                                              Description: The S3 or S3-compatible endpoint for the bucket. This option is ignored if sysdig.s3.enabled is not configured.
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                s3:
                                                                                                                                                                  endpoint: <your S3-Compatible custom bucket>
                                                                                                                                                              
                                                                                                                                                            • sysdig.s3.capturesFolder

                                                                                                                                                               Required: false
                                                                                                                                                               Description: Name of the folder in S3 bucket to be used for storing captures, this option is ignored if sysdig.s3.enabled is not configured.
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                s3:
                                                                                                                                                                  capturesFolder: my_captures_folder
                                                                                                                                                              

                                                                                                                                                              The path to the capture folder in the S3 bucket will be ​{​​customerId​​}/{​my_captures_folder​​}​​. For on-prem deployments, the ​customerID​ is ​1​​. If ​finance​ is your capture folder, the path to the folder in the S3 bucket will be 1/finance​​.

                                                                                                                                                            • sysdig.s3.bucketName

                                                                                                                                                              Required: true
                                                                                                                                                              Description: The name of the S3 or S3-compatible bucket to be used for captures. This option is ignored if sysdig.s3.enabled is not configured
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                s3:
                                                                                                                                                                  bucketName: <Name of the S3-compatible bucket to be used for captures>
                                                                                                                                                              
                                                                                                                                                            • sysdig.accessKey

                                                                                                                                                              Required: true
                                                                                                                                                              Description: The AWS or AWS-compatible access key to be used by Sysdig components to write captures in the S3 bucket.
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                accessKey: <AWS-compatible access key>
                                                                                                                                                              
                                                                                                                                                            • sysdig.secretKey

                                                                                                                                                              Required: true
                                                                                                                                                              Description: The AWS or AWS-compatible secret key to be used by Sysdig components to write captures in the s3 bucket.
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              sysdig:
                                                                                                                                                                secretKey: <AWS-compatible secret key>
                                                                                                                                                              

                                                                                                                                                            For example, the following AWS CLI command uploads a Sysdig Capture file to a Minio bucket:

                                                                                                                                                            aws --profile minio --endpoint http://10.101.140.1:9000 s3 cp <Sysdig Capture filename> s3://test/
                                                                                                                                                            

                                                                                                                                                            In this example, the endpoint is http://10.101.140.1:9000/ and the name of the bucket is test.

                                                                                                                                                            When you finish the S3 configuration, continue with the instructions on on-premise installation by using the Installer.

                                                                                                                                                            1.6 -

                                                                                                                                                            Find Your Customer ID and Name

                                                                                                                                                            SaaS customers of Sysdig can be identified by a unique customer number and name, provided by email when the Sysdig environment is first provisioned. While it is generally unnecessary to know the customer number and it is not prominently displayed in the user interface, some configuration settings may require it.

                                                                                                                                                            For on-premises environments, the customer ID will typically be 1.

                                                                                                                                                            On the UI

                                                                                                                                                            To retrieve the customer ID:

                                                                                                                                                            1. Log into the Sysdig interface.

                                                                                                                                                            2. Open Settings > Authentication.

                                                                                                                                                              The Authentication section lists the Customer ID and Customer Name associated with your account.

                                                                                                                                                            Using the API

                                                                                                                                                            To retrieve the customer ID:

                                                                                                                                                            1. Log into the Sysdig interface.

                                                                                                                                                            2. Navigate to the URL endpoint /api/user/me?_product=SDC.

                                                                                                                                                              E.g. https://app.sysdigcloud.com/api/user/me?_product=SDC

                                                                                                                                                              The JSON file contents are displayed in the browser.

                                                                                                                                                            3. Find the customer:id portion of the JSON to determine the customer ID and name:

                                                                                                                                                            1.7 -

                                                                                                                                                            Agent Installation: Overview and Key

                                                                                                                                                            The Agent Installation page provides a shortcut for copy/pasting the necessary code lines for different flavors of agent installation.

                                                                                                                                                            You can also retrieve the agent access key (copy/paste).

                                                                                                                                                            This page can be hidden from non-admins if administrators choose. See also Change Admin Settings in the User Profile page.

                                                                                                                                                            Retrieve the Agent Access Key

                                                                                                                                                            To retrieve the key or use the agent install code snippets:

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure (maybe as administrator) and select Settings.

                                                                                                                                                            2. Choose Agent Installation.

                                                                                                                                                            3. Optional: Use the Copy button to copy the access key at the top of the page.

                                                                                                                                                              Optional: Review and use the sample code to install an agent, as listed.

                                                                                                                                                            1.8 -

                                                                                                                                                            Subscription

                                                                                                                                                            Try all of Sysdig’s features for free; when you are ready to upgrade, contact Sysdig sales.

                                                                                                                                                            See also: Getting Started with Sysdig Monitor and Getting Started with Sysdig Secure.Getting Started with Sysdig Monitor

                                                                                                                                                            Subscription Types

                                                                                                                                                            Free Tier

                                                                                                                                                            With Free Tier, use *Sysdig Secure for cloud *functions free forever:

                                                                                                                                                            • For one single account in one cloud region (AWS for v1)

                                                                                                                                                            • Manage cloud posture with a daily run of CIS Benchmarks

                                                                                                                                                            • Detect threats with out-of-the-box CloudTrail detection rules based on Falco

                                                                                                                                                            • Scan containers (ECR/Fargate) automatically and within your cloud environment for up to 250 images a month

                                                                                                                                                            30-Day Trial

                                                                                                                                                            Test all the features of Sysdig Monitor and/or Sysdig Secure with the free 30-day trial.

                                                                                                                                                            After 30 days, your account will be disabled and you can contact Sysdig sales to upgrade to an Enterprise license.

                                                                                                                                                            Enterprise Tier

                                                                                                                                                            You can license Sysdig Secure, Sysdig Monitor, or both (Sysdig Platform). For details, see https://sysdig.com/pricing/.

                                                                                                                                                            Review Current Subscription

                                                                                                                                                            1. Log on as Administrator to Sysdig Monitor or Sysdig Secure.

                                                                                                                                                            2. From the Selector button in the left-hand navigation, choose Settings > Subscription.

                                                                                                                                                              Your current plan details are displayed.

                                                                                                                                                            You can license each of these elements independently:  

                                                                                                                                                            • Sysdig agents (host agents)

                                                                                                                                                            • Cloud accounts (Secure only, see also: Data Sources)

                                                                                                                                                            • Fargate tasks/serverless agents  (Secure only, see also Serverless Agents)

                                                                                                                                                            The number of licenses purchased has the following effects on how Sysdig is used:

                                                                                                                                                            • The agent count defines the maximum number of connected host agents you can deploy. E.g if you purchase 100 licenses, you can install 100 agents.

                                                                                                                                                              • In AWS Service Monitoring powered by Cloudwatch, it also determines the number of AWS objects that can be viewed in the Sysdig Monitor Dashboards (unrelated to the number of agents actually installed). In other words, if you have 100 licenses purchased, you can only see 100 AWS objects per region, per service type.
                                                                                                                                                            • **Fargate Tasks using Sysdig Serverless Agents: ** Defines the number of serverless agents connected to Sysdig backend.

                                                                                                                                                            • Cloud accounts- licensed number: Number of cloud accounts you can connect to Sysdig backend.

                                                                                                                                                            About Host Agent Licenses

                                                                                                                                                            Reserved vs On-Demand Agents

                                                                                                                                                            The distinction between reserved and on-demand agents is financial, not technical; when on-demand agents are used they perform exactly like reserved agents.

                                                                                                                                                            Reserved Agents

                                                                                                                                                            Reserved agents are dedicated agents that are provisioned for a user regardless of usage. You can purchase reserved agents on a monthly or annual basis. As a Sysdig SaaS account administrator, you can increase your reserved agents at any time from within the Sysdig application.

                                                                                                                                                            On-Demand Agents

                                                                                                                                                            On-demand agents are for short-term use and you pay only for what you use at an hourly rate. You have the ability to add and control on-demand agents. For example, an organization might schedule scale testing for two days and license an extra 500 on-demand agents for that time frame.

                                                                                                                                                             In the Sysdig application, use the Customize Your Plan > Enable On-demand Agents option on the Subscription page to add or remove agents. There is a hard limit of 500 agents for any account. If the total of reserved and on-demand exceeds this limit, you will not be able to purchase additional agents. On-demand agents are available only in Sysdig SaaS applications.

                                                                                                                                                            Connect Agents to the Backend

                                                                                                                                                            The Sysdig platform uses a concurrent licensing model in determining when to allow an installed agent to connect to the back-end servers and report on host metrics. This means you can install Sysdig agents onto any number of instances. However, only the licensed number of agents will be allowed to connect and send metrics for recording and reporting.

                                                                                                                                                            Agents connect on a “first-come, first-served” basis and in the event of an over-subscription (more agents wanting to communicate than are licensed) they will attempt to reconnect on a periodic basis. Once an existing communicating instance goes down and disconnects, the next agent attempting to connect will be allowed in.

                                                                                                                                                            To avoid having agents refused connection due to over-subscription, monitor the number of established and allowed connections. To see how many licenses are in use, see the Settings > Subscription page. Use this information to either purchase additional license capacity from the UI, or to shut down lower-priority agents via normal orchestration and system administration means.

                                                                                                                                                            Technical Details

                                                                                                                                                            Multiple Installs: An agent is essentially an “install” of the software. If your system changes external IP addresses, or if you shut down a VM image and bring it back up elsewhere, this will remain the same agent connection. However, identical installs that are simultaneously sending data (usually an accident) will be considered two connections. A MAC address is used to identify a host for licensing purposes.

                                                                                                                                                            Time Lag for License Release: When shutting down a host for any reason, the agent’s license will not be immediately released. This permits the agent to retain its licensing slot for short outages or a reboot. The time-out interval can take up to 20 minutes, and if the connection has not been re-established within the interval the license will be released for use by the next host waiting to connect.

                                                                                                                                                            1.8.1 -

                                                                                                                                                            Time Series Billing

                                                                                                                                                            Sysdig Monitor allows you to consume custom metrics through a flexible and cost-effective Time Series Billing model aligned with your usage. With the enhanced billing experience, you can view your time-series consumption at a glance, analyze trends, and change subscription plans if need be.

                                                                                                                                                            Use the Sysdig Subscription page to control your licensing, and thereby usage and spending. Based on your current subscription tier, time-series usage, and the number of active agents, you can estimate the bill and take further actions.

                                                                                                                                                            Time Series Billing works only in SaaS environments and is not currently available in on-prem environments.

                                                                                                                                                            Benefits of Time Series Billing

                                                                                                                                                            • You consume more than the per-agent limit because Time Series Billing accounts for the following:

                                                                                                                                                              • Time series through Monitoring Integrations

                                                                                                                                                                • Instrumented natively

                                                                                                                                                                  For example, Kubernetes Control plane, Persistent Volume Claim, and Istio.

                                                                                                                                                                • Using Exporter and AppCheck

                                                                                                                                                                  For example, Nginx and Redis.

                                                                                                                                                              • Time series through Prometheus Remote Write

                                                                                                                                                              • Time series through optional Pay as you Go (PAYG) and metric packs.

                                                                                                                                                              See Use Cases for more details.

                                                                                                                                                              Previously, the technical limit was 10K, no PAYG and metrics packs mechanisms, no system in place to bill metrics collected outside agents.

                                                                                                                                                            • Validate what you are being charged on, understand and control metric usage, and drop the data that is not required, either by metric or by the scope of the metric. See Control Time Series Ingestion.

                                                                                                                                                            • Pay as you go and metric pack.

                                                                                                                                                            Consume Time Series

                                                                                                                                                            Time series consumption is calculated by using the reserved time series included in the subscription. The basic plan includes 2000 time series per agent, and you can purchase more by adding on-demand agents or metric packs.

                                                                                                                                                            Sysdig meters and bills only custom metrics.

                                                                                                                                                            • Prometheus

                                                                                                                                                            • JMX

                                                                                                                                                            • StatsD

                                                                                                                                                            • App checks

                                                                                                                                                            Reserved Time Series

                                                                                                                                                            The number of time series included with the subscription. The value is calculated as (the number of reserved agents + the number of connected on-demand agents) * the number of time series per agent. Time series consumed beyond your subscription limit will be charged and is aggregated across all agents running in your environment. What it means is that you can consume 3000 metrics on an agent and 1000 on another without incurring additional charges.

                                                                                                                                                            Contact Sales to purchase beyond your subscription limit.

                                                                                                                                                            Time Series Billing limit of 2000 is applicable only to custom metrics, while Sysdig and Sysdig KSM are included at no additional charges.

                                                                                                                                                            Metric Pack

                                                                                                                                                            A metric pack includes 1000 time series and is charged per month.

                                                                                                                                                            View Your Subscription

                                                                                                                                                            Time Series Visualization

                                                                                                                                                            To help you so, Sysdig provides an at-a-glance visualization of the following:

                                                                                                                                                            • Time Series Usage

                                                                                                                                                              • Reserved: See Reserved Time Series.

                                                                                                                                                              • Overage: Time series ingested beyond Reserved time series is Overage.

                                                                                                                                                              • Ingested: The time series that are collected, analyzed, processed for storage.

                                                                                                                                                            • Time Series Usage Dashboard

                                                                                                                                                            • Reserved and On-Demand Agents

                                                                                                                                                            • Agent Usage Dashboard

                                                                                                                                                            • Usage history in CSV format

                                                                                                                                                            Edit Subscription

                                                                                                                                                            1. On the Subscription page, under Subscription Details , click the three dots.

                                                                                                                                                            2. Click Edit Subscription.

                                                                                                                                                              The Subscription Plan page gives you the directions to change the subscription plan.

                                                                                                                                                            Monitor Time Series Usage

                                                                                                                                                            Time Series Metrics

                                                                                                                                                            To help you identify the usage trends that are important to you, Sysdig provides the following metrics:

                                                                                                                                                            • sysdig_ts_usage: The metric reports the number of time series ingested for a user in a 20-minutes interval. The dashboard reports the 1-hour usage, which is the sum of the maximum of three 20-minute sysdig_ts_usage measurements taken in an hour. This metric can be segmented on metric categories as well.

                                                                                                                                                            • sysdig_ts_usage_10s: The metric reports the number of time series ingested for a user in every 10-seconds window, per host (agent), and per metric category.

                                                                                                                                                            Download Usage

                                                                                                                                                            You can download the usage report in a CSV file. On the Subscription page, under Subscription Details, click Download Usage to download a copy of the usage report. You can view the following:

                                                                                                                                                            • User ID

                                                                                                                                                            • Time

                                                                                                                                                            • Number of Reserved Agents

                                                                                                                                                            • Number of Connected On-Demand Agents

                                                                                                                                                            • Time Series included per agent

                                                                                                                                                            • Total used time series

                                                                                                                                                            • The ratio of used and reserved time series

                                                                                                                                                            Time Series Usage Dashboard

                                                                                                                                                            Sysdig provides a Time Series Usage Dashboard with insight into the usage data. You can view time series ingestion at a glance and discover and analyze trends. The dashboard shows the average number of active time series per host; current ingestion rate; churn percentage; and so on.

                                                                                                                                                            Access the Time Series Dashboard

                                                                                                                                                            On the Subscription page, under Usage, click Time Series Dashboard. You can view the following:

                                                                                                                                                            • Current 1 Hour Ingestion

                                                                                                                                                            • Current Ingestion from Agents

                                                                                                                                                            • Churn Percentage

                                                                                                                                                            • The average number of time series per host

                                                                                                                                                            • The number of time series ingested per category

                                                                                                                                                            • Host-level ingestion

                                                                                                                                                            Calculate Time Series Usage

                                                                                                                                                            Time series usage is calculated by using the sysdig_ts_usage metric. The metric reports the number of time series ingested for a user in an hour (sum of the maximum of three 20-minutes). For each hour, the number of time series ingested is calculated, and then the value is deducted from the number of reserved time series. This value is stored as the usage record.

                                                                                                                                                            An hour period is considered in order to take the churn into account. Sysdig uses the sysdig_ts_usage_10s metric to calculate the spikes caused by churns and provides you the churn percentage in the dashboard.

                                                                                                                                                            Sysdig uses the 95th percentile to calculate the exceeding cost of usage. At the end of the month, the 95th percentile of the total number of active series ingested per hour is calculated. Calculating the 95th percentile reduces the chances of billing you for unexpected spikes causes by churns.

                                                                                                                                                            Churn Rate

                                                                                                                                                            When a time series stops receiving new data points, it becomes inactive. This event is called time series churn. It occurs more often during an upgrade in a Kubernetes cluster or when containers are replaced by new ones. Restarts, redeploys, dynamic workloads also cause churn and generate additional time series.

                                                                                                                                                            In such cases, the container_id label in a container metric changes, and subsequently, all the existing time series are replaced by new time series (with the new container_id value).

                                                                                                                                                            The churn rate is the number of time series that churn over time. Sysdig uses the sysdig_ts_usage_10s metric to analyze these scenarios.

                                                                                                                                                            The Time Series Usage Dashboard provides a ratio of time series detected at 1-hour period and 10-seconds period. This ratio is known as the churn percentage and it is expressed as this PromQL query:

                                                                                                                                                            (sum(sysdig_ts_usage{metric_category!='PROMETHEUS_REMOTE_WRITE'}) - sum(sysdig_ts_usage_10s)) / sum(sysdig_ts_usage{metric_category!='PROMETHEUS_REMOTE_WRITE'}) * 100
                                                                                                                                                            

                                                                                                                                                            The time series collected by Prometheus Remote Write are excluded from this ratio because they are not collected by the Sysdig agent.

                                                                                                                                                            Example

                                                                                                                                                            The billing is calculated per month. A basic subscription will provide you 2000 time series per agent. This limit is applicable only to custom metrics, while you can continue consuming Sysdig and KSM metrics without incurring additional costs. Time series consumed beyond your subscription limit will be charged and is aggregated across all agents running in your environment.

                                                                                                                                                            For example, if you have three agents running with the following consumption:

                                                                                                                                                            • Agent 1 collecting 2000 time series per hour

                                                                                                                                                            • Agent 2 collecting 1000 time series per hour

                                                                                                                                                            • Agent 3 collecting 4000 time series per hour

                                                                                                                                                            Time series billing is calculated as follows:

                                                                                                                                                            Total consumption = 7000

                                                                                                                                                            Allowed number of time series per hour: 3 * 2000 = 6000

                                                                                                                                                            Effectively, you are paying only for (7000 - 6000) = 1000 because the cost is calculated on the aggregated time series consumed across all the agents running in your environment.

                                                                                                                                                            Control Time Series Ingestion

                                                                                                                                                            For more information on controlling metric usage, see the following:

                                                                                                                                                            Use Cases

                                                                                                                                                            Agent and Remote Write Plan

                                                                                                                                                            See the following example with the following configuration:

                                                                                                                                                            • Two Prometheus Servers

                                                                                                                                                              • Prometheus Server 1 generates 50,000 time series

                                                                                                                                                              • Prometheus Server 2 generates 150,000 time series

                                                                                                                                                            • A Sysdig agent that collects 1000 time series

                                                                                                                                                            • A subscription capacity of 2000 time series

                                                                                                                                                            The billing for the month is calculated as follows:

                                                                                                                                                            Time series usage: Total usage - Subscription capacity

                                                                                                                                                            (50,000 + 150,00 + 1000) - 2000 = 199,000

                                                                                                                                                            If the base price is $7.5 for up to a unit of 1K time series per month, the total base cost is calculated as follows:

                                                                                                                                                            The number of units consumed = (199,000 / 1000) = 199

                                                                                                                                                            The total cost = $7.5 * 199 = $1592.50

                                                                                                                                                            Agents, Remote Write, and Metric Pack Plan

                                                                                                                                                            See the following example with the following configuration:

                                                                                                                                                            • Two Prometheus Servers

                                                                                                                                                              • Prometheus Server 1 generates 50,000 time series

                                                                                                                                                              • Prometheus Server 2 generates 150,000 time series

                                                                                                                                                            • A Sysdig agent that collects 1000 time series

                                                                                                                                                            • 100 metric pack, which is equivalent to 100000 time series

                                                                                                                                                            The billing for the month is calculated as follows:

                                                                                                                                                            Total subscription capacity: Total usage - (subscription capacity + time series from metric pack)

                                                                                                                                                            201,000 - (100,000 + 2000) = 99,000

                                                                                                                                                            If the base price is $7.5 for up to a unit of 1K time series per month and $5 for a metric pack of 1K time series, the total base cost is calculated as follows:

                                                                                                                                                            The number of units consumed = (199,000 / 1000) = 199

                                                                                                                                                            The total cost = Cost of metric pack + cost of total usage

                                                                                                                                                            ($7.5 * 199) + (100 * $5) = $2092.50

                                                                                                                                                            1.8.2 -

                                                                                                                                                            About AWS Cloudwatch Licensing

                                                                                                                                                            In the Explore tab or Dashboards of Sysdig Monitor, the number of metrics displayed for each AWS service is limited by the number of agent licenses purchased and/or used, by region.

                                                                                                                                                            The license count:

                                                                                                                                                            • Includes Reserved agents plus On-Demand agents (even if not in use).

                                                                                                                                                            • Is used to determine how many AWS resources are displayed for each service in each region.

                                                                                                                                                            • Is not transferable between different AWS services.

                                                                                                                                                            AWS Service Type Priorities and Limits

                                                                                                                                                            For each AWS service type, services are displayed in the following priority:

                                                                                                                                                            • EC2: Pick instances with agents installed, then instances belonging to ECS, instance is launched before another, alphabetically by instance ID, up to license count.

                                                                                                                                                            • RDS: Pick by creation time, oldest instances first, up to license count.

                                                                                                                                                            • ELB: Pick by number of balanced instances (larger ELBs 1st), then by creation time, oldest first, up to license count.

                                                                                                                                                            • ElastiCache: Sort by name and display up to license count items.

                                                                                                                                                            • SQS: Sort queues by name and pick up to license count number of queues to fetch. Data is shown only for queues that are reporting metrics.

                                                                                                                                                            • DynamoDB: Sort by name and display up to license count items.

                                                                                                                                                            • ALB: Sort by name and display up to license count items.

                                                                                                                                                            For more information on AWS metrics, see AWS in the Metrics Dictionary.

                                                                                                                                                            Sample Use Case

                                                                                                                                                            Suppose you have 200 AWS instances, have purchased 100 Sysdig agent licenses, and have actually installed 50 agents.

                                                                                                                                                            The following limits would apply to your views of AWS services, per region:

                                                                                                                                                            • EC2: The 50 instances with agents installed would be shown first, then 50 more instances, first from EC2, then from ECS, then per uptime.

                                                                                                                                                            • RDS: 100 RDS listings would be shown, oldest first.

                                                                                                                                                            • ELB: 100 ELBs would be shown (largest first), then by creation time, oldest first.

                                                                                                                                                            • ElastiCache: 100 ElastiCache objects would be shown, alphabetically by name.

                                                                                                                                                            • SQS: 100 SQS queues that are reporting metrics would be shown.

                                                                                                                                                            • DynamoDB: 100 DynamoDBs would be shown, alphabetically by name.

                                                                                                                                                            • ALB: 100 ALBs would be shown, alphabetically by name.

                                                                                                                                                            To increase the limit of items in the AWS Services views, contact Sysdig Sales to enable additional resources depending on your license agreement.

                                                                                                                                                            1.9 -

                                                                                                                                                            Authentication and Authorization (SaaS)

                                                                                                                                                            Sysdig Monitor and Sysdig Secure are designed to work with several user authentication/authorization methods:

                                                                                                                                                            TypeEnabled by DefaultIntegration Steps Required
                                                                                                                                                            User email/passwordYesNo
                                                                                                                                                            Google OAuthNoNo
                                                                                                                                                            SAMLNoYes
                                                                                                                                                            OpenID ConnectNoYes

                                                                                                                                                            The user’s view:

                                                                                                                                                            The pages in this section describe the integration and enablement steps required for SAML or OpenID Connect, and the Identity Provider (IdP) services that support these protocols, such as Okta, OneLogin, Keycloak.

                                                                                                                                                            In the SaaS environment, Google login can be enabled with a simple drop-down selection; the integration has already been performed.

                                                                                                                                                            See SaaS Regions and IP Ranges before proceeding to configure authentication.

                                                                                                                                                            To integrate SAML or OpenID Connect with both Sysdig Monitor and Sysdig Secure, you must go through the integration steps twice, once for each Sysdig product.

                                                                                                                                                            Workflow

                                                                                                                                                            With the new Authorization UI, the basic process of enabling a Single Sign-On (SSO) option is:

                                                                                                                                                            1. Determine which SSO option (GoogleOAuth, SAML, OpenID) your enterprise uses, and which IdP service (Okta, OneLogin, etc.) is used, if any.

                                                                                                                                                            2. Enter the required connection settings for the chosen SSO on the appropriate Authentication tab. (Note: for Google, the settings are already entered.)

                                                                                                                                                            3. Configure any associated IdP settings on the IdP side.

                                                                                                                                                            4. Select the SSO option from the Enabled Single Sign-On drop-down and click Save Authentication.

                                                                                                                                                            5. If enabling for both Sysdig Monitor and Sysdig Secure, repeat the process on the second application.

                                                                                                                                                            View of the Authentication page for Google OAuth in the SaaS environment.

                                                                                                                                                            1.9.1 -

                                                                                                                                                            Google OAuth (SaaS)

                                                                                                                                                            This guide is specific to cloud-based (SaaS) Sysdig environments. If you are configuring an On-Premises Sysdig environment, refer to Google OAuth (On-Prem) instead.

                                                                                                                                                            In the SaaS environment, Google users have the option to log in via Google OAuth.

                                                                                                                                                            As the SaaS platform is preconfigured to permit such logins, environments that already use Google services (such as G Suite) may find this the most convenient approach for simplified login.

                                                                                                                                                            Enable Google OAuth

                                                                                                                                                            Since Google OAuth is pre-configured by Sysdig, the administrator needs only select it as the chosen Authentication option to enable it.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                              (Select the Google OAuth tab if you want to see the preconfigured (un-editable) settings. )

                                                                                                                                                            3. Select Google OAuth from the Enabled Single Sign-On dropdown and click Save Authentication.

                                                                                                                                                            4. Repeat for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            User Experience

                                                                                                                                                            Note the following requirements for successful Google OAuth login:

                                                                                                                                                            • The user must have already logged in successfully at least once to your environment (such as via email-based Invitation and having set an initial password)

                                                                                                                                                            • The user’s login username in the Sysdig platform must precisely match the user’s Google email address (that is, it cannot be a shortened/altered Google email alias)

                                                                                                                                                            For such a user to log in via Google OAuth, click the Log in with Google button.

                                                                                                                                                            If the user’s browser has not already successfully authenticated via Google and/or has multiple Google profiles known by their browser, they will be presented a Google page to select a profile and enter a password (if necessary) before being redirected back to your Sysdig environment.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            1.9.2 -

                                                                                                                                                            SAML (SaaS)

                                                                                                                                                            This guide is specific to cloud-based (SaaS) Sysdig environments. If you are configuring an On-Premises Sysdig environment, refer to SAML (On-Prem) instead.

                                                                                                                                                            SAML support in the Sysdig platform allows authentication via your choice of Identity Provider (IdP).

                                                                                                                                                            The Sysdig platform ordinarily maintains its own user database to hold a username and password hash. SAML instead allows for redirection to your organization’s IdP to validate username/password and other policies necessary to grant access to Sysdig application(s). Upon successful authentication via SAML, a corresponding user record in the Sysdig platform’s user database is automatically created, though the password that was sent to the IdP is never seen nor stored by the Sysdig platform.

                                                                                                                                                            This section describes how to integrate and enable SAML with both Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            For specific IdP integration information, refer to:

                                                                                                                                                            See also Caveats

                                                                                                                                                            Basic Enablement Workflow

                                                                                                                                                            Step

                                                                                                                                                            Options

                                                                                                                                                            Notes

                                                                                                                                                            1. Know which IdP your company uses and will be configuring.

                                                                                                                                                            These are the IdPs for which Sysdig has performed detailed interoperability testing and confirmed how to integrate using their standard docs.

                                                                                                                                                            If your IDP is not listed, it may still work with the Sysdig platform. Contact Sysdig Support for help.

                                                                                                                                                            2. Decide the login flow you want users to experience (choose from three options):

                                                                                                                                                            Click SAML button and enter a company name

                                                                                                                                                            Open the domain URL corresponding to your Sysdig application and region and enter your company name.

                                                                                                                                                            For example, domain URLs of Monitor and Secure for US East are app.sysdigcloud.com and secure.sysdig.com respectively.

                                                                                                                                                            Contact the Sysdig Support to set your company name on the account. This is applicable to all supported IdPs.

                                                                                                                                                            Type/bookmark a URL in browser

                                                                                                                                                            For example, the URLs for the US East are:

                                                                                                                                                            Monitor: https://app.sysdigcloud.com/api/saml/ COMPANY_NAME

                                                                                                                                                            Secure: https://secure.sysdig.com/api/saml/ COMPANY_NAME?product=SDS

                                                                                                                                                            For example, for the EU region:

                                                                                                                                                            Monitor: https://eu1.app.sysdig.com/api/saml/COMPANY_NAME

                                                                                                                                                            Secure: https://eu1.app.sysdig.com/api/saml/ COMPANY_NAME?product=SDS

                                                                                                                                                            For URLs corresponding to other regions, see SaaS Regions and IP Ranges.

                                                                                                                                                            Log in from an IdP interface

                                                                                                                                                            The individual IdP integration pages describe how to add Sysdig to the IdP interface.

                                                                                                                                                            You will need your Sysdig customer number on hand.

                                                                                                                                                            3. Perform the configuration steps in your IdP interface and collect the resulting config attributes.

                                                                                                                                                            Collect metadata URL (or XML) and test it.

                                                                                                                                                            If you intend to configure IDP-initiated login flow, have your Sysdig customer number on hand. It will be referenced in later configuration steps as CUSTOMER_ID_NUMBER.

                                                                                                                                                            4 a. Log in to Sysdig Monitor or Sysdig Secure Settings (as admin) and enter the necessary configuration information in the UI. Enable SAML as your SSO.

                                                                                                                                                            4 b. Repeat process for the other Sysdig product, if you are using both Monitor and Secure.

                                                                                                                                                            You will enter a separate redirect URL in your IdP for each product; otherwise the integration processes are the same.

                                                                                                                                                            Administrator Steps

                                                                                                                                                            Configure IdP

                                                                                                                                                            Select the appropriate IdP from the list below, and follow the instructions:

                                                                                                                                                            Enable SAML in Settings

                                                                                                                                                            To enable baseline SAML functionality:

                                                                                                                                                            Enter SAML Connection Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings from the User Profile button in the left navigation.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the SAML tab.

                                                                                                                                                            4. Enter the relevant parameters (see table below) and click Save.

                                                                                                                                                              It is strongly recommended that “Signed Assertion” and “Validate Signature” are enabled to ensure that the SAML SSO process is as secure as possible.

                                                                                                                                                            Connection SettingOptionsDescriptionSample Entry
                                                                                                                                                            MetadataURLThe URL provided at the end of the IdP configuration steps.
                                                                                                                                                            XMLAn option that can be used for an IdP that doesn’t support extracting metadata XML via URL.
                                                                                                                                                            Signed Assertionoff/onShould Sysdig check for assertions signed in responses (to assist in validating correct IdP).ON
                                                                                                                                                            Email ParameteremailName of parameter in the SAML response for user email ID. Sysdig uses this to extract the user’s email from the response.email
                                                                                                                                                            Validate Signatureoff/onSysdig backend should verify that the response is signed.ON
                                                                                                                                                            Verify Destinationoff/onFlag to control whether Sysdig should check the “destination” field in the SAMLResponse. Recommend ON, as a security measure. May be OFF in special cases, such as a proxy in front of the Sysdig back end.ON
                                                                                                                                                            Create user on loginoff/onFlag to control whether a user record should be created in the Sysdig database after first successful SAML log in.
                                                                                                                                                            Disable username and password loginoff/onSwitch “on” to disallow user name and password log in. (Useful with SAML OpenID.)

                                                                                                                                                            Select SAML for SSO

                                                                                                                                                            1. Select SAML from the Enabled Single Sign-On dropdown

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            3. Repeat entire enablement process for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            Configure SAML Single Logout

                                                                                                                                                            Sysdig supports SAML Single Logout (SLO).

                                                                                                                                                            SLO is a feature in federated authentication where Sysdig users can sign out of both their Sysdig session (Service Provider) and associated IdP (Identity Provider) simultaneously. SLO allows you to terminate all sessions established via SAML SSO by initiating a single logout process. Closing all user sessions prevents unauthorized users from gaining access to Sysdig resources.

                                                                                                                                                            SLO Process

                                                                                                                                                            When a user initiates a logout, Sysdig sends a digitally-signed logout request to the IdP. The IdP validates the request and terminates the current login session, then redirects the user back to the Sysdig login page.

                                                                                                                                                            Caveats

                                                                                                                                                            • SLO is currently supported only in US-West and EU-Central regions.

                                                                                                                                                            • Sysdig does not support HTTP Post binding for single logout, and therefore, SLO with Okta is not functional at this point.

                                                                                                                                                            Configure IdP

                                                                                                                                                            1. Configure logout URLs:

                                                                                                                                                              • Monitor: <base_URL>/api/saml/slo/logout

                                                                                                                                                              • Secure: <base_URL>/api/saml/slo/secureLogout

                                                                                                                                                            2. Choose HTTP Redirect as the binding method.

                                                                                                                                                              This option is an alternative to the HTTP POST method, which Sysdig does not support currently.

                                                                                                                                                            3. If your IdP mandates, upload the public key for Sysdig.

                                                                                                                                                              Contact Sysdig Support to retrieve the public key associated with your deployment.

                                                                                                                                                              Certain IDPs, such as Azure, don’t require uploading the public key.

                                                                                                                                                            Configure Sysdig

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as an administrator and select Settings.

                                                                                                                                                              For on-prem deployments, log in as the super admin.

                                                                                                                                                            2. Navigate to Settings > Authentication, and select SAML under Connection Settings.

                                                                                                                                                            3. Enter the SAML configuration.

                                                                                                                                                            4. Ensure that Enable SAML single logout is toggled on.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            6. Ensure that you select SAML from the Enable Single Sign On drop-down.

                                                                                                                                                            User Experience

                                                                                                                                                            As noted in the Basic Enablement Workflow above, you can offer users three ways to log in with a SAML configuration:

                                                                                                                                                            • They can begin at the Sysdig SaaS URL and click the SAML button.

                                                                                                                                                              See SaaS Regions and IP Ranges and identify the correct Sysdig SaaS URL associated with your Sysdig application and region. For example, URLs of Monitor and Secure for US East are:

                                                                                                                                                              Monitor: app.sysdigcloud.com

                                                                                                                                                              Secure: secure.sysdig.com

                                                                                                                                                              They will be prompted to enter a Company Name, so the Sysdig platform can redirect the browser to your IdP for authentication.

                                                                                                                                                              Contact Sysdig Support to set your company name on the account.

                                                                                                                                                            • You can provide an alternative URL to avoid the user having to enter a company name, in the format:

                                                                                                                                                              Sysdig Monitor: https://app.sysdigcloud.com/api/saml/ COMPANY_NAME

                                                                                                                                                              Sysdig Secure: https://secure.sysdig.com/api/saml/ COMPANY_NAME?product=SDS

                                                                                                                                                              For other regions, the format is https://<region>.app.sysdig.com/api/saml/auth. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Secure in the EU, you use https://eu1.app.sysdig.com/api/saml/secureAuth.

                                                                                                                                                            • You can configure an IdP-initiated login flow when configuring your IdP. The users then select the Sysdig application from your IDP’s app directory and do not browse directly to a Sysdig application URL at all.

                                                                                                                                                            Users that complete their first successful SAML login to Sysdig Secure may receive the error message “User doesn’t have permission to login in Sysdig Secure”. This is because only members of the Secure Operations team are permitted access to Sysdig Secure, and newly-created logins are not in this team by default. Such a user should contact an Administrator for the Sysdig environment to be added to the Secure Operations team.

                                                                                                                                                            Environments that wish to have all users access Secure by default could use this sample Python script to frequently “sync” the team memberships.

                                                                                                                                                            See Developer Documentation for tips on using the sample Python scripts provided by Sysdig.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            Caveats

                                                                                                                                                            • SAML Assertion Encryption/Decryption is not currently supported.

                                                                                                                                                            1.9.2.1 -

                                                                                                                                                            Okta (SAML)

                                                                                                                                                            Review SAML (SaaS) before you begin.

                                                                                                                                                            Configure Sysdig Monitor and/or Sysdig Secure as a SAML application using Okta’s documentation for Setting Up a SAML Application in Okta. The notes below call out specific steps that require additional action.

                                                                                                                                                            Sysdig-Specific Steps for Okta Configuration

                                                                                                                                                            IDP-initiated Login Flow

                                                                                                                                                            If you don’t intend to configure IDP-initiated login flow, check the boxes for “Do not display application icon to users” and “Do not display application icon in the Okta Mobile app”.

                                                                                                                                                            URL, URI and RelayState Values

                                                                                                                                                            Enter the values shown in the table below. If you wish to configure IDP-initiated login flow, replace CUSTOMER-ID-NUMBER with the number retrieved as described in Find Your Customer Number.

                                                                                                                                                            See SaaS Regions and IP Ranges and identify the correct URLs associated with your Sysdig application and region. For example, in US East, the endpoints are:

                                                                                                                                                            Setting

                                                                                                                                                            Value for Sysdig Monitor

                                                                                                                                                            Value for Sysdig Secure

                                                                                                                                                            Single sign on URL

                                                                                                                                                            https://app.sysdigcloud.com/api/saml/auth

                                                                                                                                                            https://secure.sysdig.com/api/saml/secureAuth

                                                                                                                                                            Audience URI (SP Entity ID)

                                                                                                                                                            https://app.sysdigcloud.com/api/saml/metadata

                                                                                                                                                            https://app.sysdigcloud.com/api/saml/metadata

                                                                                                                                                            Default RelayState

                                                                                                                                                            (optional - only configure if you intend to use IDP-initiated login flow)

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            For other regions, the format is https://<region>.app.sysdig.com. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com/api/saml/auth.

                                                                                                                                                            Email and Name Values

                                                                                                                                                            Instead of the values shown in the Okta example, add the values:

                                                                                                                                                            NameValue
                                                                                                                                                            emailuser.email
                                                                                                                                                            first nameuser.firstName
                                                                                                                                                            last nameuser.lastName

                                                                                                                                                            Note that the attributes are case sensitive, so use caution when entering them.

                                                                                                                                                            Only email is required. However, including first/last name is recommended, since these values will now be included in the records created in the Sysdig platform’s database when new users successfully login via SAML for the first time.

                                                                                                                                                            SAML Configuration Metadata Value

                                                                                                                                                            Copy the URL and paste in the Metadata entry on the SAML Configuration page in the SAML connection settings.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            1.9.2.2 -

                                                                                                                                                            OneLogin (SAML)

                                                                                                                                                            Review SAML (SaaS) before you begin.

                                                                                                                                                            Configure Sysdig Monitor and/or Sysdig Secure as a SAML application using OneLogin’s article titled Use the OneLogin SAML Test Connector. The notes below call out specific steps that require additional action.

                                                                                                                                                            Sysdig-Specific Steps for OneLogin Configuration

                                                                                                                                                            Adding the SAML Test Connector

                                                                                                                                                            At the step for “Adding the SAML Test Connector”, select SAML Test Connector (IdP w/ attr w/ sign response). If you don’t intend to configure IDP-initiated login flow, uncheck the slider so it will no longer be “Visible in portal”.

                                                                                                                                                            Test Connector Configuration Page Settings

                                                                                                                                                            At the “Test Connector Configuration Page”, enter the values shown in the table below. If you wish to configure IDP-initiated login flow, replace CUSTOMER-ID-NUMBER with the number retrieved as described in the Find Your Customer Number article.

                                                                                                                                                            See SaaS Regions and IP Ranges and identify the correct URLs associated with your Sysdig application and region. For example, given below are the URLs for the US East region.

                                                                                                                                                            Field

                                                                                                                                                            Value for Sysdig Monitor

                                                                                                                                                            Value for Sysdig Secure

                                                                                                                                                            RelayState

                                                                                                                                                            (optional - only configure if you intend to use IDP-initiated login flow)

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            Recipient

                                                                                                                                                            https://app.sysdigcloud.com/api/saml/auth

                                                                                                                                                            https://secure.sysdig.com/api/saml/secureAuth

                                                                                                                                                            ACS (Consumer) URL Validator

                                                                                                                                                            https://app.sysdigcloud.com

                                                                                                                                                            https://secure.sysdig.com

                                                                                                                                                            ACS (Consumer) URL

                                                                                                                                                            https://app.sysdigcloud.com/api/saml/auth

                                                                                                                                                            https://secure.sysdig.com/api/saml/secureAuth

                                                                                                                                                            For other regions, the format is https://<region>.app.sysdig.com. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com/api/saml/auth.

                                                                                                                                                            (Optional) If you want the user’s First Name and Last Name to be included in the records created in the Sysdig platform’s database when new users successfully login via SAML for the first time, click to the Parameters tab. Click Add parameter and create each of two New Fields, checking the box each time to Include in SAML assertion. Then click to Edit each field and select the Value shown from the drop-down menu before clicking Save.

                                                                                                                                                            Field NameValue
                                                                                                                                                            first nameFirst Name
                                                                                                                                                            last nameLast Name

                                                                                                                                                            Note that the Field Names are case sensitive, so be careful to enter them as all lowercase.

                                                                                                                                                            The following shows an example of a correctly-configured field for First Name:

                                                                                                                                                            Issuer URL

                                                                                                                                                            Click to the SSO tab, copy the Issuer URL, and paste in the Metadata entry on the SAML Configuration page in the SAML connection settings.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            1.9.2.3 -

                                                                                                                                                            ADFS (SAML)

                                                                                                                                                            Review SAML (SaaS) before you begin.

                                                                                                                                                            These instructions assume you already have a working, Internet-accessible ADFS ( Active Directory Federation Service) server. Interoperability testing has been performed specifically with ADFS on Windows Server 2012 R2.

                                                                                                                                                            Follow the instructions below to configure ADFS with the ADFS Management tool in the Windows Server Manager.

                                                                                                                                                            For Service-Provider-Initiated Login Flow

                                                                                                                                                            1. Right-click to Service > Edit Federation Service Properties. Note the hostname in the Federation Service Identifier, as this will be used in the metadata URL that you paste in the Metadata entry on the SAML Configuration page in the Sysdig authentication settings. Specifically, the metadata URL will be of the format https://HOSTNAME/FederationMetadata/2007-06/FederationMetadata.xml. Also, so that the Sysdig platform can access this URL directly, this host must resolve in DNS and have a valid (not self-signed) SSL/TLS certificate.

                                                                                                                                                            2. Add a Relying Party Trust configuration for the Sysdig application.

                                                                                                                                                              1. Right-click to Relying Party Trusts > Add Relying Party Trust and click Start to begin the wizard.

                                                                                                                                                              2. In the Select Data Source step, click the button to Enter data about the relying party manually, then click Next

                                                                                                                                                              3. Enter a Display name of your choosing (e.g. “Sysdig Monitor” or “Sysdig Secure”), then click Next

                                                                                                                                                              4. Click Next to accept the default option to use AD FS profile

                                                                                                                                                              5. Click Next to skip the selection of an optional token encryption certificate (Sysdig does not support this option)

                                                                                                                                                              6. Check the box to Enable support for the SAML 2.0 Web SSO protocol, then enter one of the following values for Relying party SAML 2.0 SSO service URL:

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://app.sysdigcloud.com/api/saml/auth

                                                                                                                                                                If configuring Sysdig Secure, enter: https://secure.sysdig.com/api/saml/secureAuth

                                                                                                                                                                Then click Next.

                                                                                                                                                              7. For the Relying party trust identifier, enter one of the following values:

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://app.sysdigcloud.com

                                                                                                                                                                If configuring Sysdig Secure, enter: https://secure.sysdig.com

                                                                                                                                                                Then click Add, then click Next

                                                                                                                                                              8. Click Next to skip configuration of multi-factor authentication

                                                                                                                                                              9. Choose a policy for whether users will be permitted to login to the Sysdig application. The default to Permit all users to access the relying party will typically be acceptable. Click Next.

                                                                                                                                                              10. Review the summary and click Next to complete the configuration of the Relying Party Trust

                                                                                                                                                              11. The next step will involve adding Claim Rules, so you can leave the box checked to Open the Edit Claim Rules dialog and click the Close button to be brought immediately into the Claim Rules editor

                                                                                                                                                            3. Ensure that the SamlResponseSignature option matches the Sysdig authentication configuration.

                                                                                                                                                              1. Use the Set-AdfsRelyingPartyTrust/Get-AdfsRelyingPartyTrust cmdlets via PowerShell to configure SamlResponseSignature .

                                                                                                                                                                -SamlResponseSignature
                                                                                                                                                                Specifies the response signatures that the relying party expects. The acceptable values for this parameter are:
                                                                                                                                                                
                                                                                                                                                                AssertionOnly
                                                                                                                                                                MessageAndAssertion
                                                                                                                                                                MessageOnly
                                                                                                                                                                

                                                                                                                                                                For more information, see Set-AdfsRelyingPartyTrust.

                                                                                                                                                              2. Navigate to Settings > Authentication on the Sysdig app and check the Sysdig authentication setting maps to the SamlResponseSignature :

                                                                                                                                                                For MessageAndAssertion, enable both the options.

                                                                                                                                                            4. Next, use the Claim Rules to ensure that login data is sent as needed to the Sysdig platform. A user’s login to the Sysdig platform is based on an email address, and a default ADFS configuration would not send the email address as required. The following configuration ensures the correct field from Active Directory is delivered in the claim.

                                                                                                                                                              1. If not already in the Claim Rules editor from the previous step, navigate to it by right-clicking on the Relying Party Trust that was just created and selecting Edit Claim Rules

                                                                                                                                                              2. Click Add Rule. At the following screen, accept the default rule template to Send LDAP Attributes as Claims and click Next.

                                                                                                                                                              3. Enter a name for the rule, select Active Directory as the Attribute store, then use the pull-down selectors to pick E-Mail Address as both the LDAP Attribute and Outgoing Claim Type, then similarly make pull-down selections for Given Name and Surname. Once these selections are made, click Finish.

                                                                                                                                                              4. Now click Add Rule again, this time selecting the template for Transform an incoming claim

                                                                                                                                                              5. Enter a name for the rule, then use the pull-downs to select an Incoming claim type of E-Mail Address, an Outgoing claim type of Name ID, and an Outgoing name ID format of Email, then click Finish.

                                                                                                                                                              6. (Optional) If you want the user’s First Name and Last Name to be included in the records created in the Sysdig platform database when new users successfully login via SAML for the first time, additional Transform rules must also be created. Only the email-based username is strictly required and we already created a rule for this, so this step is optional.

                                                                                                                                                                If you wish to do this, click Add Rule and once again select the template for Transform an incoming claim. Enter a name for the rule, then use the pull-down to select an Incoming claim type of Given Name, and for the Outgoing claim type, directly type first name into the field. After clicking Finish, click Add Rule and create a similar rule to transform the Incoming claim type of Surname to the Outgoing claim type of last name.

                                                                                                                                                              7. Having clicked Finish after creating your last rule, you will see all rules now in the editor. Click Ok, and your ADFS configuration for your Sysdig application is complete.

                                                                                                                                                            For IdP-Initiated Login Flow (Optional)

                                                                                                                                                            (Optional) The steps above represent a Service-Provider-Initiated SAML configuration. If you would prefer an IdP-initiated SAML configuration, this is also possible with ADFS, but requires the additional steps described below.

                                                                                                                                                            1. The Sysdig platform requires a specific setting of RelayState in order to accept IdP-initiated login flows. On the ADFS versions tested, we’ve found this use of RelayState is disabled by default, and a Microsoft article describes the topic in detail. To enable it, as described in a Microsoft forum thread, on your ADFS host, edit %systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config and add <useRelayStateForIdpInitiatedSignOn enabled="true" /> to the <microsoft.identityserver.web> section. Once the modification is saved, restart ADFS services for the change to take effect.

                                                                                                                                                            2. You will need to retrieve your Sysdig customer number as described in the Find Your Customer Number article.

                                                                                                                                                            3. You will then need to generate an IdP-initiated login URL.

                                                                                                                                                              In addition to having the correct settings, it must be properly URL encoded. To ease this configuration, use this ADFS RelayState Generator tool. When launched, enter the values below, then hit the Generate URL button.

                                                                                                                                                              • For the IDP URL String, enter https://YOUR_ADFS_SERVER/adfs/ls/idpinitiatedsignon.aspx

                                                                                                                                                              • For the Relying Party Identifier, enter one of the following values:

                                                                                                                                                                • If configuring Sysdig Monitor, enter https://app.sysdigcloud.com

                                                                                                                                                                • If configuring Sysdig Secure, enter https://secure.sysdig.com

                                                                                                                                                                For other regions, the format is https://<region>.app.sysdig.com. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com/. See SaaS Regions and IP Ranges for more information.

                                                                                                                                                              • For the Relay State/Target App, enter #/&customer=CUSTOMER-ID-NUMBER, substituting the CUSTOMER-ID-NUMBER you retrieved in the previous step

                                                                                                                                                                This Results URL will be used in the metadata URL that you paste in the Metadata entry in the SAML connection settings .

                                                                                                                                                            4. Use the Results URL from the tool to test your IdP-initiated login. Note that per this Microsoft forum thread, it is apparently not possible to configure ADFS to use such a URL when your users select the application from the pull-down menu at https://YOUR_ADFS_SERVER/adfs/ls/idpinitiatedsignon.aspx. However, you may embed the URL into a custom portal or bookmarks list.

                                                                                                                                                            5. Now you can test login using an Active Directory user that has an Email address configured.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            1.9.2.4 -

                                                                                                                                                            Azure Active Directory (SAML)

                                                                                                                                                            This topic explains how to configure SAML Single Sign On (SSO) with Azure Active Directory (AD) and helps you configure Sysdig to allow users to access Sysdig application by using SSO.

                                                                                                                                                            Prerequisites

                                                                                                                                                            Administrator privileges on Sysdig and Azure.

                                                                                                                                                            Configure the Sysdig Application in Azure AD

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Select Azure Active Directory, then click Enterprise Applications.

                                                                                                                                                              The Enterprise applications - All application screen is displayed.

                                                                                                                                                            3. Click New Application.

                                                                                                                                                            4. On the Add an Application screen, select Non-gallery application.

                                                                                                                                                            5. Give your application a name, and click Add at the bottom of the page.

                                                                                                                                                            6. On the menu, select Single sign-on.

                                                                                                                                                            7. Choose SAML as the sign-on method.

                                                                                                                                                            8. Edit the Basic SAML Configuration as follows:

                                                                                                                                                              1. In the configuration page, click the edit icon.

                                                                                                                                                              2. Specify the following:

                                                                                                                                                                • Identifier (Entity ID): Uniquely identifies the Sysdig application. Azure AD sends the identifier to the Sysdig application as the audience parameter of the SAML token. Sysdig validates this as part of the SSO process.

                                                                                                                                                                  For example, the identifier for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com.

                                                                                                                                                                  See SaaS Regions and IP Ranges for the complete list of entity IDs for different regions.

                                                                                                                                                                • Reply URL: Specifies where Sysdig expects to receive the SAML token.

                                                                                                                                                                  For example, the identifier for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com/api/saml/auth.

                                                                                                                                                                • See SaaS Regions and IP Ranges for the complete list of reply URLs for different regions.

                                                                                                                                                                • Relay State: Specifies to the application where to redirect the user after authentication is completed. Typically the value is a valid URL for Sysdig. If you are configuring SSO for SaaS, change the relay state to reflect the correct customer number associated with your Sysdig application. For on-prem installations, the customer number is always 1.

                                                                                                                                                                  The format is:

                                                                                                                                                                  #/&customer=1234
                                                                                                                                                                  
                                                                                                                                                                • Sign on URL: It is the sign-in page for the Sysdig application that will perform the service provider-initiated SSO. Leave it blank if you want to perform identity-provider-initiated SSO.

                                                                                                                                                                For more information on configuration parameters, see Configure SAML-based single sign-on to non-gallery applications.

                                                                                                                                                            Sysdig-Specific Steps for Active Directory Configuration

                                                                                                                                                            1. Under SAML Signing Certificate, copy the App Federation Metadata URL.

                                                                                                                                                            2. Log in to your Sysdig instance as an admin.

                                                                                                                                                              For on-prem deployments, log in as the super admin.

                                                                                                                                                            3. Navigate to Settings > Authentication, and select SAML under Connection Settings.

                                                                                                                                                            4. Enter the following:

                                                                                                                                                              • Metadata: Enter the App Federation Metadata URL you copied.

                                                                                                                                                              • Email Parameter: Set the value to emailaddress.

                                                                                                                                                                Azure AD claims are:

                                                                                                                                                                saml = AD
                                                                                                                                                                givenname = user.givenname
                                                                                                                                                                surname = user.surname
                                                                                                                                                                emailaddress = user.mail
                                                                                                                                                                name = user.userprincipalname
                                                                                                                                                                Unique User Identifier = user.userprincipalname
                                                                                                                                                                

                                                                                                                                                                In the Sysdig application, you need to set the email to emailaddress which is what Azure AD sends to Sysdig in the SAML assertion. Alternatively, Azure AD can be modified to send another attribute.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            6. Select SAML from the Enable Single Sign On drop-down.

                                                                                                                                                            Create a User in Azure Active Directory Domain

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Click Azure Active Directory, and note down the domain name.

                                                                                                                                                            3. Select Azure Active Directory, then Users.

                                                                                                                                                              The Users - All Users screen is displayed.

                                                                                                                                                            4. Select New Users .

                                                                                                                                                              You can either create a new user or invite an existing AD.

                                                                                                                                                            5. Enter name, username, and other details, then click Create.

                                                                                                                                                            6. In the Profile page, add the Email and Alternate Email parameters. The values can match

                                                                                                                                                            Assign the User to the Sysdig Application

                                                                                                                                                            1. Navigate to the Sysdig application.

                                                                                                                                                            2. Click Users and Group, then click the Add user button.

                                                                                                                                                            3. Select the Users and Groups checkbox, then choose the newly created user to add to the application.

                                                                                                                                                            4. Click Select, then Assign at the bottom of the screen.

                                                                                                                                                            Enable Authentication Settings in the Sysdig Instance

                                                                                                                                                            Ensure that Flag to enable/disable create user on login is enabled. Typically this setting is enabled by default.

                                                                                                                                                            If you are using both Sysdig Monitor and Secure, ensure that the user accounts are created on both the products. A user that is created only on one Sysdig application will not be able to log in to another by using SAML SSO.

                                                                                                                                                            if you are on Sysdig Platform versions 2.4.1 or prior, contact Sysdig Support to help with user creation.

                                                                                                                                                            (Optional) Configure Sysdig as a New Application

                                                                                                                                                            If Azure Active Directory does not allow you to create Sysdig as a Non- Gallery application, perform the following:

                                                                                                                                                            1. In Azure AD, click Enterprise Applications > New Application.

                                                                                                                                                            2. Select Application you’re developing.

                                                                                                                                                              You will be taken to the app registration page:

                                                                                                                                                            3. Select New Registration:

                                                                                                                                                            4. Provide a name for the application you are registering.

                                                                                                                                                            5. Enter the redirect URI.

                                                                                                                                                              For example, the redirect URI for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com/api/saml/auth. See SaaS Regions and IP Ranges for the redirect URLs for other regions.

                                                                                                                                                            6. Click Register to complete the registration.

                                                                                                                                                            7. In the Overview tab click Add an Application ID URI:

                                                                                                                                                            8. Click Add a scope.

                                                                                                                                                            9. Add the application ID URI as follows:

                                                                                                                                                              https://<your_sysdig_url>:443
                                                                                                                                                              

                                                                                                                                                              Replace <*your_sysdig_*url> with the URL appropriate to your application and region. See SaaS Regions and IP Ranges for more information.

                                                                                                                                                            10. In the Overview tab, click Endpoints, and copy the Federation Metadata URL.

                                                                                                                                                            11. Log in to Sysdig, navigate to SAML Authentication screen, and enter the Federation Metadata URL.

                                                                                                                                                              You will still need to ensure that the user creation on the login option is enabled.

                                                                                                                                                            12. Save the settings.

                                                                                                                                                            1.9.3 -

                                                                                                                                                            OpenID Connect (SaaS)

                                                                                                                                                            This guide is specific to cloud-based (SaaS) Sysdig environments. If you are configuring an On-Premises Sysdig environment, refer to OpenID Connect (On-Prem) instead.

                                                                                                                                                            OpenID support in the Sysdig platform allows authentication via your choice of Identity Provider (IdP). This section describes how to integrate and enable OpenID Connect with both Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            Overview

                                                                                                                                                            Summary of OpenID Functionality in Sysdig

                                                                                                                                                            The Sysdig platform ordinarily maintains its own user database to hold a username and password hash. OpenID instead allows for redirection to your organization’s IdP to validate username/password and other policies necessary to grant access to Sysdig application(s). Upon successful authentication via OpenID, a corresponding user record in the Sysdig platform’s user database is automatically created, though the password that was sent to the IdP is never seen nor stored by the Sysdig platform.

                                                                                                                                                            Basic Enablement Workflow

                                                                                                                                                            Step

                                                                                                                                                            Options

                                                                                                                                                            Notes

                                                                                                                                                            1. Know which IdP your company uses and will be configuring.

                                                                                                                                                            These are the OpenID Providers for which Sysdig has performed detailed interoperability testing and confirmed how to integrate using their standard docs. If your OpenID Provider is not listed (including ones that do not support OpenID Connect Discovery), it may still work with the Sysdig platform. Contact Sysdig Support for help.

                                                                                                                                                            2. Decide the login flow you want users to experience: 3 options

                                                                                                                                                            Click OpenID button and enter a company name

                                                                                                                                                            From app.sysdigcloud.com or secure.sysdig.com > page to enter company name.

                                                                                                                                                            Type/bookmark a URL in a browser

                                                                                                                                                            Contact Sysdig for the Company Name associated with your account.

                                                                                                                                                            Log in from an IdP interface

                                                                                                                                                            The individual IdP integration pages describe how to add Sysdig to the IdP interface.

                                                                                                                                                            You will need your Company Name on hand.

                                                                                                                                                            3. Perform the configuration steps in your IdP interface and collect the resulting config attributes.

                                                                                                                                                            Collect metadata URL (or XML) and test it.

                                                                                                                                                            If you intend to configure IDP-initiated login flow, you need the following:

                                                                                                                                                            • Redirect URLs

                                                                                                                                                              See SaaS Regions and IP Ranges and identify the correct domain URL associated with your Sysdig application and region. For example, domain URLs of Monitor and Secure for US East are:

                                                                                                                                                              • Monitor: https://app.sysdigcloud.com/api/oauth/openid/auth

                                                                                                                                                              • Secure: https://secure.sysdig.com/api/oauth/openid/secureAuth

                                                                                                                                                              For other regions, the format is https://<region>.app.sysdig.com.

                                                                                                                                                              Replace <region> with the region your where Sysidig application is hosted. For example, for Sysdig Monitor you use https://eu1.app.sysdig.com/api/oauth/openid/auth.

                                                                                                                                                            4 a. Log in to Sysdig Monitor or Sysdig Secure and configure authentication.

                                                                                                                                                            4 b. Repeat process for the other Sysdig product, if you are using both Monitor and Secure.

                                                                                                                                                            • Log in to Sysdig Monitor Settings (as super admin) and enter the necessary configuration information in the UI. Save and Enable OpenID as your SSO.

                                                                                                                                                            • Log in to Sysdig Monitor Settings (as super admin) and enter the necessary configuration information in the UI. Save and Enable OpenID as your SSO.

                                                                                                                                                            You will enter a separate redirect URL in your IdP for each product; otherwise the integration processes are the same.

                                                                                                                                                            Administrator Steps

                                                                                                                                                            Configure IdP

                                                                                                                                                            Select the appropriate IdP link below, and follow the instructions:

                                                                                                                                                            Enable OpenID in Settings

                                                                                                                                                            To enable baseline OpenID functionality:

                                                                                                                                                            Enter OpenID Basic Connection Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the OpenID tab.

                                                                                                                                                            4. Enter the relevant parameters (see table below) and click Save.

                                                                                                                                                            Connection SettingDescription
                                                                                                                                                            Client IDID provided by your IdP
                                                                                                                                                            Client SecretSecret provided by your IdP
                                                                                                                                                            Issuer URLURL provided by your IdP. Example:https://YOUR-ONELOGIN-DOMAIN.onelogin.com/oidc

                                                                                                                                                            Okta, OneLogin, and Keycloak support metadata auto-discovery, so these settings should be sufficient for those IdPs.

                                                                                                                                                            Enter OpenID Additional Settings (if needed)

                                                                                                                                                            In some cases, an OpenID IdP may not support metadata auto-discovery, and additional configuration settings must be entered manually.

                                                                                                                                                            In this case:

                                                                                                                                                            1. On the OpenID tab, toggle the Metadata Discovery button to OFF to display additional entries on the page.

                                                                                                                                                            2. Enter the relevant parameters derived from your IdP (see table below) and click Save.

                                                                                                                                                            Connection Setting

                                                                                                                                                            Description

                                                                                                                                                            Base Issuer

                                                                                                                                                            Required. Often the same Issuer URL, but can be different for providers that have a separate general domain and user-specific domain

                                                                                                                                                            (for example, general domain: https://openid-connect.onelogin.com/oidc, user-specific domain: https://sysdig-phil-dev.onelogin.com/oidc)f

                                                                                                                                                            Authorization Endpoint

                                                                                                                                                            Required. Authorization request endpoint

                                                                                                                                                            Token Endpoint

                                                                                                                                                            Required. Token exchange endpoint

                                                                                                                                                            JSON Web Key Set Endpoint

                                                                                                                                                            Required. Endpoint that contains key credentials for token signature verification

                                                                                                                                                            Token Auth Method

                                                                                                                                                            Authentication method.

                                                                                                                                                            Supported values:

                                                                                                                                                            client_secret_basic ,

                                                                                                                                                            client_secret_post . (case insensitive)

                                                                                                                                                            Select OpenID for SSO

                                                                                                                                                            1. Select OpenIDfrom the Enabled Single Sign-On dropdown.

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            3. Repeat entire enablement process for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            User Experience

                                                                                                                                                            As noted in the Basic Enablement Workflow above, you can offer users three ways to log in with an OpenID configuration:

                                                                                                                                                            • They can begin at the Sysdig SaaS URL and click the OpenID button.

                                                                                                                                                              See SaaS Regions and IP Ranges and identify the correct SaaS URL associated with your Sysdig application and region. For example, URLs of Monitor and Secure for US East are:

                                                                                                                                                              Monitor: app.sysdigcloud.com

                                                                                                                                                              Secure: secure.sysdig.com

                                                                                                                                                              For other regions, the format is https://<region>.app.sysdig.com. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com.

                                                                                                                                                              They will be prompted to enter a Company Name, so the Sysdig platform can redirect the browser to your IdP for authentication.

                                                                                                                                                              =

                                                                                                                                                            • You can provide an alternative URL to avoid the user having to enter a company name, in the format:

                                                                                                                                                              Monitor: https://app.sysdigcloud.com/api/oauth/openid/ CompanyName Secure: https://secure.sysdig.com/api/oauth/openid/ CompanyName?product=SDS

                                                                                                                                                            • You can configure an IdP-initiated login flow when configuring your IdP. The users then select the Sysdig application from your IDP’s app directory and do not browse directly to a Sysdig application URL at all.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            1.9.3.1 -

                                                                                                                                                            Okta (OpenID)

                                                                                                                                                            OpenID Provider Configuration for Okta

                                                                                                                                                            Review OpenID Connect (SaaS) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in Okta. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Log in to your Okta organization as a user with administrative privileges and click to the Admin dashboard

                                                                                                                                                            2. Click on the Add Applications shortcut, then click the Create New App button

                                                                                                                                                            3. Select Web as the Platform type, then click OpenID Connect as the Sign-on method, then click Create

                                                                                                                                                            4. Create a new application:

                                                                                                                                                              • Enter your choice of General Settings.

                                                                                                                                                              • For Login redirect URIs, enter one of the following values:

                                                                                                                                                                See SaaS Regions and IP Ranges and identify the correct domain URL (redirect URL) associated with your Sysdig application and region. For example, domain URLs of Monitor and Secure for US East are:

                                                                                                                                                                • Sysdig Monitor: https://app.sysdigcloud.com/api/oauth/openid/auth

                                                                                                                                                                • Sysdig Secure: https://secure.sysdig.com/api/oauth/openid/secureAuth

                                                                                                                                                                For other regions, the format is https://<region>.app.sysdig.com.

                                                                                                                                                                Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com/api/oauth/openid/auth.

                                                                                                                                                              • Click Save.

                                                                                                                                                            5. You should next be placed in a General tab. Take note of the Client ID and Client secret that are shown.

                                                                                                                                                              You will enter them on the OpenID Configuration page in the Sysdig authentication settings.

                                                                                                                                                            6. Click to the Sign On tab. Take note of the Issuer URL that is shown, as it will need to be sent to Sysdig Support.

                                                                                                                                                              You will enter it in the OpenID Configuration page in the OpenID settings.

                                                                                                                                                            1.9.3.2 -

                                                                                                                                                            OneLogin (OpenID)

                                                                                                                                                            OpenID Provider Configuration for OneLogin

                                                                                                                                                            Review OpenID Connect (SaaS) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in OneLogin. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Log in to your OneLogin organization as a user with administrative privileges and click to Apps > Custom Connectors, then click the New Connector button.

                                                                                                                                                            2. Create a new Connector:

                                                                                                                                                              • Enter your choice of connector name.

                                                                                                                                                              • Select a Sign on Method of OpenID Connect.

                                                                                                                                                              • For Redirect URI, enter one of the following values:

                                                                                                                                                                See SaaS Regions and IP Ranges and identify the correct domain URL (redirect URL) associated with your Sysdig application and region. For example, domain URLs of Monitor and Secure for US East are:

                                                                                                                                                                • Sysdig Monitor: https://app.sysdigcloud.com/api/oauth/openid/auth

                                                                                                                                                                • Sysdig Secure: https://secure.sysdig.com/api/oauth/openid/secureAuth

                                                                                                                                                                For other regions, the format is https://<region>.app.sysdig.com.

                                                                                                                                                                Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Secure you use https://eu1.sysdig.com/api/oauth/openid/secureAuth.

                                                                                                                                                              • Click Save.

                                                                                                                                                            3. From the More Actions pull-down menu, select Add App to Connector

                                                                                                                                                            4. Click Save to add the app to your catalog. Once clicked, additional tabs will appear.

                                                                                                                                                            5. Click to the SSO tab. Change the setting in the Token Endpoint drop-down to POST, then click Save.

                                                                                                                                                            6. While still on the SSO tab, take note of the Client ID and Client Secret that are shown (click Show client secret to reveal it).

                                                                                                                                                              You will enter them in the OpenID settings.

                                                                                                                                                            7. Note that the Issuer URL will consist of https://YOUR-ONELOGIN-DOMAIN.onelogin.com/oidc

                                                                                                                                                              You will enter them in the OpenID settings.

                                                                                                                                                            During testing, we’ve found OneLogin sometimes does not persist changes that are made in the OpenID Provider configuration. If you make changes to your OneLogin configuration and experience issues such as HTTP 400 Bad Request when attempting logins to your Sysdig application, you may need to delete your Custom Connector and App config in OneLogin and recreate it from scratch.

                                                                                                                                                            1.9.3.3 -

                                                                                                                                                            Keycloak (OpenID)

                                                                                                                                                            Configure OpenID Provider for Keycloak

                                                                                                                                                            Review OpenID Connect (SaaS) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in Keycloak. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Log in to your Keycloak server’s Administrative Console.

                                                                                                                                                            2. Select a realm or create a new one.

                                                                                                                                                            3. Click Clients, then click the **Create**button.

                                                                                                                                                            4. Enter the Client ID of your choosing (e.g. “SysdigMonitor”) and take note of it.

                                                                                                                                                              You will enter it in the OpenID Configuration page in the Sysdig Authentication Settings.

                                                                                                                                                            5. Make sure the Client Protocol drop-down has openid-connect selected. Click the Save button.

                                                                                                                                                            6. Configure OpenID Connect client:

                                                                                                                                                              • Click the toggle for Authorization Enabled to ON

                                                                                                                                                              • For Valid Redirect URI, enter one of the following values:

                                                                                                                                                                See SaaS Regions and IP Ranges and identify the correct domain URL (Redirect URI) associated with your Sysdig application and region. For example, domain URLs of Monitor and Secure for US East are:

                                                                                                                                                                • Sysdig Monitor: https://app.sysdigcloud.com/api/oauth/openid/auth

                                                                                                                                                                • Sysdig Secure: https://secure.sysdig.com/api/oauth/openid/secureAuth

                                                                                                                                                                For other regions, the format is https://<region>.app.sysdig.com.

                                                                                                                                                                Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor you use https://eu1.app.sysdig.com/api/oauth/openid/auth.

                                                                                                                                                              • Click Save .

                                                                                                                                                            7. Click to the Credentials tab. Take note of the Secret that is shown.

                                                                                                                                                              You will enter it in the OpenID settings

                                                                                                                                                            8. Note that the Issuer URL will consist of https://KEYCLOAK_SERVER_ADDRESS/auth/realms/REALM_NAME, where KEYCLOAK_SERVER_ADDRESS and REALM_NAME are derived from your environment where you just created the configuration. You will enter it in the OpenID settings.

                                                                                                                                                            1.9.3.4 -

                                                                                                                                                            Azure (OpenID)

                                                                                                                                                            OpenID Connect is a security-token based extension of the OAuth 2.0 authorization protocol to do single sign-on. Azure Active Directory provides an implementation of OpenID Connect (OIDC) protocol and Sysdig supports it for single sign-on and API access to Sysdig application.

                                                                                                                                                            Enabling Azure OpenID Connect for single sign-on to Sysdig applications include configuration on the Microsoft Active Directory as well as on the Sysdig application.

                                                                                                                                                            Prerequisites

                                                                                                                                                            Administrator privileges on Sysdig and Azure Active Directory (AD).

                                                                                                                                                            Configuring Sysdig Application in Azure AD

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Search for Azure Active Directory and do one of the following:

                                                                                                                                                              • Select your Active Directory service

                                                                                                                                                              • Create a new one.

                                                                                                                                                            3. Click App registration > New registration.

                                                                                                                                                            4. In the Register an application page, specify the following:

                                                                                                                                                              • Name: Display name to identify your Sysdig application. For example, Sysdig Secure.

                                                                                                                                                              • Supported account types: For Sysdig SaaS, choose Accounts in this organizational directory only (Default Directory only - Single tenant). All user and guest accounts created in your active directory can use Sysdig application and API.

                                                                                                                                                              • Redirect URI: Authenticated Sysdig users are redirected to this URI.

                                                                                                                                                                See SaaS Regions and IP Ranges and identify the correct domain URL associated with your Sysdig application and region. For example, domain URLs of Monitor and Secure for US East are:

                                                                                                                                                                For other regions, the format is:

                                                                                                                                                                https://<region>.app.sysdig.com

                                                                                                                                                                Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor you use https://eu1.app.sysdig.com/api/oauth/openid/auth.

                                                                                                                                                                For on-prem installations, the redirect URI will be deployment-specific.

                                                                                                                                                                You can add only a single redirect URI on this page. Use the Authentication page associated with your application to add additional redirect URIs.

                                                                                                                                                            5. Click Register.

                                                                                                                                                            6. Add additional redirect URIs.

                                                                                                                                                              1. Select your application from App registration.

                                                                                                                                                              2. Click Authentication from the left navigation.

                                                                                                                                                              3. Add the redirect URIs corresponding to Monitor and Secure.

                                                                                                                                                            7. Create a Secret for the Sysdig application.

                                                                                                                                                              It is a string that the Sysdig application uses to prove its identity when requesting a token.

                                                                                                                                                              1. Click Certificates & secrets.

                                                                                                                                                              2. Under Client Secrets, click New client secret.

                                                                                                                                                              3. Enter a description that identifies the secret and choose an expiration period.

                                                                                                                                                              4. Click Add.

                                                                                                                                                              5. Copy the client secret. You will need the client secret while configuring OpenID Connect SSO on the Sysdig application.

                                                                                                                                                            8. Copy the Client ID and OpenID Connect endpoints corresponding to the application that you have created.

                                                                                                                                                              1. Select your application from App registration.

                                                                                                                                                              2. Copy the Application (client) ID.

                                                                                                                                                                You will need the client ID while configuring OpenID Connect SSO on the Sysdig application.

                                                                                                                                                              3. Click Endpoints.

                                                                                                                                                              4. Copy the OpenID Connect metadata document and open it in a browser.

                                                                                                                                                              5. Copy the OpenID Connect URI (Issuer URI).

                                                                                                                                                                For example, https://login.microsoftonline.com/5a4b56fc-dceb-4a64-94ff-21e08e5892f5/v2.0

                                                                                                                                                            Configure Sysdig Settings

                                                                                                                                                            To enable Azure OpenID functionality on the Sysdig application, you need the following:

                                                                                                                                                            • Client ID

                                                                                                                                                            • Client Secret

                                                                                                                                                            • Issuer URL.

                                                                                                                                                            See Enable OpenID in Settings to learn how to complete your configuration.

                                                                                                                                                            1.9.4 -

                                                                                                                                                            Disable Password Authentication (SaaS)

                                                                                                                                                            Sysdig Platform supports disabling password-based authentication on both SaaS and on-prem deployments. As an administrator (super administrator for on-prem), you can use an API to achieve it. This configuration is applicable to those who use single sign-on.

                                                                                                                                                            For On-Prem environments, see Disable Password Authentication.

                                                                                                                                                            SaaS Deployments

                                                                                                                                                            As an administrator, perform the following:

                                                                                                                                                            1. Get the Sysdig Platform settings:

                                                                                                                                                              See SaaS Regions and IP Ranges and identify the correct domain URL associated with your Sysdig application and region. For example, for Sysdig Monitor on US East is:

                                                                                                                                                              GET https://app.sysdigcloud.com/api/auth/settings/
                                                                                                                                                              

                                                                                                                                                              For other regions, the format is https://<region>.app.sysdig.com/api/auth/settings. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.app.sysdig.com/api/auth/settings.

                                                                                                                                                            2. Find the ID of the active SSO setup:

                                                                                                                                                              GET https://app.sysdigcloud.com/api/auth/settings/active
                                                                                                                                                              
                                                                                                                                                            3. Retrieve the specific settings associated with the SSO setup:

                                                                                                                                                              GET https://app.sysdigcloud.com/api/auth/settings/{id}
                                                                                                                                                              

                                                                                                                                                              The setting is displayed in a JSON file.

                                                                                                                                                            4. In the JSON file, change the following from false to true:

                                                                                                                                                              settings/forbidPasswordLogin: True
                                                                                                                                                              
                                                                                                                                                            5. Update the setting with a request to the same URL with the same JSON, with the changed parameter. URL depends on the type of deployment.

                                                                                                                                                              PUT https://app.sysdigcloud.com/api/auth/settings/{id}
                                                                                                                                                              

                                                                                                                                                            Migrating from the ConfigMap Method

                                                                                                                                                            Previously, the sysdigcloud.restrict.password.login parameter in the Kubernetes ConfigMap has been used to disable password authentication. After installing 3.2.0, deployments utilizing the sysdigcloud.restrict.password.login settings will be automatically migrated to use the new settings.

                                                                                                                                                            1.9.5 -

                                                                                                                                                            Configure Customized Session Expiration

                                                                                                                                                            (For SaaS) When you want inactive sessions to deactivate after a time-out period, you can configure it on the Sysdig application. You can determine how long a user’s browser can be idle after which they will be automatically logged out from the session.

                                                                                                                                                            To do so

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Scroll down and locate the Session Expiration settings.

                                                                                                                                                            4. Specify the Session Expiration setting:

                                                                                                                                                              1. Enable session expiration by using the Terminate session after inactivity period (in minutes) of slider.

                                                                                                                                                              2. Specify the time-out period in minutes.

                                                                                                                                                              3. Click Save.

                                                                                                                                                            1.10 -

                                                                                                                                                            Configure Theme Preference

                                                                                                                                                            A theme specifies the visual appearance of the Sysdig applications. Theme Preferences allows you to change the look and feel of the Sysdig applications to match your visual and accessibility requirements. The list of available themes includes Light, Dark, Match OS Preferences.

                                                                                                                                                            To configure a theme:

                                                                                                                                                            1. Log in to Sysdig Secure or Sysdig Monitor.

                                                                                                                                                            2. Navigate to Settings > User Profile.

                                                                                                                                                            3. Select a desirable theme from the Theme Preferences drop-down.

                                                                                                                                                              Match OS Preferences: The theme will be aligned with that of your operating system. For example, if your Desktop theme is Dark, the app theme will also be set to Dark.

                                                                                                                                                              Your OS theme will override the application theme preferences. For example, changing the OS theme to Dark while your application theme preference is Light will automatically switch the application theme to Dark.

                                                                                                                                                            2 -

                                                                                                                                                            Data Sources (cloud)

                                                                                                                                                            If you connect a cloud account using Sysdig Secure for cloud, you can review the details on the Data Sources page.

                                                                                                                                                            Access Data Sources

                                                                                                                                                            From the User Menu

                                                                                                                                                            From Get Started > Manage Accounts

                                                                                                                                                            Review Data Sources Page

                                                                                                                                                            The page lists:

                                                                                                                                                            • Account ID: May have multiple entries for different regions

                                                                                                                                                            • Platform: AWS or other others, as supported

                                                                                                                                                            • Region: Each account may be deployed in multiple regions

                                                                                                                                                            • Date Added: Date the account was added to Sysdig Secure

                                                                                                                                                            • Date Last Seen: Date of last observed activity on the account/region.

                                                                                                                                                            Click +Add Account to launch the AWS Console and Deploy Sysdig Secure for cloud on AWS.

                                                                                                                                                            3 -

                                                                                                                                                            Data Retention

                                                                                                                                                            As of July 2020, the data retention policies for Sysdig Monitor and Sysdig Secure are as described below.

                                                                                                                                                            When a host or instance is no longer monitored (i.e. when an agent is uninstalled), the historical data continues to be retained for the stated times.

                                                                                                                                                            If required, it is possible to change the standard data retention settings using Sysdig’s REST API. A Sysdig support team or professional services member should assist, as there are a variety of storage and timeline implications to consider before making such a change.

                                                                                                                                                            See Subscription for details on the Essentials and Enterprise tiers.

                                                                                                                                                            Sysdig Monitor Retention Limits

                                                                                                                                                            Essentials

                                                                                                                                                            Enterprise

                                                                                                                                                            Metrics data

                                                                                                                                                            10s : 4 hours

                                                                                                                                                            1min : 1 week

                                                                                                                                                            10 min : 2 weeks

                                                                                                                                                            1 hr: 2 months

                                                                                                                                                            1 day: 15 months

                                                                                                                                                            same as Essentials

                                                                                                                                                            Events

                                                                                                                                                            Alert events: 30 days

                                                                                                                                                            Custom events: 14 days OR 10M (per customer)

                                                                                                                                                            same as Essentials

                                                                                                                                                            Sysdig Secure Retention Limits

                                                                                                                                                            Essentials

                                                                                                                                                            Enterprise

                                                                                                                                                            Policy events

                                                                                                                                                            1M events or 90 days

                                                                                                                                                            same as Essentials

                                                                                                                                                            Activity audit

                                                                                                                                                            5 days

                                                                                                                                                            90 days

                                                                                                                                                            Benchmarks

                                                                                                                                                            30 days

                                                                                                                                                            90 days

                                                                                                                                                            Scan results

                                                                                                                                                            Image data is kept for a maximum of 7 days. 

                                                                                                                                                            Sysdig Secure will retain a maximum of 3 tags per repository and a maximum of 3 different images per tag *

                                                                                                                                                            Images used by a container that is monitored by a Sysdig agent (Runtime images) will always be kept, regardless of the limits above.

                                                                                                                                                            Image data is kept for a maximum of 90 days. 

                                                                                                                                                            Sysdig Secure will retain a maximum of 5 tags per repository and a maximum of 5 different images per tag *

                                                                                                                                                            Images used by a container that is monitored by a Sysdig agent (Runtime images) will always be kept, regardless of the limits above.

                                                                                                                                                            * The image eviction conditions above are applied simultaneously; the retention policy will trigger for the first one that matches.

                                                                                                                                                            For example, consider an Essentials account with a combination of registry/repo:tag - (i.e. docker.io/alpine:3.12.1) that already contains three different image digests. If a new image digest is pushed to the same name, the oldest image will be evicted, regardless of its age.

                                                                                                                                                            4 -

                                                                                                                                                            SaaS Regions and IP Ranges

                                                                                                                                                            Sysdig SaaS applications are deployed in four data center regions—US East (Virginia), US West (Oregon), AP Australia (Sydney) and the European Union (Frankfurt). At the data centers, Sysdig ensures the best security and compliance standards for your data. This page lists the current Sysdig SaaS domains and IP ranges for each region. Note that the IP addresses are subject to change.

                                                                                                                                                            For code-based access: Note: The endpoints for Sysdig Monitor and Sysdig Secure are the same in the US West and EU regions. When configuring code-based access to Sysdig Secure, use the endpoint rather than the website URL.

                                                                                                                                                            For Single Sign-On: Sysdig SaaS users require the website address to reach the Sysdig applications. Use the appropriate website URL while configuring a single sign-on.

                                                                                                                                                            Collector: Additionally, Sysdig agents in a SaaS-based deployment need to be able to reach the Sysdig collector. Depending on your network configuration, you might need to modify your firewall configuration to permit outbound connections from agents to the collector.

                                                                                                                                                            Americas

                                                                                                                                                            US East (North Virginia)

                                                                                                                                                            Sysdig ApplicationDomainIP Range
                                                                                                                                                            Sysdig Monitorhttps://app.sysdigcloud.comFor US East, IPs are assigned dynamically as the system scales. Therefore, we cannot provide the source IP range of the originating traffic.
                                                                                                                                                            Sysdig Securehttps://secure.sysdig.com
                                                                                                                                                            Sysdig Collectorcollector.sysdigcloud.com
                                                                                                                                                            Node Image Analyzerhttps://collector-static.sysdigcloud.com/internal/scanning/scanning-analysis-collector

                                                                                                                                                            US West (Oregon)

                                                                                                                                                            Sysdig Application

                                                                                                                                                            Domain

                                                                                                                                                            IP Range

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            https://us2.app.sysdig.com

                                                                                                                                                            All the traffic originating from the US West datacenter will have one of the following source IP addresses:

                                                                                                                                                            • 54.218.164.215

                                                                                                                                                            • 54.244.190.180

                                                                                                                                                            • 44.232.85.27

                                                                                                                                                            The inbound IP addresses are:

                                                                                                                                                            • 54.190.202.108

                                                                                                                                                            • 54.203.169.53

                                                                                                                                                            • 54.70.9.188

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            Endpoint: https://us2.app.sysdig.com

                                                                                                                                                            Website URL: https://us2.app.sysdig.com/secure/

                                                                                                                                                            Sysdig Collector

                                                                                                                                                            ingest-us2.app.sysdig.com

                                                                                                                                                            Node Image Analyzer

                                                                                                                                                            https://us2.app.sysdig.com/internal/scanning/scanning-analysis-collector

                                                                                                                                                            European Union

                                                                                                                                                            Sysdig Application

                                                                                                                                                            Domain

                                                                                                                                                            IP Range

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            https://eu1.app.sysdig.com

                                                                                                                                                            All traffic originating from the European Union (EU) datacenter will have one of the following source IP addresses:

                                                                                                                                                            • 3.127.3.205

                                                                                                                                                            • 3.127.111.42

                                                                                                                                                            • 18.157.104.82

                                                                                                                                                            The inbound IP addresses are:

                                                                                                                                                            • 18.156.190.126

                                                                                                                                                            • 18.157.62.50

                                                                                                                                                            • 3.126.167.54

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            Endpoint: https://eu1.app.sysdig.com

                                                                                                                                                            Website URL: https://eu1.app.sysdig.com/secure/

                                                                                                                                                            Sysdig Collector

                                                                                                                                                            ingest-eu1.app.sysdig.com

                                                                                                                                                            Node Image Analyzer

                                                                                                                                                            https://eu1.app.sysdig.com/internal/scanning/scanning-analysis-collector

                                                                                                                                                            Asia Pacific (Sydney)

                                                                                                                                                            Sysdig ApplicationDomainIP Range
                                                                                                                                                            Sysdig Monitorhttps://app.au1.sysdig.comOutbound IPs:

                                                                                                                                                            13.236.248.84
                                                                                                                                                            13.236.151.38
                                                                                                                                                            13.54.145.96

                                                                                                                                                            The inbound IPs:

                                                                                                                                                            13.238.59.195
                                                                                                                                                            52.62.57.59
                                                                                                                                                            52.64.82.29
                                                                                                                                                            Sysdig SecureEndpoint: https://app.au1.sysdig.com/
                                                                                                                                                            Website URL: https://app.au1.sysdig.com/secure/
                                                                                                                                                            Sysdig Collectoringest-au1.app.sysdig.com
                                                                                                                                                            Node Image Analyzerhttps://app.au1.sysdig.com/internal/scanning/scanning-analysis-collector

                                                                                                                                                            Sysdig Collector Ports

                                                                                                                                                            Sysdig Agent uses the following ports to communicate with the Sysdig Collector.

                                                                                                                                                            Regions

                                                                                                                                                            Port

                                                                                                                                                            US East

                                                                                                                                                            • Collector: SSL/TLS 6443

                                                                                                                                                            • Collector: TCP 6666

                                                                                                                                                            • UI/API: HTTPS 443

                                                                                                                                                            US West

                                                                                                                                                            • Collector: SSL/TLS 6443

                                                                                                                                                            • UI/API: HTTPS 443

                                                                                                                                                            EU

                                                                                                                                                            • Collector: SSL/TLS 6443

                                                                                                                                                            • UI/API: HTTPS 443

                                                                                                                                                            Asia Pacific (Sydney)

                                                                                                                                                            • Collector: SSL/TLS 6443

                                                                                                                                                            • UI/API: HTTPS 443

                                                                                                                                                            AWS Account IDs

                                                                                                                                                            RegionsAWS Account IDs
                                                                                                                                                            US East273107874544
                                                                                                                                                            US West263844535661
                                                                                                                                                            EU263844535661

                                                                                                                                                            Redirect URLs for Authentication

                                                                                                                                                            Authentication Protocol

                                                                                                                                                            US East

                                                                                                                                                            Other Regions

                                                                                                                                                            SAML

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            ACS URL / Sign on URL: https://app.sysdigcloud.com/api/saml/auth

                                                                                                                                                            Entity ID: https://app.sysdigcloud.com

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            ACS URL / Sign on URL: https://secure.sysdig.com/api/saml/secureAuth

                                                                                                                                                            Entity ID: https://secure.sysdig.com/

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            Sysdig Secure:

                                                                                                                                                            OpenID

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            Redirect URL:

                                                                                                                                                            https://app.sysdigcloud.com/api/oauth/openid/auth

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            Redirect URL:

                                                                                                                                                            https://secure.sysdig.com/api/oauth/openid/secureAuth

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            Redirect URL:

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            Redirect URL:

                                                                                                                                                            Google OAuth

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            https://app.sysdigcloud.com/api/oauth/google/auth

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            https://secure.sysdig.com/api/oauth/google/secureAuth

                                                                                                                                                            Sysdig Monitor

                                                                                                                                                            Sysdig Secure

                                                                                                                                                            Prometheus Endpoints

                                                                                                                                                            Use the following Prometheus endpoints for Grafana integrations.

                                                                                                                                                            RegionEndpoint
                                                                                                                                                            US Easthttps://app.sysdigcloud.com/prometheus
                                                                                                                                                            US Westhttps://us2.app.sysdig.com/prometheus
                                                                                                                                                            EU Centralhttps://eu1.app.sysdig.com/prometheus
                                                                                                                                                            Asia Pacific (Sydney)https://app.au1.sysdig.com/prometheus

                                                                                                                                                            5 -

                                                                                                                                                            On-Premises Deployments

                                                                                                                                                            The term “on-premises” (or “on-prem”) is both industry-standard and evolving, so it means different things to different people.

                                                                                                                                                            In the context of Sysdig, on-prem customers install and manage the Sysdig backend components as they see fit. This could be in a data center, or in an enterprise’s cloud-provider space, such as AWS or GKE.

                                                                                                                                                            Install and Upgrade information is now on GitHub.

                                                                                                                                                            With version 3.6.0, the Sysdig Platform can no longer be installed using Replicated.

                                                                                                                                                            Oversight Services Now Offered for All Installs and Upgrades

                                                                                                                                                            As part of our continued focus on our customers, we are now offering oversight services for all on-premise installs and upgrades. Your Technical Account Manager (TAM), in conjunction with our support organization and Professional Services [where applicable], will work with you to:

                                                                                                                                                            • Assess your environment to ensure it is configured correctly

                                                                                                                                                            • Review your infrastructure to validate the appropriate storage capacities are available

                                                                                                                                                            • Review and provide recommendations for backing up your Sysdig data

                                                                                                                                                            • Work with you to ensure our teams are ready to assist you during the install and upgrade process

                                                                                                                                                            • Provide the software for the install

                                                                                                                                                            • Be available during the process to ensure a successful deployment

                                                                                                                                                            You can always review the process in the documentation on GitHub (v. 3.6.0+) or the standard docs site (for older versions).

                                                                                                                                                            If you are a new customer looking to explore Sysdig, please head over here to sign up for a trial on our SaaS Platform. Alternatively, you can contact us here.

                                                                                                                                                            5.1 -

                                                                                                                                                            Architecture & System Requirements

                                                                                                                                                            Before installing an on-premises solution, review the Sysdig architecture, sizing tips, configuration options, and installation options.

                                                                                                                                                            The actual installation instructions can be found in GitHub.

                                                                                                                                                            5.1.1 -

                                                                                                                                                            Architecture

                                                                                                                                                            Review the diagram and component descriptions. When installing on-premises, you can decide where to deploy various components.

                                                                                                                                                            Sysdig Agent

                                                                                                                                                            Sysdig will collect monitoring and security information from all the target entities. To achieve this, one Sysdig agent should be deployed in each host. These hosts can be:

                                                                                                                                                            • The nodes that make up a Kubernetes or OpenShift cluster

                                                                                                                                                            • Virtual machines or bare metal

                                                                                                                                                            • Living in a cloud environment (i.e. AWS, Google Cloud, IBM Cloud, Azure, etc.) or on the customer’s premises

                                                                                                                                                            The Sysdig agent can be installed as a container itself using a Helm chart, Kubernetes operator, etc.

                                                                                                                                                            Once the agent is installed in the host it will automatically start collecting information from the running containers, container runtime, the orchestration API (Kubernetes, OpenShift, etc), metrics from defined Prometheus endpoints, auto-detected JMX sources, StatsD, and integrations via app checks, as well as the host itself.

                                                                                                                                                            The Sysdig agent maintains a permanent communication channel with the Sysdig backend which is used to encapsulate messages containing the monitoring metrics, infrastructure metadata, and security events. The channel is protected using standard TLS encryption and transports data using binary messages. Using this channel, the agent can transmit data, but also receive additional configuration from the backend, such as security runtime policies or benchmarks.

                                                                                                                                                            Sysdig Backend

                                                                                                                                                            The Sysdig backend is used directly in its SaaS version, thus being managed transparently by Sysdig Inc., or it can also be installed on the customer’s premises. This distinction does not affect the operation of the platform described below.

                                                                                                                                                            Once the agent messages are received in the backend, they are processed and extracted into data available to the platform - time series, infrastructure and security events, and infrastructure metadata.

                                                                                                                                                            The main components of the backend/platform include:

                                                                                                                                                            • Extraction and post-processing of the metric data from the agent, so that full time-series, with all the necessary infrastructure metadata, is available to the user

                                                                                                                                                            • Maintenance of the infrastructure metadata (most notably Kubernetes state), so that all events and time series can be enriched and correctly grouped

                                                                                                                                                            • Storage of time-series and event data

                                                                                                                                                            • Processing of time-series data to calculate alert triggers

                                                                                                                                                            • Queuing the security events triggered by the agents to be shown on the event feed, notifying by the configured notification channels and alerts and forwarding via the Event Forwarder to external platforms like Splunk, Syslog or IBM MCM / Qradar

                                                                                                                                                            • Aggregating and post-processing other security data such as container fingerprints that will be used to generate container profiles, or security benchmark results.

                                                                                                                                                            The Sysdig platform then stores this post-processed data in a set of internal databases that will be combined by the API service to create the data views, such as dashboards, event feeds, vulnerability reports, or security benchmarks.

                                                                                                                                                            Sysdig APIs

                                                                                                                                                            The Sysdig platform provides several ways to consume and present its internal data. All APIs are RESTful, HTTP JSON-based, and secured using TLS. The same APIs are used to power the Sysdig front end, as well as any API clients (such as sdc-cli).

                                                                                                                                                            • Monitor API

                                                                                                                                                              • User and Team management API

                                                                                                                                                              • Dashboard API

                                                                                                                                                              • Events API

                                                                                                                                                              • Alerts API

                                                                                                                                                              • Data API (proprietary Sysdig API for querying time-series data)

                                                                                                                                                            • Secure API

                                                                                                                                                              • Image Scanning API

                                                                                                                                                              • Security Events API

                                                                                                                                                              • Activity Audit API

                                                                                                                                                              • Secure Overview API

                                                                                                                                                            • PromQL API: Prometheus compatible HTTP API for querying time -series data

                                                                                                                                                            These enable different use cases:

                                                                                                                                                            • User access to the platform via the Sysdig user interface

                                                                                                                                                            • Programmatic input and extraction of data, i.e.

                                                                                                                                                              • Automatic user creation

                                                                                                                                                              • Terraform scripts to save or recover configuration state

                                                                                                                                                              • Inline scanning to push scanning results from the CI/CD pipeline

                                                                                                                                                              • Instrumentation using the sdc-cli.

                                                                                                                                                            • PromQL API interface that can be used to connect any PromQL-compatible solutions, such as Grafana.

                                                                                                                                                            5.1.2 -

                                                                                                                                                            System Requirements

                                                                                                                                                            Supported Distributions

                                                                                                                                                            Linux Distributions

                                                                                                                                                            A 64-bit Linux distribution with a minimum kernel version of 3.10, and support of docker-engine 1.7.1 or later, is required for each server instance.

                                                                                                                                                            Recommended Linux distributions: RedHat, Ubuntu, Amazon AMI, Amazon Linux 2.

                                                                                                                                                            Docker Requirements

                                                                                                                                                            For the Docker installation, running devicemapper in ‘loopback mode’ is not supported. It has known performance problems and a different storage driver should be used.

                                                                                                                                                            Please see this note from our Replicated infrastructure partner: devicemapper-installation-warning.

                                                                                                                                                            Installing the latest version of Docker is recommended.

                                                                                                                                                            Cassandra

                                                                                                                                                            Cassandra is used as the metrics store for Sysdig agents. It is the most dynamic component of the system, and requires additional attention to ensure that your system is performing well and highly responsive.

                                                                                                                                                            This component is stateful, and should be treated more carefully than stateless components. Cassandra sizing is based on a minimum replication factor as well as the number of agents writing data.

                                                                                                                                                            A minimum replication factor of 3 is recommended for the Sysdig application, which allows the cluster to survive the failure of 1 Cassandra instance.

                                                                                                                                                            Each agent consumes anywhere from 500MB to 2GB of Cassandra storage, with average sizing at 1.5GB/agent. Because of Sysdig’s data aggregation model, this storage should comfortably handle multi-year history. This needs to then be multiplied by the replication factor to determine the total disk space required. A rough calculation might be:

                                                                                                                                                            100 agents = 150GB raw, X replication factor of 3, = 450GB total

                                                                                                                                                            To be safe we recommend that you size some additional disk space as buffer (say 25-50%) on top of that.

                                                                                                                                                            Network Configuration

                                                                                                                                                            The following firewall/security configurations are required for inbound and outbound traffic for the Sysdig platform:

                                                                                                                                                            Ports

                                                                                                                                                            Port

                                                                                                                                                            State

                                                                                                                                                            Direction

                                                                                                                                                            Description

                                                                                                                                                            6666

                                                                                                                                                            Open (optional)

                                                                                                                                                            Inbound

                                                                                                                                                            Agent communication (unencrypted)

                                                                                                                                                            6443

                                                                                                                                                            Open

                                                                                                                                                            Inbound

                                                                                                                                                            Agent Communication (TLS/encrypted)

                                                                                                                                                            443

                                                                                                                                                            Open

                                                                                                                                                            Inbound

                                                                                                                                                            Sysdig Monitor user-interface access inbound

                                                                                                                                                            443*

                                                                                                                                                            Open

                                                                                                                                                            Outbound

                                                                                                                                                            *Optional, used if collecting AWS CloudWatch metrics. See also AWS: Integrate AWS Account and CloudWatch Metrics (Optional).

                                                                                                                                                            443*

                                                                                                                                                            Open

                                                                                                                                                            Outbound

                                                                                                                                                            *Optional, needed if using Sysdig Secure Image Scanning to download vulnerability definitions.

                                                                                                                                                            Must be open to Cloudflare IP ranges: https://www.cloudflare.com/ips/.

                                                                                                                                                            8800

                                                                                                                                                            Open

                                                                                                                                                            Inbound

                                                                                                                                                            Replicated Management Console access (for on-premises installations that don't use Kubernetes)

                                                                                                                                                            Warning: Port 6666 should only be opened if agents will be communicating with the collectors without encryption.

                                                                                                                                                            Additional ports may need to be configured for the Replicated infrastructure manager. Refer to the Replicated port requirements documentation for more information.

                                                                                                                                                            HTTP/HTTPS and Proxy Support

                                                                                                                                                            All non-airgapped hosts require outbound HTTP/S internet access for:

                                                                                                                                                            • License validation

                                                                                                                                                            • Pulling Sysdig/Agent containers from the Docker hub repository

                                                                                                                                                            • Release update checks

                                                                                                                                                            Note: Sysdig does not support HTTP/S proxies for Sysdig platform components.

                                                                                                                                                            Summary: Plan Proxy Support for Notification Channels, CloudWatch Metrics, Capture Storage

                                                                                                                                                            In release #760 and newer of the Sysdig platform back-end, an option is available to configure outgoing HTTP/HTTPS connections to be made via proxy. This has been tested and supports outgoing web connections that are necessary to support the following features:

                                                                                                                                                            • Notification Channels

                                                                                                                                                              • PagerDuty

                                                                                                                                                              • Slack

                                                                                                                                                              • Amazon SNS

                                                                                                                                                              • VictorOps

                                                                                                                                                              • OpsGenie

                                                                                                                                                              • WebHook

                                                                                                                                                            • Gathering of AWS CloudWatch data

                                                                                                                                                            • Capture storage to an AWS S3 bucket

                                                                                                                                                            Proxied web connectivity to support authentication mechanisms (SAML. OpenID Connect, OAuth) are not supported at this time.

                                                                                                                                                            Configure Proxy Using JVM Options

                                                                                                                                                            The proxy settings are configured via the JVM options passed to the Sysdig software components. JVM options can be added/appended at any time (with a required restart).

                                                                                                                                                            • In a Replicated on-premises install, use the Advanced Settings panel to enter JVM options in the Sysdig application JVM options field. (See “Define Advanced Settings” on Install Components (Replicated).)

                                                                                                                                                              If JVM settings have already been set, log in to the Replicated Management console and choose the Settings tab. At the bottom of the screen, check the box to Show Advanced Settings to reveal the configuration option.

                                                                                                                                                            • In a Kubernetes-based on-premises install, set the sysdigcloud.jvm.options in the config.yaml used to set the ConfigMap:

                                                                                                                                                              # Optional: Sysdig Cloud application JVM options. For heavy load environments you'll need to tweak
                                                                                                                                                              # the memory or garbage collection settings
                                                                                                                                                                sysdigcloud.jvm.api.options: ""
                                                                                                                                                                sysdigcloud.jvm.worker.options: ""
                                                                                                                                                                sysdigcloud.jvm.collector.options: ""
                                                                                                                                                              
                                                                                                                                                            • Enter the proxy parameters, as in the example below.

                                                                                                                                                              This JVM options string will forward all HTTP and HTTPS traffic via outgoing port 8888 on a proxy at hostname proxy.example.com. The IP address may be specified instead of hostname.

                                                                                                                                                              -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8888 -Dhttps.proxyPort=8888 -Dhttps.proxyHost=proxy.example.com
                                                                                                                                                              # Optional: Sysdig Cloud application JVM options. For heavy load environments you'll need to tweak
                                                                                                                                                              # the memory or garbage collection settings
                                                                                                                                                              sysdigcloud.jvm.api.options: -Xms2048m -Xmx2048m -Dhttp.proxyHost=xxx.xxx.sysdig.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=xxx.xxx.sysdig.com -Dhttps.proxyPort=80
                                                                                                                                                              

                                                                                                                                                            Exclusions

                                                                                                                                                            • Do not use local host or 127.0.0.1. By default, HTTP/HTTPS requests to localhost or 127.0.0.1 will not be directed by the back-end toward any configured proxy, which is necessary for the functioning of some web components internal to the Sysdig platform containers.

                                                                                                                                                            • If you deploy the Sysdig platform in AWS, add an additional proxy parameter

                                                                                                                                                              -Dhttp.nonProxyHosts=169.254.169.254

                                                                                                                                                              Rational: This provides a work-around for the backend occasionally making HTTP requests to a special instance metadata address 169.254.169.254, which is undesirable when using a proxy.

                                                                                                                                                              This IP address will be excluded from proxying by default in a future release.

                                                                                                                                                            • If you have additional proxy exclusions you wish to specify that are unique to your environment, these can also be added using the pipe separator.

                                                                                                                                                              For example, assume your deployment was in AWS and you also had a webhook target 192.168.1.2 that was not reachable via your proxy.To exclude both:

                                                                                                                                                              Replicated: your complete string to enter into the console for Sysdig application JVM options would be:

                                                                                                                                                              -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8888 -Dhttps.proxyPort=8888 -Dhttps.proxyHost=proxy.example.com -Dhttp.nonProxyHosts=169.254.169.254|192.168.1.2
                                                                                                                                                              

                                                                                                                                                              Kubernetes: when setting the sysdigcloud.jvm.api.options and sysdigcloud.jvm.worker.options in the config.yaml for the ConfigMap, the pipe separator must be double-escaped, such as:

                                                                                                                                                              -Dhttps.proxyPort=80 -Dhttps.proxyHost=xx.xx.sysdig.com -Dhttp.nonProxyHosts=169.123.169.123\\|127.0.0.1\\|localhost\\|.sysdig.com"
                                                                                                                                                              

                                                                                                                                                            Time Synchronization

                                                                                                                                                            The Sysdig platform requires the system clocks to be closely synchronized between hosts. When provisioning hosts for installation, ensure the system clocks are synchronized.

                                                                                                                                                            Recommended: Install NTP to ensure all host clocks stay synchronized.

                                                                                                                                                            5.1.3 -

                                                                                                                                                            Securing User Passwords

                                                                                                                                                            • For MySQL, Redis, and the initial “super admin” user, a strong password is recommended, 16-20 characters, alphanumeric.

                                                                                                                                                            • For Cassandra and MySQL, it is also possible to set up third-party authentication

                                                                                                                                                            • For Redis, users can set up an SSH tunnel and Sysdig can connect over this tunnel.

                                                                                                                                                            5.2 -

                                                                                                                                                            On-Premises Installation

                                                                                                                                                            When planning to install Sysdig products on-premises, enterprises should:

                                                                                                                                                            Oversight Services Now Offered for All Installs and Upgrades

                                                                                                                                                            As part of our continued focus on our customers, we are now offering oversight services for all on-premise installs and upgrades. Your Technical Account Manager (TAM), in conjunction with our support organization and Professional Services [where applicable], will work with you to:

                                                                                                                                                            • Assess your environment to ensure it is configured correctly

                                                                                                                                                            • Review your infrastructure to validate the appropriate storage capacities are available

                                                                                                                                                            • Review and provide recommendations for backing up your Sysdig data

                                                                                                                                                            • Work with you to ensure our teams are ready to assist you during the install and upgrade process

                                                                                                                                                            • Provide the software for the install

                                                                                                                                                            • Be available during the process to ensure a successful deployment

                                                                                                                                                            You can always review the process in the documentation on GitHub (v. 3.6.0+) or the standard docs site (for older versions).

                                                                                                                                                            If you are a new customer looking to explore Sysdig, please head over here to sign up for a trial on our SaaS Platform. Alternatively, you can contact us here.

                                                                                                                                                            5.2.1 -

                                                                                                                                                            Installer (Kubernetes | OpenShift)

                                                                                                                                                            For v 3.6.0+, go to the GitHub repo. On-prem installation documentation is transitioning to GitHub.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            The Sysdig Installer tool is a binary containing a collection of scripts that help automate the on-premises deployment of the Sysdig platform (Sysdig Monitor and/or Sysdig Secure), for environments using Kubernetes or OpenShift. Use the Installer to install or upgrade your Sysdig platform. It is recommended as a replacement for the earlier Kubernetes manual installation and upgrade procedures.

                                                                                                                                                            Installation Overview

                                                                                                                                                            To install, you will download the installer binary and a values.yaml file, provide a few basic parameters, and launch the Installer. In a normal installation, the rest is automatically configured and deployed.

                                                                                                                                                            You can perform a quick install if your environment has access to the internet, or a partial or full airgapped installation, as needed. Each is described below.

                                                                                                                                                            See Frequently Used Installer Configurations to:

                                                                                                                                                            • Customize or override settings

                                                                                                                                                            • Use hostPath for static storage of Sysdig components

                                                                                                                                                            • Use Kubernetes node labels and taints to run only Sysdig pods on selected nodes in a cluster

                                                                                                                                                            Install vs Upgrade

                                                                                                                                                            With Sysdig Platform 3.5.0, the installer has been simplified from previous versions. Upgrade differs from Install in that you run an installer diff to discover the differences between the old and new versions and then installer deploy for the new version.

                                                                                                                                                            If you are installing the Sysdig Platform for the first time, ignore the For Upgrade Only step in the process.

                                                                                                                                                            If you are upgrading, check the Upgrade notes before you begin.

                                                                                                                                                            Prerequisites

                                                                                                                                                            The installer must be run from a machine with kubectl/oc configured with access to the target cluster where the Sysdig platform will be installed. Note that this cluster may be different than where the Sysdig agent will be deployed.

                                                                                                                                                            Requirements for Installation Machine with Internet Access

                                                                                                                                                            • Network access to Kubernetes cluster

                                                                                                                                                            • Network access to quay.io

                                                                                                                                                            • A domain name you are in control of.

                                                                                                                                                            Additional Requirements for Airgapped Environments

                                                                                                                                                            • Edited values.yaml with airgap registry details updated

                                                                                                                                                            • Network and authenticated access to the private registry

                                                                                                                                                            Access Requirements

                                                                                                                                                            • Sysdig license key (Monitor and/or Secure)

                                                                                                                                                            • Quay pull secret

                                                                                                                                                            Storage Requirements

                                                                                                                                                            You may use dynamic or static storage on a variety of platforms to store the Sysdig platform components (stateful sets). Different configuration parameters and values are used during the install, depending on which scenario you have.

                                                                                                                                                            Use Case 1: Default, undefined (AWS/GKE)

                                                                                                                                                            If you will use dynamic storage on AWS or GKE and haven’t configured any storage class there yet, then the Quick Install streamlines the process for you.

                                                                                                                                                            • storageclassProvisioner: Enter aws or gke. The installer will create the appropriate storage class and then use it for all the Sysdig platform stateful sets.

                                                                                                                                                            • storageclassName: Leave empty.

                                                                                                                                                            Use Case 2: Dynamic, predefined

                                                                                                                                                            It is also possible that you are using dynamic storage but have already created storage classes there. This dynamic storage could be AWS, GKE, or any other functioning dynamic storage you use.  In this case, you would enter: 

                                                                                                                                                            • storageclassProvisioner: Leave empty; anything put here would be ignored.

                                                                                                                                                            • storageclassName: Provide the name of the pre-configured storage class you want to use. The installer will use this storage class for all the Sysdig platform stateful sets.

                                                                                                                                                            Use Case 3: Static Storage

                                                                                                                                                            In cases where dynamic storage is not available, you can use static storage for the Sysdig stateful sets. In this case, you would use:

                                                                                                                                                            • storageclassProvisioner: Enter hostpath, then define the nodes for the four main Sysdig components: ElasticSearch, Cassandra, MySQL, and Postgres.storageclassProvisioner

                                                                                                                                                            • See Frequently Used Installer Configurations for details.

                                                                                                                                                            Quickstart Install

                                                                                                                                                            This install assumes the Kubernetes cluster has network access to pull images from quay.io.

                                                                                                                                                            1. Have your Sysdig Technical Account Manager download the installer binary that matches your OS from the  the sysdigcloud-kubernetes releases page.

                                                                                                                                                            2. For Upgrades Only: Copy the current version of values.yaml to your working directory.]

                                                                                                                                                              ./installer-image import -n sysdig --certs-directory certs -o values.yaml
                                                                                                                                                              

                                                                                                                                                              If you will be editing for an OpenShift installation and want to review a sample, see openshift-with-hostpath values.yaml. .

                                                                                                                                                            3. Edit the following values:

                                                                                                                                                              • size: Specifies the size of the cluster. Size defines CPU, Memory, Disk, and Replicas. Valid options are: small, medium and large

                                                                                                                                                              • quaypullsecret: quay.io provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • storageClassProvisioner: Review Storage Requirements, above.

                                                                                                                                                                If you have the default use case, enter aws or gke in the storageClassProvisioner field. Otherwise, refer to Use Case 2 or 3.

                                                                                                                                                              • sysdig.license: Sysdig license key provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • sysdig.dnsname: The domain name the Sysdig APIs will be served on. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • sysdig.collector.dnsName: (OpenShift installs only) Domain name the Sysdig collector will be served on. When not configured it defaults to whatever is configured for sysdig.dnsName. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • deployment: (OpenShift installs only) Add deployment: openshift to the root of the values.yaml file.

                                                                                                                                                              • sysdig.ingressNetworking: The networking construct used to expose the Sysdig API and collector.Options are:

                                                                                                                                                                • hostnetwork: sets the hostnetworking in the ingress daemonset and opens host ports for api and collector. This does not create a Kubernetes service.

                                                                                                                                                                • loadbalancer: creates a service of type loadbalancer and expects that your Kubernetes cluster can provision a load balancer with your cloud provider.

                                                                                                                                                                • nodeport: creates a service of type nodeport.The node ports can be customized with:

                                                                                                                                                                  sysdig.ingressNetworkingInsecureApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingCollectorNodePort

                                                                                                                                                                  When not configured, sysdig.ingressNetworking defaults to hostnetwork.

                                                                                                                                                                If doing an airgapped install , you would also edit the following values:

                                                                                                                                                              • airgapped_registry_name: The URL of the airgapped (internal) docker registry. This URL is used for installations where the Kubernetes cluster can not pull images directly from Quay

                                                                                                                                                              • airgapped_repository_prefix: This defines custom repository prefix for airgapped_registry. Tags and pushes images as airgapped_registry_name/airgapped_repository_prefix/image_name:tag

                                                                                                                                                              • airgapped_registry_password: The password for the configured airgapped_registry_username. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                              • airgapped_registry_username: The username for the configured airgapped_registry_name. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                            4. [For Upgrades Only:]

                                                                                                                                                              [Generate and review the diff of changes the installer is about to introduce:

                                                                                                                                                              ./installer diff
                                                                                                                                                              

                                                                                                                                                              This will generate the differences between the installed environment and the upgrade version. The changes will be displayed in your terminal.

                                                                                                                                                              If you want to override a change, based on your environment’s custom settings, then contact Sysdig Support for assistance.]

                                                                                                                                                            5. Run the installer:

                                                                                                                                                              ./installer deploy
                                                                                                                                                              
                                                                                                                                                            6. See Output (below) to finish.

                                                                                                                                                            Save the values.yaml file in a secure location; it will be used for future upgrades.

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files that were applied by the Installer against your cluster. It is not necessary to keep the generated directory, as the Installer can regenerate it consistently with the same values.yaml file.

                                                                                                                                                            Airgapped Installation Options

                                                                                                                                                            The installer can be used in airgapped environments, either with a multi-homed installation machine that has internet access, or in an environment with no internet access.

                                                                                                                                                            Airgapped with Multi-Homed Installation Machine

                                                                                                                                                            This assumes a private docker registry is used and the installation machine has network access to pull from quay.io and push images to the private registry.

                                                                                                                                                            The Prerequisites and workflow are the same as in the Quickstart Install (above) with the following exceptions:

                                                                                                                                                            • In step 2, add the airgap registry information

                                                                                                                                                            • After step 3, make the installer push Sysdig images to the airgapped registry by running:

                                                                                                                                                              ./installer airgap
                                                                                                                                                              

                                                                                                                                                              That will pull all the images into the images_archive directory as tar files and push them to the airgapped registry.

                                                                                                                                                            • If you are upgrading, run the diff as directed in Step 4.

                                                                                                                                                            • Run the installer:

                                                                                                                                                              ./installer deploy
                                                                                                                                                              

                                                                                                                                                            Full Airgap Install

                                                                                                                                                            This assumes a private docker registry is used and the installation machine does not have network access to pull from quay.io, but can push images to the private registry.

                                                                                                                                                            In this situation, a machine with network access (called the “jump machine”) will pull an image containing a self-extracting tarball which can be copied to the installation machine.

                                                                                                                                                            Access Requirements

                                                                                                                                                            • Sysdig license key (Monitor and/or Secure) 

                                                                                                                                                            • Quay pull secret

                                                                                                                                                            • Anchore license file (if Sysdig Secure is licensed)

                                                                                                                                                            Requirements for jump machine

                                                                                                                                                            • Network access to quay.io

                                                                                                                                                            • Docker

                                                                                                                                                            • jq

                                                                                                                                                            Requirements for installation machine

                                                                                                                                                            • Network access to Kubernetes cluster

                                                                                                                                                            • Docker

                                                                                                                                                            • Network and authenticated access to the private registry

                                                                                                                                                            • Edited values.yaml with airgap registry details updated

                                                                                                                                                            • Host Disk Space Requirements:/tmp > 4 GB; directory from which the installer is run >8GB; and /var/lib/docker > 4GB.

                                                                                                                                                              NOTE: The environment variable TMPDIR can be used to override the /tmp directory.

                                                                                                                                                            Docker Log In to quay.io

                                                                                                                                                            • Retrieve Quay username and password from Quay pull secret. For example:

                                                                                                                                                              AUTH=$(echo <REPLACE_WITH_quaypullsecret> | base64 --decode | jq -r '.auths."quay.io".auth'| base64 --decode)
                                                                                                                                                              QUAY_USERNAME=${AUTH%:*}
                                                                                                                                                              QUAY_PASSWORD=${AUTH#*:}
                                                                                                                                                              
                                                                                                                                                            • Log in to quay.ioUse the username and password retrieved above.

                                                                                                                                                              docker login -u "$QUAY_USERNAME" -p "$QUAY_PASSWORD" quay.io
                                                                                                                                                              

                                                                                                                                                            Workflow

                                                                                                                                                            On the Jump Machine

                                                                                                                                                            1. Follow the Docker Log In to quay.io steps, above.

                                                                                                                                                            2. Pull the image containing the self-extracting tar:

                                                                                                                                                              docker pull quay.io/sysdig/installer:-uber
                                                                                                                                                              
                                                                                                                                                            3. Extract the tarball:

                                                                                                                                                              docker create --name uber_image quay.io/sysdig/installer:-uber
                                                                                                                                                              docker cp uber_image:/sysdig_installer.tar.gz .
                                                                                                                                                              docker rm uber_image
                                                                                                                                                              
                                                                                                                                                            4. Copy the tarball to the installation machine.

                                                                                                                                                            On the Installation Machine:

                                                                                                                                                            1. Copy the current version values.yaml to your working directory.

                                                                                                                                                              wget https://raw.githubusercontent.com/draios/sysdigcloud-kubernetes/installer/installer/values.yaml
                                                                                                                                                              
                                                                                                                                                            2. Edit the following values:

                                                                                                                                                              • size: Specifies the size of the cluster. Size defines CPU, Memory, Disk, and Replicas. Valid options are: small, medium and large

                                                                                                                                                              • quaypullsecret: quay.io provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • storageClassProvisioner: Review Storage Requirements, above.

                                                                                                                                                                If you have the default use case, enter aws or gke in the storageClassProvisioner field. Otherwise, refer to Use Case 2 or 3.

                                                                                                                                                              • sysdig.license: Sysdig license key provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • sysdig.dnsname: The domain name the Sysdig APIs will be served on. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • sysdig.collector.dnsName: (OpenShift installs only) Domain name the Sysdig collector will be served on. When not configured it defaults to whatever is configured for sysdig.dnsName. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • deployment: (OpenShift installs only) Add deployment: openshift to the root of the values.yaml file.

                                                                                                                                                              • sysdig.ingressNetworking: The networking construct used to expose the Sysdig API and collector.Options are:

                                                                                                                                                                • hostnetwork: sets the hostnetworking in the ingress daemonset and opens host ports for api and collector. This does not create a Kubernetes service.

                                                                                                                                                                • loadbalancer: creates a service of type loadbalancer and expects that your Kubernetes cluster can provision a load balancer with your cloud provider.

                                                                                                                                                                • nodeport: creates a service of type nodeport.The node ports can be customized with:

                                                                                                                                                                  sysdig.ingressNetworkingInsecureApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingCollectorNodePort

                                                                                                                                                              • airgapped_registry_name: The URL of the airgapped (internal) docker registry. This URL is used for installations where the Kubernetes cluster can not pull images directly from Quay

                                                                                                                                                              • airgapped_repository_prefix: This defines custom repository prefix for airgapped_registry. Tags and pushes images as airgapped_registry_name/airgapped_repository_prefix/image_name:tag

                                                                                                                                                              • airgapped_registry_password: The password for the configured airgapped_registry_username. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                              • airgapped_registry_username: The username for the configured airgapped_registry_name. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                            3. Copy the tarball file to the directory where you have your values.yaml file.

                                                                                                                                                            4. Run:

                                                                                                                                                              installer airgap --tar-file sysdig_installer.tar.gz
                                                                                                                                                              

                                                                                                                                                              NOTE: This step will extract the images into the images_archive directory relative to where the installer was run and push the images to the airgapped_registry.

                                                                                                                                                            5. [For Upgrades Only:]

                                                                                                                                                              [Generate and review the diff of changes the installer is about to introduce:

                                                                                                                                                              ./installer diff
                                                                                                                                                              

                                                                                                                                                              This will generate the differences between the installed environment and the upgrade version. The changes will be displayed in your terminal.

                                                                                                                                                              If you want to override a change, based on your environment’s custom settings, then contact Sysdig Support for assistance.]

                                                                                                                                                            6. Run the installer:

                                                                                                                                                              ./installer deploy
                                                                                                                                                              
                                                                                                                                                            7. See Output (below) to finish.

                                                                                                                                                            Save the values.yaml file in a secure location; it will be used for future upgrades.

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files that were applied by the Installer against your cluster. It is not necessary to keep the generated directory, as the Installer can regenerate it consistently with the same values.yaml file.

                                                                                                                                                            Updating Vulnerability Feed in Airgapped Environments

                                                                                                                                                            NOTE: Sysdig Secure users who install in an airgapped environment do not have internet access to the continuous checks of vulnerability databases that are used in image scanning. (See also: How Sysdig Image Scanning Works.)

                                                                                                                                                            As of installer version 3.2.0-9, airgapped environments can also receive periodic vulnerability database updates.

                                                                                                                                                            When you install with the “airgapped_” parameters enabled (see Full Airgap Install instructions), the installer will automatically push the latest vulnerability database to your environment. Follow the steps below to reinstall/refresh the vuln db, or use the script and chron job to schedule automated updates (daily, weekly, etc.).

                                                                                                                                                            To automatically update the vulnerability database, you can:

                                                                                                                                                            1. Download the image file quay.io/sysdig/vuln-feed-database:latest from the Sysdig registry to the jump box server and save it locally.

                                                                                                                                                            2. Move the file from the jump box server to the airgapped environment (if needed)

                                                                                                                                                            3. Load the image file and push it to the airgapped image registry.

                                                                                                                                                            4. Restart the pod sysdigcloud-feeds-db

                                                                                                                                                            5. Restart the pod feeds-api

                                                                                                                                                            The following script (feeds_database_update.sh) performs the five steps:

                                                                                                                                                            #!/bin/bash
                                                                                                                                                            QUAY_USERNAME="<change_me>"
                                                                                                                                                            QUAY_PASSWORD="<change_me>"
                                                                                                                                                            
                                                                                                                                                            # Download image
                                                                                                                                                            docker login quay.io/sysdig -u ${QUAY_USERNAME} -p ${QUAY_PASSWORD}
                                                                                                                                                            docker image pull quay.io/sysdig/vuln-feed-database:latest
                                                                                                                                                            # Save image
                                                                                                                                                            docker image save quay.io/sysdig/vuln-feed-database:latest -o vuln-feed-database.tar
                                                                                                                                                            # Optionally move image
                                                                                                                                                            mv vuln-feed-database.tar /var/shared-folder
                                                                                                                                                            # Load image remotely
                                                                                                                                                            ssh -t user@airgapped-host "docker image load -i /var/shared-folder/vuln-feed-database.tar"
                                                                                                                                                            # Push image remotely
                                                                                                                                                            ssh -t user@airgapped-host "docker tag vuln-feed-database:latest airgapped-registry/vuln-feed-database:latest"
                                                                                                                                                            ssh -t user@airgapped-host "docker image push airgapped-registry/vuln-feed-database:latest"
                                                                                                                                                            # Restart database pod
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-db --replicas=0"
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-db --replicas=1"
                                                                                                                                                            # Restart feeds-api pod
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-api --replicas=0"
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-api --replicas=1"
                                                                                                                                                            

                                                                                                                                                            Schedule a chron job to run the script on a chosen schedule (e.g. every day):

                                                                                                                                                            0 8 * * * feeds-database-update.sh >/dev/null 2>&1
                                                                                                                                                            

                                                                                                                                                            Output

                                                                                                                                                            A successful installation should display output in the terminal such as:

                                                                                                                                                            All Pods Ready.....Continuing
                                                                                                                                                            Congratulations, your Sysdig installation was successful!
                                                                                                                                                            You can now login to the UI at "https://awesome-domain.com:443" with:
                                                                                                                                                            
                                                                                                                                                            username: "configured-username@awesome-domain.com"
                                                                                                                                                            password: "awesome-password"
                                                                                                                                                            

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files which were applied by installer against your cluster. It is not necessary to keep the generated directory, as the installer can regenerate consistently with the same values.yaml file.

                                                                                                                                                            Additional Installer Resources

                                                                                                                                                            5.2.1.1 -

                                                                                                                                                            Frequently Used Installer Configurations

                                                                                                                                                            SMTP Configs for Email Notifications

                                                                                                                                                            The available fields for SMTP configuration are documented in the configuration_parameters.md. Each includes SMTP in its name. For example:

                                                                                                                                                            sysdig:
                                                                                                                                                              ...
                                                                                                                                                              smtpServer: smtp.sendgrid.net
                                                                                                                                                              smtpServerPort: 587
                                                                                                                                                              #User,Password can be empty if the server does not require authentication
                                                                                                                                                              smtpUser: apikey
                                                                                                                                                              smtpPassword: XY.abcdefghijk...
                                                                                                                                                              smtpProtocolTLS: true
                                                                                                                                                              smtpProtocolSSL: false
                                                                                                                                                              #Optional Email Header
                                                                                                                                                              smtpFromAddress: sysdig@mycompany.com
                                                                                                                                                            

                                                                                                                                                            To configure email settings to be used for a notification channel, copy the parameters and appropriate values into your values.yaml.

                                                                                                                                                            Configure AWS Credentials Using the Installer

                                                                                                                                                            The available fields for AWS credentials are documented in the configuration_parameters.md. They are:

                                                                                                                                                            sysdig:
                                                                                                                                                              accessKey: my_awesome_aws_access_key
                                                                                                                                                              secretKey: my_super_secret_secret_key
                                                                                                                                                            

                                                                                                                                                            Use hostPath for Static Storage of Sysdig Components

                                                                                                                                                            The Installer assumes the usage of a dynamic storage provider (AWS or GKE). In case these are not used in your environment, add the entries below to thevalues.yamlto configure static storage.

                                                                                                                                                            Based on the size entered in the values.yaml file (small/medium/large), the Installer assumes a minimum number of replicas and nodes to be provided. You will enter the names of the nodes on which you will run the Cassandra, ElasticSearch, mySQL and Postgres components of Sysdig in the values.yaml, as in the parameters and example below.

                                                                                                                                                            Parameters

                                                                                                                                                            • storageClassProvisioner:``hostPath.

                                                                                                                                                            • sysdig.cassandra.hostPathNodes: The number of nodes configured here needs to be at minimum 1 when configured size is small, 3 when configured size is medium and 6 when configured size is large.

                                                                                                                                                            • elasticsearch.hostPathNodes: The number of nodes configured here needs to be at minimum 1 when configured size is small, 3 when configured size is medium and 6 when configured size is large.

                                                                                                                                                            • sysdig.mysql.hostPathNodes: When sysdig.mysqlHA is configured to true, this must be at least 3 nodes. When sysdig.mysqlHA is not configured, it should be at least 1 node.

                                                                                                                                                            • sysdig.postgresql.hostPathNodes: This can be ignored if Sysdig Secure is not licensed or used in this environment. If Secure is used, then the parameter should be set to 1, regardless of the size setting

                                                                                                                                                            Example

                                                                                                                                                            storageClassProvisioner: hostPath
                                                                                                                                                            elasticsearch:
                                                                                                                                                              hostPathNodes:
                                                                                                                                                                - my-cool-host1.com
                                                                                                                                                                - my-cool-host2.com
                                                                                                                                                                - my-cool-host3.com
                                                                                                                                                                - my-cool-host4.com
                                                                                                                                                                - my-cool-host5.com
                                                                                                                                                                - my-cool-host6.com
                                                                                                                                                            sysdig:
                                                                                                                                                              cassandra:
                                                                                                                                                                hostPathNodes:
                                                                                                                                                                  - my-cool-host1.com
                                                                                                                                                                  - my-cool-host2.com
                                                                                                                                                                  - my-cool-host3.com
                                                                                                                                                                  - my-cool-host4.com
                                                                                                                                                                  - my-cool-host5.com
                                                                                                                                                                  - my-cool-host6.com
                                                                                                                                                              mysql:
                                                                                                                                                                hostPathNodes:
                                                                                                                                                                  - my-cool-host1.com
                                                                                                                                                              postgresql:
                                                                                                                                                                hostPathNodes:
                                                                                                                                                                  - my-cool-host1.com
                                                                                                                                                            

                                                                                                                                                            Run Only Sysdig Pods on a Node Using Taints and Tolerations

                                                                                                                                                            If you have a large shared Kubernetes cluster and want to dedicate a few nodes for just the Sysdig backend component installation, you can use the Kubernetes concept of taints and tolerations.

                                                                                                                                                            The basic process is:

                                                                                                                                                            1. Assign labels and taints to the relevant nodes.

                                                                                                                                                            2. Review the sample node-labels-and-taints values.yaml in the Sysdig github repo.

                                                                                                                                                            3. Copy that section to your own values.yaml file and edit with labels and taints you assigned.

                                                                                                                                                            Example from the sample file:

                                                                                                                                                            # To make the ‘tolerations’ code sample below functional, assign nodes the taint
                                                                                                                                                            # dedicated=sysdig:NoSchedule. E.g:
                                                                                                                                                            # kubectl taint my-awesome-node01 dedicated=sysdig:NoSchedule
                                                                                                                                                              tolerations:
                                                                                                                                                                - key: "dedicated"
                                                                                                                                                                  operator: "Equal"
                                                                                                                                                                  value: sysdig
                                                                                                                                                                  effect: "NoSchedule"
                                                                                                                                                            # To make the Label code sample below functional, assign nodes the label
                                                                                                                                                            # role=sysdig.
                                                                                                                                                            # e.g: kubectl label nodes my-awesome-node01 role=sysdig
                                                                                                                                                              nodeaffinityLabel:
                                                                                                                                                                key: role
                                                                                                                                                                value: sysdig
                                                                                                                                                            

                                                                                                                                                            Patching

                                                                                                                                                            Patching can be used to customize or “tweak” the default behavior of the Installer to accommodate the unique requirements of a specific environment. Use patching to modify the parameters that are not exposed by thevalues.yaml. Refer to the configuration_parameters.md for more detail about various parameters.  

                                                                                                                                                            The most common use case for patching is during upgrades. When generating the differences between an existing installation and the upgrade, you may see previously customized configurations that the upgrade would overwrite, but that you want to preserve.

                                                                                                                                                            Patching Process

                                                                                                                                                            If you have run  generate diff  and found a configuration that you need to tweak (e.g. the installer will delete something you want to keep, or you need to add something that isn’t there), then follow these general steps:

                                                                                                                                                            • Create an overlays directory in the same location as the values.yaml.

                                                                                                                                                              This directory, and the PATCH.yaml you create for it, must be kept. The installer will use it during future upgrades of Sysdig.

                                                                                                                                                            • Create a .yaml file to be used for patching. You can name it whatever you want; we will call it PATCH.yaml for this example.

                                                                                                                                                              Patch files must include, at a minimum:

                                                                                                                                                              • apiVersion

                                                                                                                                                              • kind

                                                                                                                                                              • metadata.name

                                                                                                                                                              of the object to be patched.

                                                                                                                                                              Then you add the specific configuration required for your needs. See one example below.

                                                                                                                                                              You will need this patch definition for every Kubernetes object you want to patch.

                                                                                                                                                            • Run generate diff again and check that the outcome will be what you want.

                                                                                                                                                            • When satisfied, complete the update by changing the scripts value to deploy and running the installer (see Installer Upgrade (2.5.0+).

                                                                                                                                                            If you want to add another patch, you can either add a separate .yaml file or a new YAML document separated by ---

                                                                                                                                                            The recommended practice is to use a single patch per Kubernetes object.

                                                                                                                                                            Example

                                                                                                                                                            Presume you have the following generated configuration:

                                                                                                                                                            apiVersion: v1
                                                                                                                                                            kind: Service
                                                                                                                                                            metadata:
                                                                                                                                                              annotations: {}
                                                                                                                                                              labels:
                                                                                                                                                                app: sysdigcloud
                                                                                                                                                                role: api
                                                                                                                                                              name: sysdigcloud-api
                                                                                                                                                              namespace: sysdigcloud
                                                                                                                                                            spec:
                                                                                                                                                              clusterIP: None
                                                                                                                                                              ports:
                                                                                                                                                              - name: api
                                                                                                                                                                port: 8080
                                                                                                                                                                protocol: TCP
                                                                                                                                                                targetPort: 8080
                                                                                                                                                              selector:
                                                                                                                                                                app: sysdigcloud
                                                                                                                                                                role: api
                                                                                                                                                              sessionAffinity: None
                                                                                                                                                              type: ClusterIP
                                                                                                                                                            

                                                                                                                                                            To Add to the Generated Configuration

                                                                                                                                                            Suppose you want to add an extra label my-awesome-label: my-awesome-value to the Service object. Then in the PATCH.yaml, you would put the following:

                                                                                                                                                            apiVersion: v1
                                                                                                                                                            kind: Service
                                                                                                                                                            metadata:
                                                                                                                                                              name: sysdigcloud-api
                                                                                                                                                              labels:
                                                                                                                                                                my-awesome-label: my-awesome-value
                                                                                                                                                            

                                                                                                                                                            Run the installer again, and the configuration would be as follows:

                                                                                                                                                            apiVersion: v1
                                                                                                                                                            kind: Service
                                                                                                                                                            metadata:
                                                                                                                                                              annotations: {}
                                                                                                                                                              labels:
                                                                                                                                                                app: sysdigcloud
                                                                                                                                                                role: api
                                                                                                                                                                my-awesome-label: my-awesome-value
                                                                                                                                                              name: sysdigcloud-api
                                                                                                                                                              namespace: sysdigcloud
                                                                                                                                                            spec:
                                                                                                                                                              clusterIP: None
                                                                                                                                                              ports:
                                                                                                                                                              - name: api
                                                                                                                                                                port: 8080
                                                                                                                                                                protocol: TCP
                                                                                                                                                                targetPort: 8080
                                                                                                                                                              selector:
                                                                                                                                                                app: sysdigcloud
                                                                                                                                                                role: api
                                                                                                                                                              sessionAffinity: None
                                                                                                                                                              type: ClusterIP
                                                                                                                                                            

                                                                                                                                                            To Remove from the Generated Configuration

                                                                                                                                                            Supposed you wanted to remove all the labels. Then in the PATCH.yaml, you would put the following:

                                                                                                                                                            apiVersion: v1
                                                                                                                                                            kind: Service
                                                                                                                                                            metadata:
                                                                                                                                                              name: sysdigcloud-api
                                                                                                                                                              labels:
                                                                                                                                                            

                                                                                                                                                            Run the installer again, and the configuration would be as follows:

                                                                                                                                                            apiVersion: v1
                                                                                                                                                            kind: Service
                                                                                                                                                            metadata:
                                                                                                                                                              annotations: {}
                                                                                                                                                              name: sysdigcloud-api
                                                                                                                                                              namespace: sysdigcloud
                                                                                                                                                            spec:
                                                                                                                                                              clusterIP: None
                                                                                                                                                              ports:
                                                                                                                                                              - name: api
                                                                                                                                                                port: 8080
                                                                                                                                                                protocol: TCP
                                                                                                                                                                targetPort: 8080
                                                                                                                                                              selector:
                                                                                                                                                                app: sysdigcloud
                                                                                                                                                                role: api
                                                                                                                                                              sessionAffinity: None
                                                                                                                                                              type: ClusterIP
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.2.2 -

                                                                                                                                                            Manual Install 3.0.0+ (Kubernetes)

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            The Sysdig platform includes both Sysdig Monitor and Sysdig Secure, which are licensed separately. All installations include Sysdig Monitor, while some of the Secure components are installed and configured as additional steps, as noted.

                                                                                                                                                            When installing the Sysdig platform with Kubernetes as the orchestrator, you install each backend component with separate kubectl commands.

                                                                                                                                                            Installation with the Installer tool is recommended from version 2.5.0 onwards.

                                                                                                                                                            To perform a manual install on OpenShift, see Manual Install (OpenShift).

                                                                                                                                                            The manual install on Kubernetes 1.9+ is described below.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • Access to a running Kubernetes cluster 1.9+

                                                                                                                                                              (Note: if your environment is installed elsewhere, such as your own data center, contact Sysdig Professional Services to customize the installation instructions appropriately.)

                                                                                                                                                            • Two items from your Sysdig purchase-confirmation email:

                                                                                                                                                              • Your Sysdig license key

                                                                                                                                                              • Your Sysdig quay.io pull secret

                                                                                                                                                            • kubectl installed on your machine and communicating with the Kubernetes cluster

                                                                                                                                                              (Note that your kubectl and Kubernetes versions should match to avoid errors.)

                                                                                                                                                            • An External Load Balancer (required for production – see below)

                                                                                                                                                              If installing in a cloud-provider environment (such as AWS, GCloud, or Azure), you will deploy an HAProxy load balancer and point a DNS record to that load balancer.

                                                                                                                                                              If installing in your own data center, then you will need two DNS records, one for the collector and one for the UI.

                                                                                                                                                            • A DNS server and control over a DNS name that you can point to Sysdig

                                                                                                                                                            Consider Elasticsearch Default Privileges

                                                                                                                                                            By default, the Elasticsearch container will be installed in privileged (root-access) mode. This mode is only needed so the container can reconfigure the hosts' Linux file descriptors if necessary. See Elasticsearch’s description here.

                                                                                                                                                            If you prefer not to allow Elasticsearch to run with root access to the host, you will need to:

                                                                                                                                                            1. Set your own file descriptors on all Linux hosts in the Kubernetes cluster.

                                                                                                                                                              If one host were to go down, Kubernetes could choose a different node for Elasticsearch, so each Linux host must have the file descriptors set.

                                                                                                                                                            2. Set privileged:false in the elasticsearch-statefulset.yaml file.

                                                                                                                                                              See the step under Coonfigure Backend Components, below, for details.

                                                                                                                                                            Configure Storage Class

                                                                                                                                                            If you are using EKS or GKE, default storage classes are provided; check for them (step 1).

                                                                                                                                                            In other environments, you may need to create a storage class (step 2).

                                                                                                                                                            Finally, enter the storageClassName in the appropriate .yaml files (step 3).

                                                                                                                                                            1. Verify whether a storage class has been created, by running the command:

                                                                                                                                                              kubectl get storageclass
                                                                                                                                                              
                                                                                                                                                            2. If no storage class has been defined, create a manifest for one, and then deploy it.

                                                                                                                                                              For example, a manifest could be named sysdigcloud-storageclass.yaml and contain the following contents (for a storage class using GP2 volumes in AWS):

                                                                                                                                                              apiVersion: storage.k8s.io/v1
                                                                                                                                                              kind: StorageClass
                                                                                                                                                              metadata:
                                                                                                                                                                name: gp2
                                                                                                                                                                annotations:
                                                                                                                                                                  storageclass.beta.kubernetes.io/is-default-class: "true"
                                                                                                                                                                labels:
                                                                                                                                                                  kubernetes.io/cluster-service: "true"
                                                                                                                                                                  addonmanager.kubernetes.io/mode: EnsureExists
                                                                                                                                                              provisioner: kubernetes.io/aws-ebs
                                                                                                                                                              parameters:
                                                                                                                                                                type: gp2
                                                                                                                                                              

                                                                                                                                                              Now run the command:

                                                                                                                                                              kubectl apply -f sysdigcloud-storageclass.yaml
                                                                                                                                                              

                                                                                                                                                            Download the Source Files to a New Namespace

                                                                                                                                                            Sysdig provides the necessary scripts, images, and .yaml files in a GitHub repository. The first step is to clone those files and check out the latest version. (These examples use 1234.)

                                                                                                                                                            Find the current release tag from https://github.com/draios/sysdigcloud-kubernetes/releases/latest.

                                                                                                                                                            1. Run the command:

                                                                                                                                                              git clone https://github.com/draios/sysdigcloud-kubernetes.git
                                                                                                                                                              cd sysdigcloud-kubernetes
                                                                                                                                                              git checkout tags/<1234>
                                                                                                                                                              
                                                                                                                                                            2. Create a namespace called sysdigcloud:

                                                                                                                                                              kubectl create namespace sysdigcloud
                                                                                                                                                              

                                                                                                                                                            Add External Load Balancer

                                                                                                                                                            Create a TCP load balancer (i.e., AWS NLB) that forwards ports 80, 443, 6443 to the Kubernetes worker nodes, with a healthcheck to /healthz on port 10253.

                                                                                                                                                            This can be done in three ways:

                                                                                                                                                            1. Use an existing external load balancer. Sysdig relies heavily on DNS; you need a DNS record pointing to the load balancer.

                                                                                                                                                            2. Create a load balancer in your cloud provider. (For example in AWS, see https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html.) You need a DNS record that points to the load balancer. This is the fully qualified domain name required later in the config.yaml, api-ingress.yaml and/or api-ingress-with-secure.yaml.

                                                                                                                                                            3. Create a yaml with the following content and apply it to the sysdigcloud namespace. This automatically creates a load balancer in the cloud provider environment, with an external DNS name.

                                                                                                                                                              This is the fully qualified domain name required later in the config.yaml, api-ingress.yaml and/or api-ingress-with-secure.yaml.

                                                                                                                                                              ---
                                                                                                                                                              apiVersion: v1
                                                                                                                                                              kind: Service
                                                                                                                                                              metadata:
                                                                                                                                                                name: haproxy-ingress-lb-service
                                                                                                                                                              spec:
                                                                                                                                                                type: LoadBalancer
                                                                                                                                                                ports:
                                                                                                                                                                - name: http
                                                                                                                                                                  port: 80
                                                                                                                                                                  targetPort: 80
                                                                                                                                                                - name: https
                                                                                                                                                                  port: 443
                                                                                                                                                                  targetPort: 443
                                                                                                                                                                - name: https2
                                                                                                                                                                  port: 6443
                                                                                                                                                                  targetPort: 6443
                                                                                                                                                                selector:
                                                                                                                                                                  run: haproxy-ingress
                                                                                                                                                              
                                                                                                                                                            4. Apply the changes to the sysdigcloud namespace.

                                                                                                                                                              kubectl -n sysdigcloud apply -f <yourlbfile.yamlservice.yaml>
                                                                                                                                                              
                                                                                                                                                            5. To get the DNS name, run the command:

                                                                                                                                                              $ kubectl get svc -o wide -n sysdigcloud
                                                                                                                                                              

                                                                                                                                                              The output shows the External-IP (DNS name):

                                                                                                                                                              NAME                         TYPE           CLUSTER-IP       EXTERNAL-IP                           PORT(S)                                        AGE       SELECTOR
                                                                                                                                                              haproxy-ingress-lb-service   LoadBalancer   100.66.118.183  sample123.us-east-1.elb.amazonaws.com  80:31688/TCP,443:32324/TCP,6443:30668/TCP      1d        run=haproxy-ingress
                                                                                                                                                              

                                                                                                                                                            DNS Entry (For Test Environments without a Load Balancer)

                                                                                                                                                            Not for production environments.

                                                                                                                                                            Create a DNS entry for your Sysdig install using the fully qualified domain name that contains all the external IPs as A records. This will use DNS round-robin to load balance your clients to the Kubernetes cluster.

                                                                                                                                                            Prepare the Environment

                                                                                                                                                            The install images, scripts, and other files are located in a GitHub repository:https://github.com/draios/sysdigcloud-kubernetes

                                                                                                                                                            Step 1 Configure Backend Components

                                                                                                                                                            The ConfigMap (config.yaml) is populated with information about usernames, passwords, SSL certs, and various application-specific settings.

                                                                                                                                                            The steps below give the minimum edits that should be performed in a test environment.

                                                                                                                                                            It is necessary to review and customize the entries in config.yaml before launching in a production environment.

                                                                                                                                                            See To Make Configuration Changes for the kubectl format to use for post-install edits, such as adding third-party authenticators like LDAP.

                                                                                                                                                            If you are not installing Sysdig Secure, set the following attributes to false in the config.yaml:

                                                                                                                                                            • nats.enabled: “false”

                                                                                                                                                            • nats.forward.enabled: "false"

                                                                                                                                                            1. Add your license key:

                                                                                                                                                              In config.yaml, enter the key that was emailed to you in the following parameter:

                                                                                                                                                              # Required: Sysdig Cloud license
                                                                                                                                                                sysdigcloud.license: "
                                                                                                                                                              
                                                                                                                                                            2. Change the super admin name and password, which are the super admin credentials for the entire system. See here for details.

                                                                                                                                                              Find the settings in config.yaml here:

                                                                                                                                                                sysdigcloud.default.user: test@sysdig.com
                                                                                                                                                                # Required: Sysdig Cloud super admin user password
                                                                                                                                                                # NOTE: Change upon first login
                                                                                                                                                                sysdigcloud.default.user.password: test
                                                                                                                                                              
                                                                                                                                                            3. Change the mysql.password from change_me to desired credentials.

                                                                                                                                                              mysql.password: change_me
                                                                                                                                                                # Required: Cassandra endpoint DNS/IP. If Cassandra is deployed as a
                                                                                                                                                                  Kubernetes service, this will be the service name.
                                                                                                                                                                # If using an external database, put the proper address (the address of a
                                                                                                                                                                  single node will be sufficient)
                                                                                                                                                              
                                                                                                                                                            4. **Edit the collector endpoint and api-url:**Change the defaults (sysdigcloud-collector and sysdigcloud-api:443) to point to the DNS name you have established for Sysdig.

                                                                                                                                                              Note: The collector port should remain 6443.

                                                                                                                                                              collector.endpoint: <DNS_NAME>
                                                                                                                                                              collector.port: "6443"
                                                                                                                                                              api.url: https://<DNS_NAME>:443
                                                                                                                                                              
                                                                                                                                                            5. Recommended: edit the file to set the JVM options for Cassandra, Elasticsearch, and API, worker, and collector as well.

                                                                                                                                                              (To use the AWS implicit key, edit the JVM options as described in AWS: Integrate AWS Account and CloudWatch Metrics (Optional).)

                                                                                                                                                              For installations over 100 agents, it is recommended to allocate 8 GB per JVM.

                                                                                                                                                                cassandra.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                                elasticsearch.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.api.options: "-Xms8G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.worker.options: "-Xms8G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.collector.options: "-Xms8G -Xmx8G"
                                                                                                                                                              

                                                                                                                                                              Note: If you do not wish to use SSL between the agent and the collector, use the following settings instead:

                                                                                                                                                              cassandra.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                              elasticsearch.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                              sysdigcloud.jvm.api.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              sysdigcloud.jvm.worker.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              sysdigcloud.jvm.collector.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              

                                                                                                                                                              See also: Step 5: Set Up SSL Connectivity to the Backend.

                                                                                                                                                            6. Optional: Change ElasticSearch container setting to non-privileged.

                                                                                                                                                              See Consider Elasticsearch Default Privileges, above.

                                                                                                                                                              To change the default setting, edit the file elasticsearch-statefulset.yaml and set privileged: false.

                                                                                                                                                              containers:
                                                                                                                                                                      - name: elasticsearch
                                                                                                                                                                        image: quay.io/sysdig/elasticsearch:5.6.16.15
                                                                                                                                                                        securityContext:
                                                                                                                                                                          privileged: false
                                                                                                                                                              
                                                                                                                                                            7. Deploy the configuration map and secrets for all services by running the commands:

                                                                                                                                                              For Sysdig Monitor:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/config.yaml
                                                                                                                                                              

                                                                                                                                                              To add Sysdig Secure:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/scanning-secrets.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-secrets.yaml
                                                                                                                                                              

                                                                                                                                                              Apply the secret for the policy advisor:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/policy-advisor-secret.yaml
                                                                                                                                                              
                                                                                                                                                            8. Configure DNS name in api-ingress.yaml (or api-ingress-with-secure.yaml if using Secure). (Files located in sysdigcloud/)

                                                                                                                                                              Edit: host: <EXTERNAL-DNS-NAME> to suit your DNS name

                                                                                                                                                            9. Define namespace in ingress-clusterrolebinding.yaml. (File located in sysdigcloud/ingress_controller/) Edit namespace: sysdigcloud

                                                                                                                                                            Step 2 Add Storage Class to Manifests

                                                                                                                                                            Using either the existing storage class name from step 1, or the storage class name defined in the previous step, edit the storageClassName in the following .yaml files:

                                                                                                                                                            For Monitor:

                                                                                                                                                            datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                            datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                            datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            With Secure:

                                                                                                                                                            datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                            

                                                                                                                                                            Step 3 (Secure-Only): Edit mysql-deployment yaml

                                                                                                                                                            If using Sysdig Secure:

                                                                                                                                                            Edit the MySQL deployment to uncomment the MYSQL_EXTRADB_* environment variables.

                                                                                                                                                            This forces MySQL to create the necessary scanning database on startup.

                                                                                                                                                            File location: datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml

                                                                                                                                                             - name: MYSQL_EXTRADB_SCANNING_DBNAME
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            configMapKeyRef:
                                                                                                                                                                              name: sysdigcloud-config
                                                                                                                                                                              key: scanning.mysql.dbname
                                                                                                                                                                        - name: MYSQL_EXTRADB_SCANNING_USER
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            configMapKeyRef:
                                                                                                                                                                              name: sysdigcloud-config
                                                                                                                                                                              key: scanning.mysql.user
                                                                                                                                                                        - name: MYSQL_EXTRADB_SCANNING_PASSWORD
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            secretKeyRef:
                                                                                                                                                                              name: sysdigcloud-scanning
                                                                                                                                                                              key: scanning.mysql.password
                                                                                                                                                            

                                                                                                                                                            The scanning service will not start unless MySQL creates the scanning database.

                                                                                                                                                            Step 4 Deploy Your Quay Pull Secret

                                                                                                                                                            A specific Quay pull secret is sent via email with your license key.

                                                                                                                                                            1. Edit the file sysdigcloud/pull-secret.yaml and change the place holder <PULL_SECRET> with the provided pull secret.

                                                                                                                                                            2. Deploy the pull secret object:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/pull-secret.yaml
                                                                                                                                                              

                                                                                                                                                            Step 5 Set Up SSL Connectivity to the Backend

                                                                                                                                                            SSL-secured communication is used between user browsers and the Sysdig API server(s), and between the Sysdig agent and the collectors.

                                                                                                                                                            To set this up, you must:

                                                                                                                                                            • Use existing standard certs for API and collector, or

                                                                                                                                                            • Create self-signed certificates and keys for API and collector

                                                                                                                                                            To Disable SSL between Agent and Collector

                                                                                                                                                            To disable SSL between agents and collectors, set JVM options when configuring backend components.

                                                                                                                                                            To Create Self-Signed Certs

                                                                                                                                                            Run these commands (edit to add your API_DNS_NAME and COLLECTOR_DNS_NAME):

                                                                                                                                                            openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=US/ST=CA/L=SanFrancisco/O=ICT/CN=<API_DNS_NAME>" -keyout server.key -out server.crt
                                                                                                                                                            openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=US/ST=CA/L=SanFrancisco/O=ICT/CN=<COLLECTOR_DNS_NAME>" -keyout collector.key -out collector.crt
                                                                                                                                                            

                                                                                                                                                            To Create Kubernetes Secrets

                                                                                                                                                            This uses two different certificates, one for the API/UI, and one for the collector.

                                                                                                                                                            kubectl -n sysdigcloud create secret tls sysdigcloud-ssl-secret --cert=server.crt --key=server.key
                                                                                                                                                            kubectl -n sysdigcloud create secret tls sysdigcloud-ssl-secret-collector --cert=collector.crt --key=collector.key
                                                                                                                                                            

                                                                                                                                                            Step 6 (Optional) Use CA Certs for External SSL Connection

                                                                                                                                                            The Sysdig platform may sometimes open connections over SSL to certain external services, including:

                                                                                                                                                            • LDAP over SSL

                                                                                                                                                            • SAML over SSL

                                                                                                                                                            • OpenID Connect over SSL

                                                                                                                                                            • HTTPS Proxies

                                                                                                                                                            If the signing authorities for the certificates presented by these services are not well-known to the Sysdig Platform (e.g., if you maintain your own Certificate Authority), they are not trusted by default.

                                                                                                                                                            To allow the Sysdig platform to trust these certificates, use the command below to upload one or more PEM-format CA certificates. You must ensure you’ve uploaded all certificates in the CA approval chain to the root CA.

                                                                                                                                                            kubectl -n sysdigcloud create secret generic sysdigcloud-java-certs --from-file=certs1.crt --from-file=certs2.crt
                                                                                                                                                            

                                                                                                                                                            Install Components

                                                                                                                                                            Install Datastores and Backend Components

                                                                                                                                                            For Sysdig Monitor:

                                                                                                                                                            1. Create the datastore statefulsets for Elasticsearch and Cassandra. Elasticsearch and Cassandra are automatically set up with --replica=3 generating full clusters.

                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                              
                                                                                                                                                            2. Wait for those processes to be running, then create the database and caching systems: MySQL, and Redis.

                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/redis/redis-deployment.yaml
                                                                                                                                                              

                                                                                                                                                              To add Sysdig Secure: Create the PostgreSQL database:

                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                              
                                                                                                                                                            3. Wait until datastore pods are in ready state:

                                                                                                                                                              Run the command:

                                                                                                                                                              kubectl -n sysdigcloud get pods
                                                                                                                                                              

                                                                                                                                                              Then look in the READY column to ensure all pods are ready. For example, displaying a 1/1 means 1 of 1 pods is ready

                                                                                                                                                            4. Apply the NATS service and deployment to deliver events to Sysdig backend components:

                                                                                                                                                              kubectl -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f  datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-service.yaml
                                                                                                                                                              
                                                                                                                                                            5. Apply the API deployment. Pause until all containers in the API pod are running, then apply the collector and worker deployments.

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/api-deployment.yaml
                                                                                                                                                              
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/collector-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/worker-deployment.yaml
                                                                                                                                                              
                                                                                                                                                            6. Create the service for the API and collector:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/api-headless-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/collector-headless-service.yaml
                                                                                                                                                              
                                                                                                                                                            7. Sysdig Secure only Create anchore-engine deployments and service (used in scanning):

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-core-config.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-core-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-worker-config.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-worker-deployment.yaml
                                                                                                                                                              

                                                                                                                                                              Wait 60 seconds to ensure the Anchore components are up and running. Then deploy custom Sysdig Secure scanning components:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/scanning-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/scanning-api-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/scanning-alertmgr-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/scanning-alertmgr-deployment.yaml
                                                                                                                                                              
                                                                                                                                                            8. Sysdig Secure only Create services, deployments, and a janitor job for the activity audit and policy advisor features:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/policy-advisor-service.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/activity-audit-api-service.yaml
                                                                                                                                                              
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/activity-audit-api-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/policy-advisor-deployment.yaml
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/activity-audit-worker-deployment.yaml
                                                                                                                                                              
                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/activity-audit-janitor-cronjob.yaml
                                                                                                                                                              

                                                                                                                                                            Connecting to the Cluster

                                                                                                                                                            Add Cluster-Admin to User (GKE/GCloud Only)

                                                                                                                                                            kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user $(gcloud config get-value account)
                                                                                                                                                            

                                                                                                                                                            Add Ingress Controller

                                                                                                                                                            For Sysdig Monitor:

                                                                                                                                                            To permit incoming connections to the Sysdig API and collector, deploy the following ingress yamls.

                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-clusterrole.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-clusterrolebinding.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-role.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-rolebinding.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-serviceaccount.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/default-backend-service.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/default-backend-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-configmap.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-tcp-services-configmap.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/ingress_controller/ingress-daemonset.yaml
                                                                                                                                                            

                                                                                                                                                            If NOT using Sysdig Secure, then apply the following ingress.yaml:

                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/api-ingress.yaml
                                                                                                                                                            

                                                                                                                                                            For Sysdig Secure:

                                                                                                                                                            If you ARE using Secure, replace the api-ingress.yaml with the following line:

                                                                                                                                                            kubectl -n sysdigcloud apply -f sysdigcloud/api-ingress-with-secure.yaml
                                                                                                                                                            

                                                                                                                                                            Install Complete

                                                                                                                                                            When the terminal messages indicate that installation was successfully completed:

                                                                                                                                                            • Point your browser to https://API_DNS_NAME.

                                                                                                                                                              You will be prompted to log in with the Admin credentials you set in Step 2 Configure Backend Components.

                                                                                                                                                            • Log in as Super Admin.

                                                                                                                                                              The Welcome Wizard is launched and prompts you to install your first Sysdig agent.

                                                                                                                                                            • Install the agent(s).

                                                                                                                                                              The Welcome Wizard should be populated with install parameters from your environment (access key, collector name, and collector port). For example:

                                                                                                                                                              {docker run -d --name sysdig-agent --restart always --privileged --net host --pid host -e ACCESS_KEY=xxxxxxxxxx -e COLLECTOR=abc.us-west.elb.amazonaws.com -e COLLECTOR_PORT=6443 -e CHECK_CERTIFICATE=false -e TAGS=example_tag:example_value -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro --shm-size=350m sysdig/agent
                                                                                                                                                              

                                                                                                                                                            To Make Configuration Changes

                                                                                                                                                            Replace kubectl with oc for OpenShift.

                                                                                                                                                            Update the Config Map

                                                                                                                                                            There are two ways to change the original installation parameters in the config map: edit or overwrite.

                                                                                                                                                            • To edit the config map, run the following command:

                                                                                                                                                              kubectl edit configmap/sysdigcloud-config --namespace sysdigcloud
                                                                                                                                                              

                                                                                                                                                              A text editor is presented with the config map to be edited. Enter parameters as needed, then save and quit.

                                                                                                                                                              Then restart the config map (below).

                                                                                                                                                            • To overwrite the config map that is edited on the client-side, (e.g. to keep it synced in a git repository), use the following command:

                                                                                                                                                              kubectl replace -f sysdigcloud/config.yaml --namespace sysdigcloud
                                                                                                                                                              

                                                                                                                                                              Then restart the config map (below).

                                                                                                                                                            Restart Configmap

                                                                                                                                                            After updating the configmap, the Sysdig components must be restarted for the changed parameters to take effect. This can be done by forcing a rolling update of the deployments.

                                                                                                                                                            A possible way to do so is to change something innocuous, which forces a rolling update. E.g.:

                                                                                                                                                            kubectl -n sysdigcloud patch deployment [deploymnet] -p \
                                                                                                                                                             "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"$(date +'%s')\"}}}}}"
                                                                                                                                                            

                                                                                                                                                            Replace kubectl with oc for OpenShift.

                                                                                                                                                            5.2.3 -

                                                                                                                                                            Installer (Kubernetes | OpenShift) 2.5.0-3.2.2

                                                                                                                                                            For Sysdig installations on Kubernetes or OpenShift, version 2.5.0 and above.

                                                                                                                                                            The Sysdig Installer tool is a Docker image containing a collection of scripts that help automate the on-premises deployment of the Sysdig platform (Sysdig Monitor and/or Sysdig Secure), for environments using Kubernetes or OpenShift. Use the Installer to install or upgrade your Sysdig platform. It is recommended as a replacement for the earlier Kubernetes manual installation and upgrade procedures.

                                                                                                                                                            Installation Overview

                                                                                                                                                            To install, you will log in to quay.io, download a values.yaml file, provide a few basic parameters in it, and launch the Installer. In a normal installation, the rest is automatically configured and deployed.

                                                                                                                                                            You can perform a quick install if your environment has access to the internet, or a partial or full airgapped installation, as needed. Each is described below.

                                                                                                                                                            See Frequently Used Installer Configurations to:

                                                                                                                                                            • Customize or override settings

                                                                                                                                                            • Use hostPath for static storage of Sysdig components

                                                                                                                                                            • Use Kubernetes node labels and taints to run only Sysdig pods on selected nodes in a cluster

                                                                                                                                                            Prerequisites

                                                                                                                                                            The installer must be run from a machine with kubectl/oc configured with access to the target cluster where the Sysdig platform will be installed. Note that this cluster may be different than where the Sysdig agent will be deployed.

                                                                                                                                                            Requirements for Installation Machine with Internet Access

                                                                                                                                                            • Network access to Kubernetes cluster

                                                                                                                                                            • Docker

                                                                                                                                                            • Bash

                                                                                                                                                            • jq

                                                                                                                                                            • Network access to quay.io (See Docker Login to quay.io, below.)

                                                                                                                                                            • A domain name you are in control of.

                                                                                                                                                            Additional Requirements for Airgapped Environments

                                                                                                                                                            • Edited values.yaml with airgap registry details updated

                                                                                                                                                            • Network and authenticated access to the private registry

                                                                                                                                                            Access Requirements

                                                                                                                                                            • Sysdig license key (Monitor and/or Secure)

                                                                                                                                                            • Quay pull secret

                                                                                                                                                            Storage Requirements

                                                                                                                                                            You may use dynamic or static storage on a variety of platforms to store the Sysdig platform components (stateful sets). Different configuration parameters and values are used during the install, depending on which scenario you have.

                                                                                                                                                            Use Case 1: Default, undefined (AWS/GKE)

                                                                                                                                                            If you will use dynamic storage on AWS or GKE and haven’t configured any storage class there yet, then the Quick Install streamlines the process for you.

                                                                                                                                                            • storageclassProvisioner: Enter aws or gke. The installer will create the appropriate storage class and then use it for all the Sysdig platform stateful sets.

                                                                                                                                                            • storageclassName: Leave empty.

                                                                                                                                                            Use Case 2: Dynamic, predefined

                                                                                                                                                            It is also possible that you are using dynamic storage but have already created storage classes there. This dynamic storage could be AWS, GKE, or any other functioning dynamic storage you use.  In this case, you would enter: 

                                                                                                                                                            • storageclassProvisioner: Leave empty; anything put here would be ignored.

                                                                                                                                                            • storageclassName: Provide the name of the pre-configured storage class you want to use. The installer will use this storage class for all the Sysdig platform stateful sets.

                                                                                                                                                            Use Case 3: Static Storage

                                                                                                                                                            In cases where dynamic storage is not available, you can use static storage for the Sysdig stateful sets. In this case, you would use:

                                                                                                                                                            • storageclassProvisioner: Enter hostpath, then define the nodes for the four main Sysdig components: ElasticSearch, Cassandra, MySQL, and Postgres.storageclassProvisioner

                                                                                                                                                            • See Frequently Used Installer Configurations for details.

                                                                                                                                                            Docker Login to quay.io

                                                                                                                                                            1. Retrieve the Quay username and password from Quay pull secret.

                                                                                                                                                              For example

                                                                                                                                                              AUTH=$(echo <REPLACE_WITH_quaypullsecret> | base64 --decode | jq -r '.auths."quay.io".auth'| base64 --decode)
                                                                                                                                                              QUAY_USERNAME=${AUTH%:*}
                                                                                                                                                              QUAY_PASSWORD=${AUTH#*:}
                                                                                                                                                              
                                                                                                                                                            2. **Log in to quay.io.**Use the username and password retrieved above.

                                                                                                                                                              docker login -u "$QUAY_USERNAME" -p "$QUAY_PASSWORD" quay.io
                                                                                                                                                              

                                                                                                                                                            Quickstart Install

                                                                                                                                                            This install assumes the Kubernetes cluster has network access to pull images from quay.io.

                                                                                                                                                            1. Copy the current version values.yaml to your working directory.

                                                                                                                                                              wget https://raw.githubusercontent.com/draios/sysdigcloud-kubernetes/installer/installer/values.yaml
                                                                                                                                                              

                                                                                                                                                              If you will be editing for an OpenShift installation and want to review a sample, see openshift-with-hostpath values.yaml.

                                                                                                                                                            2. Edit the following values:

                                                                                                                                                              • size: Specifies the size of the cluster. Size defines CPU, Memory, Disk, and Replicas. Valid options are: small, medium and large

                                                                                                                                                              • quaypullsecret: quay.io provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • storageClassProvisioner: Review Storage Requirements, above.

                                                                                                                                                                If you have the default use case, enter aws or gke in the storageClassProvisioner field. Otherwise, refer to Use Case 2 or 3.

                                                                                                                                                              • sysdig.license: Sysdig license key provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • sysdig.dnsname: The domain name the Sysdig APIs will be served on. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • sysdig.collector.dnsName: (OpenShift installs only) Domain name the Sysdig collector will be served on. When not configured it defaults to whatever is configured for sysdig.dnsName. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • deployment: (OpenShift installs only) Add deployment: openshift to the root of the values.yaml file.

                                                                                                                                                              • sysdig.ingressNetworking: The networking construct used to expose the Sysdig API and collector.Options are:

                                                                                                                                                                • hostnetwork: sets the hostnetworking in the ingress daemonset and opens host ports for api and collector. This does not create a Kubernetes service.

                                                                                                                                                                • loadbalancer: creates a service of type loadbalancer and expects that your Kubernetes cluster can provision a load balancer with your cloud provider.

                                                                                                                                                                • nodeport: creates a service of type nodeport.The node ports can be customized with:

                                                                                                                                                                  sysdig.ingressNetworkingInsecureApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingCollectorNodePort

                                                                                                                                                                  When not configured, sysdig.ingressNetworking defaults to hostnetwork.

                                                                                                                                                                If doing an airgapped install , you would also edit the following values:

                                                                                                                                                              • airgapped_registry_name: The URL of the airgapped (internal) docker registry. This URL is used for installations where the Kubernetes cluster can not pull images directly from Quay

                                                                                                                                                              • airgapped_repository_prefix: This defines custom repository prefix for airgapped_registry. Tags and pushes images as airgapped_registry_name/airgapped_repository_prefix/image_name:tag

                                                                                                                                                              • airgapped_registry_password: The password for the configured airgapped_registry_username. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                              • airgapped_registry_username: The username for the configured airgapped_registry_name. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                            3. Run the installer. (This step differs in Airgapped Installation, below.)

                                                                                                                                                              docker run \
                                                                                                                                                                -e HOST_USER=$(id -u) \
                                                                                                                                                                -e KUBECONFIG=/.kube/config \
                                                                                                                                                                -v ~/.kube:/.kube:Z \
                                                                                                                                                                -v $(pwd):/manifests:Z \
                                                                                                                                                                quay.io/sysdig/installer:
                                                                                                                                                              
                                                                                                                                                            4. See Output (below) to finish.

                                                                                                                                                            Save the values.yaml file in a secure location; it will be used for future upgrades.

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files that were applied by the Installer against your cluster. It is not necessary to keep the generated directory, as the Installer can regenerate it consistently with the same values.yaml file.

                                                                                                                                                            Airgapped Installation Options

                                                                                                                                                            The installer can be used to install in airgapped environments, either with a multi-homed installation machine that has internet access, or in an environment with no internet access.

                                                                                                                                                            Updating Vulnerability Feed in Airgapped Environments

                                                                                                                                                            NOTE: Sysdig Secure users who install in an airgapped environment do not have internet access to the continuous checks of vulnerability databases that are used in image scanning. (See also: How Sysdig Image Scanning Works.)

                                                                                                                                                            As of installer version 3.2.0-9, airgapped environments can also receive periodic vulnerability database updates.

                                                                                                                                                            When you install with the “airgapped_” parameters enabled (see Full Airgap Install instructions), the installer will automatically push the latest vulnerability database to your environment. Follow the steps below to reinstall/refresh the vuln db, or use the script and chron job to schedule automated updates (daily, weekly, etc.).

                                                                                                                                                            To automatically update the vulnerability database, you can:

                                                                                                                                                            1. Download the image file quay.io/sysdig/vuln-feed-database:latest from the Sysdig registry to the jump box server and save it locally.

                                                                                                                                                            2. Move the file from the jump box server to the airgapped environment (if needed)

                                                                                                                                                            3. Load the image file and push it to the airgapped image registry.

                                                                                                                                                            4. Restart the pod sysdigcloud-feeds-db

                                                                                                                                                            5. Restart the pod feeds-api

                                                                                                                                                            The following script (feeds_database_update.sh) performs the five steps:

                                                                                                                                                            #!/bin/bash
                                                                                                                                                            QUAY_USERNAME="<change_me>"
                                                                                                                                                            QUAY_PASSWORD="<change_me>"
                                                                                                                                                            
                                                                                                                                                            # Download image
                                                                                                                                                            docker login quay.io/sysdig -u ${QUAY_USERNAME} -p ${QUAY_PASSWORD}
                                                                                                                                                            docker image pull quay.io/sysdig/vuln-feed-database:latest
                                                                                                                                                            # Save image
                                                                                                                                                            docker image save quay.io/sysdig/vuln-feed-database:latest -o vuln-feed-database.tar
                                                                                                                                                            # Optionally move image
                                                                                                                                                            mv vuln-feed-database.tar /var/shared-folder
                                                                                                                                                            # Load image remotely
                                                                                                                                                            ssh -t user@airgapped-host "docker image load -i /var/shared-folder/vuln-feed-database.tar"
                                                                                                                                                            # Push image remotely
                                                                                                                                                            ssh -t user@airgapped-host "docker tag vuln-feed-database:latest airgapped-registry/vuln-feed-database:latest"
                                                                                                                                                            ssh -t user@airgapped-host "docker image push airgapped-registry/vuln-feed-database:latest"
                                                                                                                                                            # Restart database pod
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-db --replicas=0"
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-db --replicas=1"
                                                                                                                                                            # Restart feeds-api pod
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-api --replicas=0"
                                                                                                                                                            ssh -t user@airgapped-host "kubectl -n sysdigcloud scale deploy sysdigcloud-feeds-api --replicas=1"
                                                                                                                                                            

                                                                                                                                                            Schedule a chron job to run the script on a chosen schedule (e.g. every day):

                                                                                                                                                            0 8 * * * feeds-database-update.sh >/dev/null 2>&1
                                                                                                                                                            

                                                                                                                                                            Airgapped with Multi-Homed Installation Machine

                                                                                                                                                            This assumes a private docker registry is used and the installation machine has network access to pull from quay.io and push images to the private registry.

                                                                                                                                                            The Prerequisites and workflow are the same as in the Quickstart Install (above) with the following exceptions:

                                                                                                                                                            • In step 2, add the airgap registry information

                                                                                                                                                            • In step 3, run the installer as follows:

                                                                                                                                                              docker run \
                                                                                                                                                                -e HOST_USER=$(id -u) \
                                                                                                                                                                -e KUBECONFIG=/.kube/config \
                                                                                                                                                                -e IMAGE_EXTRACT_PUSH=true \
                                                                                                                                                                -v ~/.kube:/.kube:Z \
                                                                                                                                                                -v $(pwd):/manifests:Z \
                                                                                                                                                                -v /var/run/docker.sock:/var/run/docker.sock:Z \
                                                                                                                                                                -v ~/.docker:/root/docker:Z \
                                                                                                                                                                quay.io/sysdig/installer:
                                                                                                                                                              

                                                                                                                                                            Full Airgap Install

                                                                                                                                                            This assumes a private docker registry is used and the installation machine does not have network access to pull from quay.io, but can push images to the private registry.

                                                                                                                                                            In this situation, a machine with network access (called the “jump machine”) will pull an image containing a self-extracting tarball which can be copied to the installation machine.

                                                                                                                                                            Requirements for jump machine

                                                                                                                                                            • Network access to quay.io

                                                                                                                                                            • Docker

                                                                                                                                                            • jq

                                                                                                                                                            Requirements for installation machine

                                                                                                                                                            • Network access to Kubernetes cluster

                                                                                                                                                            • Docker

                                                                                                                                                            • Bash

                                                                                                                                                            • tar

                                                                                                                                                            • Network and authenticated access to the private registry

                                                                                                                                                            • Edited values.yaml with airgap registry details updated

                                                                                                                                                            • Host Disk Space Requirements:/tmp > 4 GB; directory from which the installer is run >8GB; and /var/lib/docker > 4GB.

                                                                                                                                                              NOTE: The environment variable TMPDIR can be used to override the /tmp directory.

                                                                                                                                                            Workflow

                                                                                                                                                            On the Jump Machine

                                                                                                                                                            1. Follow the Docker Log In to quay.io steps.

                                                                                                                                                            2. Pull the image containing the self-extracting tar:

                                                                                                                                                              docker pull quay.io/sysdig/installer:-uber
                                                                                                                                                              
                                                                                                                                                            3. Extract the tarball:

                                                                                                                                                              docker create --name uber_image quay.io/sysdig/installer:-uber
                                                                                                                                                              docker cp uber_image:/sysdig_installer.tar.gz .
                                                                                                                                                              docker rm uber_image
                                                                                                                                                              
                                                                                                                                                            4. Copy the tarball to the installation machine.

                                                                                                                                                            On the Installation Machine:

                                                                                                                                                            1. Copy the current version values.yaml to your working directory.

                                                                                                                                                              wget https://raw.githubusercontent.com/draios/sysdigcloud-kubernetes/installer/installer/values.yaml
                                                                                                                                                              
                                                                                                                                                            2. Edit the following values:

                                                                                                                                                              • size: Specifies the size of the cluster. Size defines CPU, Memory, Disk, and Replicas. Valid options are: small, medium and large

                                                                                                                                                              • quaypullsecret: quay.io provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • storageClassProvisioner: Review Storage Requirements, above.

                                                                                                                                                                If you have the default use case, enter aws or gke in the storageClassProvisioner field. Otherwise, refer to Use Case 2 or 3.

                                                                                                                                                              • sysdig.license: Sysdig license key provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • sysdig.dnsname: The domain name the Sysdig APIs will be served on. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • sysdig.collector.dnsName: (OpenShift installs only) Domain name the Sysdig collector will be served on. When not configured it defaults to whatever is configured for sysdig.dnsName. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • deployment: (OpenShift installs only) Add deployment: openshift to the root of the values.yaml file.

                                                                                                                                                              • sysdig.ingressNetworking: The networking construct used to expose the Sysdig API and collector.Options are:

                                                                                                                                                                • hostnetwork: sets the hostnetworking in the ingress daemonset and opens host ports for api and collector. This does not create a Kubernetes service.

                                                                                                                                                                • loadbalancer: creates a service of type loadbalancer and expects that your Kubernetes cluster can provision a load balancer with your cloud provider.

                                                                                                                                                                • nodeport: creates a service of type nodeport.The node ports can be customized with:

                                                                                                                                                                  sysdig.ingressNetworkingInsecureApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingCollectorNodePort

                                                                                                                                                              • airgapped_registry_name: The URL of the airgapped (internal) docker registry. This URL is used for installations where the Kubernetes cluster can not pull images directly from Quay

                                                                                                                                                              • airgapped_repository_prefix: This defines custom repository prefix for airgapped_registry. Tags and pushes images as airgapped_registry_name/airgapped_repository_prefix/image_name:tag

                                                                                                                                                              • airgapped_registry_password: The password for the configured airgapped_registry_username. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                              • airgapped_registry_username: The username for the configured airgapped_registry_name. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                            3. Copy the tarball file to the directory where you have your values.yaml file.

                                                                                                                                                            4. Run the tar file:

                                                                                                                                                              bash sysdig_installer.tar.gz

                                                                                                                                                              NOTE: The above step extracts images, runs the installer, and pushes images to the remote repository in a single step. The extract/push images can be redundant for successive installer runs. Setting IMAGE_EXTRACT_PUSH=false runs only the installer:

                                                                                                                                                              IMAGE_EXTRACT_PUSH=false bash sysdig_installer.tar.gz

                                                                                                                                                            5. See Output (below) to finish.

                                                                                                                                                            Save the values.yaml file in a secure location; it will be used for future upgrades.

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files that were applied by the Installer against your cluster. It is not necessary to keep the generated directory, as the Installer can regenerate it consistently with the same values.yaml file.

                                                                                                                                                            Output

                                                                                                                                                            A successful installation should display output in the terminal such as:

                                                                                                                                                            All Pods Ready.....Continuing
                                                                                                                                                            Congratulations, your Sysdig installation was successful!
                                                                                                                                                            You can now login to the UI at "https://awesome-domain.com:443" with:
                                                                                                                                                            
                                                                                                                                                            username: "configured-username@awesome-domain.com"
                                                                                                                                                            password: "awesome-password"
                                                                                                                                                            

                                                                                                                                                            There will also be a generated directory containing various Kubernetes configuration yaml files which were applied by installer against your cluster. It is not necessary to keep the generated directory, as the installer can regenerate consistently with the same values.yaml file.

                                                                                                                                                            Additional Installer Resources

                                                                                                                                                            5.2.4 -

                                                                                                                                                            Manual Install (OpenShift)

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            As of Sysdig Platform v 2.5.0, a semi-automated install option is available and is preferred.

                                                                                                                                                            This section describes how to install the backend components of the Sysdig platform using an existing OpenShift cluster. It applies to backend versions 1929 and higher.

                                                                                                                                                            Introduction

                                                                                                                                                            The Sysdig platform includes both Sysdig Monitor and Sysdig Secure, which are licensed separately. All installations include Sysdig Monitor, while some of the Secure components are installed and configured as additional steps within the overall installation process. When installing the Sysdig platform on OpenShift manually, you will install each backend component with separate oc commands.

                                                                                                                                                            Prerequisites

                                                                                                                                                            Overview

                                                                                                                                                            • Access to a running OpenShift 3.11+ instance

                                                                                                                                                            • Two items from your Sysdig purchase-confirmation email:

                                                                                                                                                              • Your Sysdig license key

                                                                                                                                                              • Your Sysdig quay.io pull secret

                                                                                                                                                            • octools installed on your machine and communicating with the OpenShift cluster. (Note that your oc and OpenShift versions should match to avoid errors.)

                                                                                                                                                            DNS Preparation

                                                                                                                                                            If you want more information on OpenShift’s DNS requirements; see the OpenShift documentation.

                                                                                                                                                            • Option 1: DNS without Wildcard

                                                                                                                                                              You need to request two different DNS records from your DNS team: one for the Sysdig API/UI and another for the Sysdig collector. These records should point to your infrastructure nodes and are the two routes that will be exposed, i.e., sysdig.api.example.com and sysdig.collector.example.com.

                                                                                                                                                            • Option 2: DNS with Wildcard

                                                                                                                                                              With wildcard DNS, you do not have to make an official request from the DNS team. Your implementation team can pick any two DNS names to use for the API/UI and Collector. These will be exposed to the infrastructure nodes once the configuration is completed. (i.e. sysdig.api.example.com and sysdig.collector.example.com.)

                                                                                                                                                            SSL Certificate Preparation

                                                                                                                                                            Step 5: Set Up SSL Connectivity to the Backend discusses how to implement SSL; decide ahead of time whether you will use SSL with wildcard or without.

                                                                                                                                                            • SSL with Wildcard

                                                                                                                                                              With wildcard SSL, you use the same certificate for both the API and the collector.

                                                                                                                                                            • SSL without Wildcard

                                                                                                                                                              You need two SSL certs, one for each DNS record.

                                                                                                                                                            Consider Elasticsearch Default Privileges

                                                                                                                                                            By default, the Elasticsearch container will be installed in privileged (root-access) mode. This mode is only needed so the container can reconfigure the hosts' Linux file descriptors if necessary. See Elasticsearch’s description here.

                                                                                                                                                            If you prefer not to allow Elasticsearch to run with root access to the host, you will need to:

                                                                                                                                                            1. Set your own file descriptors on all Linux hosts in the Kubernetes cluster.

                                                                                                                                                              If one host were to go down, Kubernetes could choose a different node for Elasticsearch, so each Linux host must have the file descriptors set.

                                                                                                                                                            2. Set privileged:false in the elasticsearch-statefulset.yaml file.

                                                                                                                                                              See the step under Coonfigure Backend Components, below, for details.

                                                                                                                                                            Prepare the Environment

                                                                                                                                                            Step 1 Download and Unpack the Latest Release

                                                                                                                                                            1. Download the latest release from https://github.com/draios/sysdigcloud-kubernetes/releases/latest

                                                                                                                                                            2. Unpack the .tar ball.

                                                                                                                                                              The source link has the format: https://github.com/draios/sysdigcloud-kubernetes/archive/<v1234>.tar.gz. To unpack it, run the following commands (replacing version number as appropriate):

                                                                                                                                                              wget https://github.com/draios/sysdigcloud-kubernetes/archive/<v1234>.tar.gz
                                                                                                                                                              tar zxf <1234>.tar.gz
                                                                                                                                                              cd sysdigcloud-kubernetes-<1234>
                                                                                                                                                              
                                                                                                                                                            3. Create a new project called sysdigcloud and copy the cloned folders into it:

                                                                                                                                                              oc new-project sysdigcloud
                                                                                                                                                              
                                                                                                                                                            4. Apply the correct security contexts to the namespace. (This allows you to run privileged containers in the sysdigcloud namespace)

                                                                                                                                                              oc adm policy add-scc-to-user anyuid -n sysdigcloud -z default
                                                                                                                                                              oc adm policy add-scc-to-user privileged -n sysdigcloud -z default
                                                                                                                                                              

                                                                                                                                                            Step 2: Configure Backend Components

                                                                                                                                                            The ConfigMap (config.yaml) is populated with information about usernames, passwords, SSL certs, and various application-specific settings.

                                                                                                                                                            The steps below give the minimum edits that should be performed in a test environment.

                                                                                                                                                            It is necessary to review and customize the entries in config.yaml before launching in a production environment.

                                                                                                                                                            See Making Configuration Changes, below, for the oc format to use for post-install edits, such as adding 3rd-party authenticators such as LDAP.

                                                                                                                                                            1. Add your license key:

                                                                                                                                                              In config.yaml, enter the key that was emailed to you in the following parameter:

                                                                                                                                                              # Required: Sysdig Cloud license
                                                                                                                                                                sysdigcloud.license: ""
                                                                                                                                                              
                                                                                                                                                            2. Change the super admin name and password, which are the super admin credentials for the entire system. See here for details.

                                                                                                                                                              Find the settings in config.yaml here:

                                                                                                                                                               sysdigcloud.default.user: test@sysdig.com
                                                                                                                                                                # Required: Sysdig Cloud super admin user password
                                                                                                                                                                # NOTE: Change upon first login
                                                                                                                                                                sysdigcloud.default.user.password: test
                                                                                                                                                              
                                                                                                                                                            3. **Edit the collector endpoint and API URL:**Change the placeholder to point to the DNS names you have established for Sysdig.

                                                                                                                                                              Remember that you must have defined one name for the collector and another for the API URL.

                                                                                                                                                              Note: Change the collector port to 443.

                                                                                                                                                              collector.endpoint: <COLLECTOR_DNS_NAME>
                                                                                                                                                              collector.port: "443"
                                                                                                                                                              api.url: https://<API_DNS_NAME>:443
                                                                                                                                                              
                                                                                                                                                            4. Recommended: edit the file to set the JVM options for Cassandra, Elasticsearch, and API, worker, and collector as well.

                                                                                                                                                              (To use the AWS implicit key, edit the JVM options as described in AWS: Integrate AWS Account and CloudWatch Metrics (Optional).)

                                                                                                                                                              For installations over 100 agents, it is recommended to allocate 8 GB of heap per JVM.

                                                                                                                                                                cassandra.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                                elasticsearch.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.api.options: "-Xms4G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.worker.options: "-Xms4G -Xmx8G"
                                                                                                                                                                sysdigcloud.jvm.collector.options: "-Xms4G -Xmx8G"
                                                                                                                                                              

                                                                                                                                                              Note: If you do not wish to use SSL between the agent and the collector, use the following settings instead:

                                                                                                                                                              cassandra.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                              elasticsearch.jvm.options: "-Xms8G -Xmx8G"
                                                                                                                                                              sysdigcloud.jvm.api.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              sysdigcloud.jvm.worker.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              sysdigcloud.jvm.collector.options: "-Xms8G -Xmx8G -Ddraios.agents.installParams.sslEnabled=false"
                                                                                                                                                              
                                                                                                                                                            5. Optional: Change ElasticSearch container setting to non-privileged.

                                                                                                                                                              See Consider Elasticsearch Default Privileges, above.

                                                                                                                                                              To change the default setting, edit the file elasticsearch-statefulset.yaml and set privileged: false.

                                                                                                                                                              containers:
                                                                                                                                                                      - name: elasticsearch
                                                                                                                                                                        image: quay.io/sysdig/elasticsearch:5.6.16.15
                                                                                                                                                                        securityContext:
                                                                                                                                                                          privileged: false
                                                                                                                                                              
                                                                                                                                                            6. Deploy the configuration maps and secrets for all services by running the commands:

                                                                                                                                                              For Sysdig Monitor:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/config.yaml
                                                                                                                                                              
                                                                                                                                                            7. **(Sysdig Secure only) Edit and apply secrets for Anchore and the scanning component:**Edit theyaml files:

                                                                                                                                                              scanning-secrets.yaml

                                                                                                                                                              stringData:
                                                                                                                                                                scanning.mysql.password: change_me
                                                                                                                                                              

                                                                                                                                                              anchore-secrets yaml

                                                                                                                                                              stringData:
                                                                                                                                                                anchore.admin.password: change_me
                                                                                                                                                                anchore.db.password: change_me
                                                                                                                                                              

                                                                                                                                                              policy-advisor-secret.yaml

                                                                                                                                                              stringData:
                                                                                                                                                                padvisor.mysql.password: change_me
                                                                                                                                                              

                                                                                                                                                              Then apply the files:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/scanning-secrets.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-secrets.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/policy-advisor-secret.yaml
                                                                                                                                                              
                                                                                                                                                            8. Edit the API DNS name in either api-ingress.yaml or api-ingress-with-secure.yaml (if using Secure).

                                                                                                                                                              The files are located in sysdigcloud/

                                                                                                                                                               spec:
                                                                                                                                                                 rules:
                                                                                                                                                                   - host: <API_DNS_NAME>
                                                                                                                                                              ...
                                                                                                                                                              
                                                                                                                                                               tls:
                                                                                                                                                                   - hosts:
                                                                                                                                                                       - <API_DNS_NAME>
                                                                                                                                                                     secretName: sysdigcloud-ssl-secret
                                                                                                                                                              
                                                                                                                                                            9. Edit the collector DNS name in the file openshift-collector-router.yaml. Use the collector DNS name you created in the Prerequisites.

                                                                                                                                                              The file is located in sysdigcloud/openshift/.

                                                                                                                                                              spec:
                                                                                                                                                                host: <COLLECTOR_DNS_NAME>
                                                                                                                                                              

                                                                                                                                                            Step 3 (Secure-Only): Edit mysql-deployment.yaml

                                                                                                                                                            If using Sysdig Secure :

                                                                                                                                                            Edit the MySQL deployment to uncomment the MYSQL_EXTRADB_* environment variables. This forces MySQL to create the necessary scanning database on startup.

                                                                                                                                                            File location: datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml

                                                                                                                                                             - name: MYSQL_EXTRADB_SCANNING_DBNAME
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            configMapKeyRef:
                                                                                                                                                                              name: sysdigcloud-config
                                                                                                                                                                              key: scanning.mysql.dbname
                                                                                                                                                                        - name: MYSQL_EXTRADB_SCANNING_USER
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            configMapKeyRef:
                                                                                                                                                                              name: sysdigcloud-config
                                                                                                                                                                              key: scanning.mysql.user
                                                                                                                                                                        - name: MYSQL_EXTRADB_SCANNING_PASSWORD
                                                                                                                                                                          valueFrom:
                                                                                                                                                                            secretKeyRef:
                                                                                                                                                                              name: sysdigcloud-scanning
                                                                                                                                                                              key: scanning.mysql.password
                                                                                                                                                            

                                                                                                                                                            The scanning service will not start unless MySQL creates the scanning database.

                                                                                                                                                            Step 4: Deploy Your Quay Pull Secret

                                                                                                                                                            A specific Quay pull secret is sent via email with your license key.

                                                                                                                                                            1. Edit the file sysdigcloud/pull-secret.yaml and change the place holder <PULL_SECRET> with the provided pull secret.

                                                                                                                                                              vi sysdigcloud/pull-secret.yaml
                                                                                                                                                              
                                                                                                                                                                  ---
                                                                                                                                                                  apiVersion: v1
                                                                                                                                                                  kind: Secret
                                                                                                                                                                  metadata:
                                                                                                                                                                  name: sysdigcloud-pull-secret
                                                                                                                                                                  data:
                                                                                                                                                                  .dockerconfigjson: <PULL_SECRET>
                                                                                                                                                                  type: kubernetes.io/dockerconfigjson
                                                                                                                                                              
                                                                                                                                                            2. Deploy the pull secret object:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/pull-secret.yaml
                                                                                                                                                              

                                                                                                                                                            Step 5: Set Up SSL Connectivity to the Backend

                                                                                                                                                            SSL-secured communication is used between user browsers and the Sysdig API server(s), and between the Sysdig agent and the collectors.

                                                                                                                                                            To set this up, you must:

                                                                                                                                                            • Use an existing wildcard SSL certificate and key, or

                                                                                                                                                            • Use existing standard certs for API and collector, or

                                                                                                                                                            • Create self-signed certificates and keys for API and collector

                                                                                                                                                            If you are not using wildcard SSL, you have to use two separate certificates, one for API URL and one for the collector.

                                                                                                                                                            • To disable SSL between agent and collector:

                                                                                                                                                              To disable SSL between agent and collectors, you set a JVM option when configuring backend components (below).

                                                                                                                                                            • To create self-signed certs:

                                                                                                                                                              Run these commands (edit to add your API_DNS_NAME and COLLECTOR_DNS_NAME):

                                                                                                                                                              openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=US/ST=CA/L=SanFrancisco/O=ICT/CN=<API_DNS_NAME>" -keyout server.key -out server.crt
                                                                                                                                                              openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/C=US/ST=CA/L=SanFrancisco/O=ICT/CN=<COLLECTOR_DNS_NAME>" -keyout collector.key -out collector.crt
                                                                                                                                                              
                                                                                                                                                            • To use an existing wildcard cert:

                                                                                                                                                              Obtain the respective server.crt and server.key files.

                                                                                                                                                            To Create Kubernetes Secrets for the Certs

                                                                                                                                                            With Wildcard

                                                                                                                                                            Uses the same certificate for both the API/UI and the collector.

                                                                                                                                                            Run these commands:

                                                                                                                                                            oc -n sysdigcloud create secret tls sysdigcloud-ssl-secret --cert=server.crt --key=server.key
                                                                                                                                                            oc -n sysdigcloud create secret tls sysdigcloud-ssl-secret-collector --cert=server.crt --key=server.key
                                                                                                                                                            

                                                                                                                                                            Without Wildcard

                                                                                                                                                            Uses two different certificates, one for the API/UI, and one for the collector.

                                                                                                                                                            Run these commands:

                                                                                                                                                            oc -n sysdigcloud create secret tls sysdigcloud-ssl-secret --cert=server.crt --key=server.key
                                                                                                                                                            oc -n sysdigcloud create secret tls sysdigcloud-ssl-secret-collector --cert=collector.crt --key=collector.key
                                                                                                                                                            

                                                                                                                                                            Step 6: (Optional) Use CA Certs for External SSL Connections

                                                                                                                                                            The Sysdig platform may sometimes open connections over SSL to certain external services, including:

                                                                                                                                                            • LDAP over SSL

                                                                                                                                                            • SAML over SSL

                                                                                                                                                            • OpenID Connect over SSL

                                                                                                                                                            • HTTPS Proxies

                                                                                                                                                            If the signing authorities for the certificates presented by these services are not well-known to the Sysdig Platform (e.g., if you maintain your own Certificate Authority), they are not trusted by default.

                                                                                                                                                            To allow the Sysdig platform to trust these certificates, use the command below to upload one or more PEM-format CA certificates. You must ensure you’ve uploaded all certificates in the CA approval chain to the root CA.

                                                                                                                                                            oc -n sysdigcloud create secret generic sysdigcloud-java-certs --from-file=certs1.crt --from-file=certs2.crt
                                                                                                                                                            

                                                                                                                                                            Install Components (OpenShift)

                                                                                                                                                            Edit storageClassName Parameters

                                                                                                                                                            You need a storage class; step 2 shows how to create one if needed.

                                                                                                                                                            Enter the storageClassName in the appropriate .yaml files (see step 3).

                                                                                                                                                            1. Verify whether a storage class has been created, by running the command:

                                                                                                                                                              oc get storageclass
                                                                                                                                                              
                                                                                                                                                            2. If no storage class has been defined, create a manifest for one, and then deploy it.

                                                                                                                                                              For example, a manifest could be named sysdigcloud-storageclass.yaml and contain the following contents (for a storage class using GP2 volumes in AWS):

                                                                                                                                                              apiVersion: storage.k8s.io/v1
                                                                                                                                                              kind: StorageClass
                                                                                                                                                              metadata:
                                                                                                                                                                name: gp2
                                                                                                                                                                labels:
                                                                                                                                                                  kubernetes.io/cluster-service: "true"
                                                                                                                                                                  addonmanager.kubernetes.io/mode: EnsureExists
                                                                                                                                                              provisioner: kubernetes.io/aws-ebs
                                                                                                                                                              parameters:
                                                                                                                                                                type: gp2
                                                                                                                                                              

                                                                                                                                                              Now run the command:

                                                                                                                                                              oc apply -f sysdigcloud-storageclass.yaml
                                                                                                                                                              
                                                                                                                                                            3. Using either the existing storage class name from step 1, or the storage class name defined in step 2, edit the storageClassName in the following .yaml files:

                                                                                                                                                              For Monitor:

                                                                                                                                                              datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                              datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                              datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml
                                                                                                                                                              

                                                                                                                                                              With Secure:

                                                                                                                                                              datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                              

                                                                                                                                                              In each file, the code snippet looks the same:

                                                                                                                                                              volumeClaimTemplates:
                                                                                                                                                               - metadata:
                                                                                                                                                                   name: data
                                                                                                                                                                 spec:
                                                                                                                                                                   accessModes: ["ReadWriteOnce"]
                                                                                                                                                                   resources:
                                                                                                                                                                     requests:
                                                                                                                                                                       storage: 50Gi
                                                                                                                                                                   storageClassName: <STORAGECLASS_NAME>
                                                                                                                                                              

                                                                                                                                                            Install Datastores and Backend Components

                                                                                                                                                            For Sysdig Monitor

                                                                                                                                                            1. Create the datastore statefulsets for Elasticsearch and Cassandra. Elasticsearch and Cassandra are automatically set up with --replica=3 generating full clusters.

                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                              
                                                                                                                                                            2. Wait for those processes to be running, then create the MySQL and Redis databases:

                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/mysql/mysql-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/redis/redis-deployment.yaml
                                                                                                                                                              

                                                                                                                                                              To add Sysdig Secure: Create the PostgreSQL database:

                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                              
                                                                                                                                                            3. Wait until datastore pods are in ready state, then deploy the backend deployment sets (worker, collector, and API).

                                                                                                                                                              Run the command:

                                                                                                                                                              kubectl -n sysdigcloud get pods
                                                                                                                                                              

                                                                                                                                                              Then look in the READY column to ensure all pods are ready. For example, displaying a 1/1 means 1 of 1 pods is ready.

                                                                                                                                                            4. Apply the NATS service and deployment to deliver events to Sysdig backend components:

                                                                                                                                                              oc -n sysdigcloud apply -f datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f  datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-service.yaml
                                                                                                                                                              
                                                                                                                                                            5. Then deploy the backend deployment sets (worker, collector, and API). Pause for 60 seconds after creating the API deployment.

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/api-deployment.yaml
                                                                                                                                                              
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/openshift/openshift-collector-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/worker-deployment.yaml
                                                                                                                                                              
                                                                                                                                                            6. Create the service for the API and collector:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/api-headless-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/openshift/openshift-collector-service.yaml
                                                                                                                                                              
                                                                                                                                                            7. For Sysdig Secure Wait for the API, worker, and collector to come up before proceeding.

                                                                                                                                                              Then create anchore-engine deployments and service (used in scanning):

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-core-config.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-core-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-worker-config.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/anchore-worker-deployment.yaml
                                                                                                                                                              

                                                                                                                                                              Wait 60 seconds to ensure the core-deployment is in Running status, then deploy the rest of the Secure-related yamls:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/scanning-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/scanning-api-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/scanning-alertmgr-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/scanning-alertmgr-deployment.yaml
                                                                                                                                                              
                                                                                                                                                            8. Sysdig Secure only Create services, deployments, and a janitor job for the activity audit and policy advisor features:

                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/policy-advisor-service.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/activity-audit-api-service.yaml
                                                                                                                                                              
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/activity-audit-api-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/policy-advisor-deployment.yaml
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/activity-audit-worker-deployment.yaml
                                                                                                                                                              
                                                                                                                                                              oc -n sysdigcloud apply -f sysdigcloud/activity-audit-janitor-cronjob.yaml
                                                                                                                                                              

                                                                                                                                                            Configure Access for Connectivity to the Cluster

                                                                                                                                                            Apply the appropriate ingress yaml. (The API_DNS name was entered in step 7, in Step 2: Configure Backend Components This configures the route to the Sysdig UI.

                                                                                                                                                            For Sysdig Monitor

                                                                                                                                                            oc -n sysdigcloud apply -f sysdigcloud/api-ingress.yaml
                                                                                                                                                            

                                                                                                                                                            With Sysdig Secure:

                                                                                                                                                            oc -n sysdigcloud apply -f sysdigcloud/api-ingress-with-secure.yaml
                                                                                                                                                            

                                                                                                                                                            Configure connectivity to the collector for the agent:

                                                                                                                                                            oc -n sysdigcloud apply -f sysdigcloud/openshift/openshift-collector-router.yaml
                                                                                                                                                            

                                                                                                                                                            To Make Configuration Changes

                                                                                                                                                            Replace kubectl with oc for OpenShift.

                                                                                                                                                            Update the Config Map

                                                                                                                                                            There are two ways to change the original installation parameters in the config map: edit or overwrite.

                                                                                                                                                            • To edit the config map, run the following command:

                                                                                                                                                              kubectl edit configmap/sysdigcloud-config --namespace sysdigcloud
                                                                                                                                                              

                                                                                                                                                              A text editor is presented with the config map to be edited. Enter parameters as needed, then save and quit.

                                                                                                                                                              Then restart the config map (below).

                                                                                                                                                            • To overwrite the config map that is edited on the client-side, (e.g. to keep it synced in a git repository), use the following command:

                                                                                                                                                              kubectl replace -f sysdigcloud/config.yaml --namespace sysdigcloud
                                                                                                                                                              

                                                                                                                                                              Then restart the config map (below).

                                                                                                                                                            Restart Configmap

                                                                                                                                                            After updating the configmap, the Sysdig components must be restarted for the changed parameters to take effect. This can be done by forcing a rolling update of the deployments.

                                                                                                                                                            A possible way to do so is to change something innocuous, which forces a rolling update. E.g.:

                                                                                                                                                            kubectl -n sysdigcloud patch deployment [deploymnet] -p \
                                                                                                                                                             "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"$(date +'%s')\"}}}}}"
                                                                                                                                                            

                                                                                                                                                            Replace kubectl with oc for OpenShift.

                                                                                                                                                            5.2.5 -

                                                                                                                                                            Install with Replicated

                                                                                                                                                            Sysdig will deprecate support for Replicated installs in the coming months. If you are a new customer considering installing with Replicated, please contact Sysdig support.

                                                                                                                                                            Understand the Choice Points

                                                                                                                                                            When planning an on-premises installation, the following choice points must be decided upon.

                                                                                                                                                            1. Infrastructure Managers: To install Sysdig on-premises, administrators choose one of two infrastructure managers:

                                                                                                                                                              • Kubernetes (see Installer (Kubernetes | OpenShift), or

                                                                                                                                                              • Replicated: an easy-to-use orchestrator that includes a GUI management tool.

                                                                                                                                                                This guide describes how to install the Replicated client and use it to install and manage the Sysdig platform.

                                                                                                                                                            2. Single-Host or Multi-Host Install: For test or proof-of-concept installations, a single-host install will include all components; for production, a distributed environment is needed.

                                                                                                                                                            3. Airgapped or non-airgapped environment:

                                                                                                                                                              If your environment is accessible to the Internet during the install process, then the installation options include both script-based or GUI-based.

                                                                                                                                                              In airgapped environments (no Internet access), you must download components into your airgapped repository, and can only use the GUI-based installation.

                                                                                                                                                              See Airgapped Installation.

                                                                                                                                                            4. Where to put the Replicated Management Console: When installing on-premises using Replicated as the orchestrator, the following Replicated components will be installed on your system:

                                                                                                                                                              • Replicated UI (on a host you designate to host the Replicated Management Console)

                                                                                                                                                              • Replicated retraced containers that handle logging (on the Management Console host only)

                                                                                                                                                              • Replicated operator component (will go on all hosts)

                                                                                                                                                            In a multi-host installation, one server will be the Replicated Management Console host. The system load for these components is minor.

                                                                                                                                                            No matter which installation options you choose, you will use the Replicated GUI post-installation to:

                                                                                                                                                            Understand the Installation Process

                                                                                                                                                            1. Review and complete the Pre-Install requirements.

                                                                                                                                                            2. If installing on multiple nodes, decide which node will host the Replicated Management Console.

                                                                                                                                                            3. If using an airgapped environment, set up for an Airgapped Installation.

                                                                                                                                                            4. Install the Replicated Clienton a host.

                                                                                                                                                            5. Log In to the Replicated Management Console and set the Replicated Management Console Password.

                                                                                                                                                            6. Configure Sysdig Admin Password and Basic Settings.

                                                                                                                                                            7. Configure Sysdig Application Advanced Settings (if necessary).

                                                                                                                                                            8. Complete Distributed Install Steps (if necessary).

                                                                                                                                                            9. Restart the host(s).

                                                                                                                                                            5.2.5.1 -

                                                                                                                                                            Airgapped Installation

                                                                                                                                                            Sysdig will deprecate support for Replicated installs in the coming months. If you are a new customer considering installing with Replicated, please contact Sysdig support.

                                                                                                                                                            To install the Sysdig platform on-premises, in an environment that has no inbound or outbound paths available to internet traffic, you must use the Replicated GUI-based installation option. No script-based option is currently available.

                                                                                                                                                            Perform the following steps to download the required Sysdig installation files, the Replicated components, and the Sysdig license file, and save them to a repository on your airgapped server. Then perform the setup steps in the Replicated Management Console, as described below.

                                                                                                                                                            Prerequisites

                                                                                                                                                            A server instance with Docker version 1.7.1 or later installed is required prior to installation.

                                                                                                                                                            The Replicated .airgap installation script does not install docker-engine. Sysdig recommends using the latest version of Docker available for the server operating system.

                                                                                                                                                            For more information on installing Docker in an airgapped environment, refer to the Installing Docker in an Airgapped Environment documentation.

                                                                                                                                                            Instructions

                                                                                                                                                            Download Components to a Repository

                                                                                                                                                            1. Download the latest Sysdig installation files using the links provided by the Sysdig Sales Engineer:

                                                                                                                                                              • The Sysdig platform application .airgap package

                                                                                                                                                              • The Sysdig application license file (.rli)

                                                                                                                                                              • (Optional) The Sysdig Agent Docker image

                                                                                                                                                            2. Download the latest Replicated installation file from:

                                                                                                                                                              https://s3.amazonaws.com/replicated-airgap-work/replicated.tar.gz

                                                                                                                                                            3. Copy all downloaded files to a designated location on your airgapped server. For example:

                                                                                                                                                              /var/tmp/sysdig

                                                                                                                                                              (Note this path to be used when you complete the Install Components (Replicated).)

                                                                                                                                                            4. Open a command shell on the airgapped server and extract the replicated.tar.gz file:

                                                                                                                                                              sudo tar xzvf replicated.tar.gz
                                                                                                                                                              

                                                                                                                                                            Install and Set Up Replicated Management Infrastructure

                                                                                                                                                            1. Run the following command to install the Replicated infrastructure manager:

                                                                                                                                                              sudo cat ./install.sh | sudo bash -s airgap

                                                                                                                                                            2. In a browser, navigate to the Replicated Management Console: https://server_address:8800 **(**Replace server_address with the server name/IP address.)

                                                                                                                                                            3. Accept the default self-signed certificate, or provide a custom one, and click Continue.

                                                                                                                                                            4. On the next screen, once the “preflight” checks have been resolved, select the Airgapped option, and click Continue.

                                                                                                                                                            5. Upload the .rli license file.

                                                                                                                                                            6. Provide a path to the Sysdig application .airgap file.

                                                                                                                                                              Should you need to upgrade an airgapped license at a future time, see Upgrade an On-Premises License. For general license information, see Subscription.

                                                                                                                                                            Complete the Installation Steps

                                                                                                                                                            Continue with “Setting the Replication Management Password” and the rest of the installation steps in Install Components (Replicated).

                                                                                                                                                            5.2.5.2 -

                                                                                                                                                            Install Components (Replicated)

                                                                                                                                                            Sysdig will deprecate support for Replicated installs in the coming months. If you are a new customer considering installing with Replicated, please contact Sysdig support.

                                                                                                                                                            You can use the Replicated UI to install the Sysdig platform on either a single host or on multiple hosts. If multi-host, decide which machine will also run the Replicated Admin Console and begin there.

                                                                                                                                                            If your environment is “airgapped” (no access to inbound or outbound internet traffic), there are some setup steps you must perform before doing the GUI-based Replicated installation.

                                                                                                                                                            See Airgapped Installation for details.

                                                                                                                                                            Install the Replicated Client

                                                                                                                                                            Log in to the chosen machine with a shell and run a command to install the Replicated components. You can also install Docker if it’s not already on the environment.

                                                                                                                                                            1. Log into the designated server instance with SSH.

                                                                                                                                                            2. Run the following commands:

                                                                                                                                                              a. To install the Replicated Infrastructure and Docker:

                                                                                                                                                              sudo curl -sSL https://install.sysdigcloud.com/docker | sudo bash
                                                                                                                                                              

                                                                                                                                                              b. If Docker is already installed on the server instance, add-s --no-dockerto the command:

                                                                                                                                                              sudo curl -sSL https://install.sysdigcloud.com/docker | sudo bash -s -- no-docker
                                                                                                                                                              

                                                                                                                                                              c. If installing the Replicated Infrastructure behind a proxy, modify the installation command as shown below:

                                                                                                                                                              sudo curl -sSL -x http://<proxy>:<port> -o /tmp/sdc-onpremises-installer.sh https://install.sysdigcloud.com/docker && bash /tmp/sdc-onpremises-installer.sh http-proxy=http://<proxy>:<port>
                                                                                                                                                              

                                                                                                                                                            Define Basic Settings & License Info

                                                                                                                                                            Log In to Replicated Admin Console/ “admin console” and Set SSL Certificate

                                                                                                                                                            1. As prompted, open the Replicated Client at https://<yourserver>:8800.

                                                                                                                                                            2. Supply the DNS hostname for the Replicated Admin Console.

                                                                                                                                                            3. Accept the self-signed certificate, or upload a custom SSL certificate and private key.

                                                                                                                                                              Note: If a self-signed certificate is uploaded, it must include the end user, all intermediate, and the root certificates, as the certificate will be used by the Sysdig platform, as well as for the Replicated Admin Console.

                                                                                                                                                              To later replace a self-sign cert with a custom cert, see Replace a Self-Signed Cert with Custom Cert.

                                                                                                                                                            4. Click the Choose License button, and upload the Sysdig license file supplied from Sysdig Sales.

                                                                                                                                                            5. Choose Online installation option if prompted.

                                                                                                                                                            Set the Replicated Admin Console Password

                                                                                                                                                            Once the Sysdig license validation is complete, secure the Replicated Admin Console using a local password, LDAP user account, or anonymous access (insecure).

                                                                                                                                                            Sysdig recommends securing the console with either a local password or LDAP user account.

                                                                                                                                                            Click Continue.

                                                                                                                                                            Configure Sysdig Super Admin Password and Basic Settings

                                                                                                                                                            After clicking Continue, the Settings page is displayed. Here you enter the configuration information that will be used by Replicated to orchestrate the Sysdig installation.

                                                                                                                                                            || ||

                                                                                                                                                            Define Advanced Settings

                                                                                                                                                            These settings are typically defined with consultation from a Sysdig Sales Engineer.

                                                                                                                                                             

                                                                                                                                                            Any JVM options to be passed to the application, such as memory constraint settings for the Java Virtual Machine components, proxy settings, etc.

                                                                                                                                                            At a minimum, it is recommended to define the memory constraints, in the format:

                                                                                                                                                            -Xms###g Xmx###g.

                                                                                                                                                            Note that if multiple components are on a single machine, adjust the percentages as needed so JVMs all fit in a node.

                                                                                                                                                            • Cassandra JVM options: recommended allocating 50% of the host’s memory to this JVM

                                                                                                                                                              (in a multi-node environment)

                                                                                                                                                            • Elasticsearch JVM options: recommended allocating 50% of the host’s memory to this JVM

                                                                                                                                                              (in a multi-node environment)

                                                                                                                                                            • Sysdig Cloud application JVM options: recommended to allocate up to 80% of the host’s memory to this JVM.

                                                                                                                                                              This is also used to set proxy settings; see HTTP/HTTPS and Proxy Support.

                                                                                                                                                              It is also used to set an implicit key in AWS; see AWS: Integrate AWS Account and CloudWatch Metrics (Optional).

                                                                                                                                                              NOTE: If you do not want to use SSL between the agent and the collectors, you append the following settings to the Sysdig Cloud application JVM options entry:

                                                                                                                                                              -Ddraios.agents.installParams.sslEnabled=false
                                                                                                                                                              

                                                                                                                                                              For example:

                                                                                                                                                              -Xms8G Xmx8G -Ddraios.agents.installParams.sslEnabled=false
                                                                                                                                                              

                                                                                                                                                            Ports and Security

                                                                                                                                                            • Sysdig UI port: default 80. Port used for the Sysdig Monitor/ Sysdig Secure GUI.

                                                                                                                                                            • Sysdig UI secure port: default 433. SSL port used for Sysdig Monitor/ Sysdig Secure GUI.

                                                                                                                                                            • Force HTTPS: This turns off the unsecured port (80) access.

                                                                                                                                                            • Forward Sysdig application logs to stdout: switches logging from the application log files to Linux standard output (stdout).

                                                                                                                                                            • Sysdig collector port: default 6443. Port used for agent metrics collection. See also Agent Installation.

                                                                                                                                                              In earlier versions, the Sysdig Agent connected to port 6666. This behavior has been deprecated, as the Sysdig agent now connects to port 6443.

                                                                                                                                                            • Sysdig secure collector port: default 6443. Port used for agent metrics collection. See also Agent Installation.

                                                                                                                                                            • Exposed port for HTTP traffic inbound to Sysdig Platform backend container: 27878 – do not change without the recommendation of Sysdig Support.

                                                                                                                                                            • Exposed port for Collector traffic inbound: 27877 – do not change without the recommendation of Sysdig Support.

                                                                                                                                                            Database Entries

                                                                                                                                                            • Store Sysdig Captures in Cassandra (recommended): Default checked. Used for Sysdig trace file storage when capture function is used. If you do not store files in the Cassandra DB, you can alternately configure an AWS S3 bucket storage location.

                                                                                                                                                              See also: Storage: Configure AWS Capture File Storage (Optional) and Captures.

                                                                                                                                                            • Sysdig data directory: default /opt. Where Cassandra, MySQL, and Elasticsearch databases will be created on a host.

                                                                                                                                                            • Cassandra CQL native client’s port: The default port is 9042. Change the default port if you are running your own Cassandra cluster with non-standard ports.

                                                                                                                                                            • Cassandra replication factor: The value should be either 1 or 3, never 2.

                                                                                                                                                            • Sysdig MySQL user: default admin, recommend changing

                                                                                                                                                            • Sysdig MySQL password: Enter a unique password and store securely.

                                                                                                                                                            • This password is needed for future updates and will not be visible in the Replicated Admin Console. Retain this password for future use.

                                                                                                                                                            • Sysdig MySQL max connections: The default is 1024.

                                                                                                                                                            • Cassandra CQL native client’s port: The default is 9042.

                                                                                                                                                            • External MySQL service: The secure end of your MySQL service. This is external to the Sysdig platform.

                                                                                                                                                            • External Cassandra service: The secure end of your Cassandra service. This is external to the Sysdig platform.

                                                                                                                                                            • External Redis service: The secure end of your Redis Service. This is external to the Sysdig platform.

                                                                                                                                                            • Sysdig Redis password: The password associated with the Redis account.

                                                                                                                                                            • External Elasticsearch service URL: An external service URL with user name and password embedded

                                                                                                                                                            • OAuth allowed domains: List of secure Elasticsearch domains.

                                                                                                                                                            • Google OAuth client ID: Used when integrating Google-based user login.

                                                                                                                                                              See Google OAuth (On-Prem)

                                                                                                                                                            • Google OAuth client secret: Used when integrating Google-based user login. See Google OAuth (On-Prem)

                                                                                                                                                            • SSO CA certificate: CA certificate for single sign-on.

                                                                                                                                                            • Datastore Authorization and SSL: See Authenticating Backend Components on Cassandra and Authenticating Backend Components on Elasticsearch.

                                                                                                                                                            When fields are complete, click Save.

                                                                                                                                                            After Saving, click Start Now to apply settings to the environment immediately. Click **Cancel**to apply settings at a later time.

                                                                                                                                                            Authenticating Backend Components on Cassandra

                                                                                                                                                            As of version 2.4.1, authenticating Sysdig backend components on Sysdig’s Cassandra nodes or for your own Cassandra nodes is supported. In order to authenticate the backend components to Cassandra, enable the option, specify credentials of the identity you want to establish with Cassandra, and enable secure communication. This is the additional layer of defense against unauthorized access to the datastore.

                                                                                                                                                            Enable Cassandra Authentication
                                                                                                                                                            • Enable Cassandra authentication: Select this option if you want to authenticate Sysdig backend components to use Cassandra datastore. The option by default is disabled.

                                                                                                                                                            • Cassandra password for authentication: The password associated with the username. If running Sysdig’s Cassandra database, create a password here. If you are using your own Cassandra database, enter the appropriate user password for Sysdig access.

                                                                                                                                                            • Enable Cassandra TLS: (Mandatory) Establish TLS communication between the Sysdig backend components and the Cassandra node. The option by default is unchecked.

                                                                                                                                                            • Cassandra username for authentication: The username of the identity that you want to establish with Cassandra. If running Sysdig’s Cassandra database, create a user here.  If you are using your own Cassandra database, enter the appropriate user account for Sysdig access.

                                                                                                                                                            Authenticating Backend Components on Elasticsearch

                                                                                                                                                            As of version 2.4.1, authenticating Sysdig backend components on both Sysdig’s Elasticsearch cluster or for your own Elasticsearch cluster is supported. In order to authenticate the backend components to Elasticsearch datastore, configure TLS-based authentication. You generate certificates and keys for Elasticsearch server, client, and admin user, and specify them along with Elasticsearch user credentials while setting up Sysdig platform. This is the additional layer of security to safeguard the datastore.

                                                                                                                                                            Before you configure Elasticsearch authentication, ensure that you set up Sysdig Agent for data collection and TLS generate certificates.

                                                                                                                                                            Generate TLS Certificates

                                                                                                                                                            1. Log into Quay:

                                                                                                                                                              1. Locate your Quay pull_secret. Contact Support if you are unable to locate it.

                                                                                                                                                              2. Get your credentials by running:

                                                                                                                                                                # Note: For MacOS users, change "base64 -d" to "base64 -D"echo <quay_pull_secret> | base64 -d | awk NR==4 | cut -d'"' -f4 | xargs | base64 -d
                                                                                                                                                                

                                                                                                                                                                The Output should look as follows:

                                                                                                                                                                sysdig+<your_username>:<your_password>
                                                                                                                                                                
                                                                                                                                                              3. Log into Quay by running the following:

                                                                                                                                                                docker login quay.io -u sysdig+<your_username> -p <your_password>
                                                                                                                                                                
                                                                                                                                                            2. Run the following docker command to generate the root/admin certificates for Elasticsearch to a directory within the current working directory:

                                                                                                                                                              docker run -d -v "$(pwd)"/generated_elasticsearch_certs:/tools/out quay.io/sysdig/elasticsearch:1.0.1-es-certs
                                                                                                                                                              

                                                                                                                                                              The following files are generated in the generated_elasticsearch_certs directory.  Retain the certificates and key files to upload as part of the TLS configuration as described in Configure TLS Authentication.

                                                                                                                                                              • Elasticsearch root CA

                                                                                                                                                                • root-ca.pem

                                                                                                                                                                • root-ca.key

                                                                                                                                                              • Elasticsearch Admin (Kirk)

                                                                                                                                                                • kirk.pem

                                                                                                                                                                • kirk.key

                                                                                                                                                              • EElasticsearch Client (Spock)

                                                                                                                                                                • spoke.pem

                                                                                                                                                                • spoke.key

                                                                                                                                                            Configure TLS Authentication

                                                                                                                                                            Sysdig Replicated install supports Search Guard to establish secure authentication with Elasticsearch datastore. You set up two users in order to access Elasticsearch datastore on behalf of the Sysdig backend components: Admin user and read-only user.

                                                                                                                                                            Amin user: The admin user will have the read and write permissions on Elasticsearch clusters and indices. Sysdig backend components use this identity to write data to Elasticsearch clusters. This is the same as the Search Guard admin user. 

                                                                                                                                                            Read-only user: As the name implies, the read-only user will only have the read permission on Elasticsearch indices. Sysdig Agent uses this identity to read data from Elasticsearch datastore. This is the same as the Search Guard sg_readonly user that is created as part of the installation.

                                                                                                                                                            Enable Elasticsearch authentication
                                                                                                                                                            • Enable Elasticsearch Authentication and TLS:  Select this option to enable authentication and secure communication between Sysdig backend components and the Elasticsearch datastore. To gain access to Elasticsearch datastore, you must prove your identity, by using credentials and certificates. The Elastic Stack authenticates users by identifying the users behind the requests that hit the datastore and verifying that they are who they claim to be.

                                                                                                                                                            • Elasticsearch admin username: The admin user is created by default. You can edit the user name if desired. The default user is admin.

                                                                                                                                                            • Elasticsearch admin password: The password associated with the Elasticsearch admin user.

                                                                                                                                                            • Elasticsearch read-only username: Specify the username for the read-only access to the Elasticsearch indices. If running your own secure Elasticsearch cluster, enter the username for the read-only Search Guard user.

                                                                                                                                                            • Elasticsearch read-only password: The password associated with Elasticsearch read-only username.

                                                                                                                                                            When fields are complete, click Save. 

                                                                                                                                                            After saving, click Restart Now to apply settings to the environment immediately.

                                                                                                                                                            Click Cancel to apply settings at a later time.

                                                                                                                                                            Configure Sysdig Agent

                                                                                                                                                            If you are monitoring Elasticsearch with sysdig-agent, ensure the sysdig-agent configuration file, dragent.yaml, has the following Elasticsearch configuration in the data.dragent.yaml.app_checks section below:

                                                                                                                                                            app_checks:
                                                                                                                                                              - name: elasticsearch
                                                                                                                                                                check_module: elastic
                                                                                                                                                                pattern:
                                                                                                                                                                  port: 9200
                                                                                                                                                                  comm: java
                                                                                                                                                                conf:
                                                                                                                                                                  url: https://<DNS_or_ip_address_to_elasticsearch>:9200
                                                                                                                                                                  username: <your_read_only_username>
                                                                                                                                                                  password: <your_read_only_password>
                                                                                                                                                                  ssl_verify: false
                                                                                                                                                            
                                                                                                                                                            Example for Docker Environment
                                                                                                                                                            1. Follow these steps if you are running the Agent in a Docker container:

                                                                                                                                                              READONLY_USERNAME=<your_readonly_username>
                                                                                                                                                              READONLY_PASSWORD=<your_readonly_username_password>
                                                                                                                                                              ELASTICSEARCH_PORT=9200
                                                                                                                                                              URL_TO_SECURE_ELASTICSEARCH=https://<your_url_to_secure_elasticsearch>
                                                                                                                                                              ADDITIONAL_CONF="$(echo "app_checks:
                                                                                                                                                                - name: elasticsearch
                                                                                                                                                                  check_module: elastic
                                                                                                                                                                  pattern:
                                                                                                                                                                    port: $ELASTICSEARCH_PORT
                                                                                                                                                                    comm: java
                                                                                                                                                                  conf:
                                                                                                                                                                    url: $URL_TO_SECURE_ELASTICSEARCH:$ELASTICSEARCH_PORT
                                                                                                                                                                    username: $READONLY_USERNAME
                                                                                                                                                                    password: $READONLY_PASSWORD
                                                                                                                                                                    ssl_verify: false
                                                                                                                                                              " | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/\\n/g')"
                                                                                                                                                              
                                                                                                                                                            2. Remove the existing Agent container:

                                                                                                                                                              Make sure that you remove the existing Agent container instead of just stopping it. By default, the Agent container is named sysdig-agent. If you stop the Agent container and attempt to create a new one, you will get a name-conflict error:

                                                                                                                                                              docker: Error response from daemon: Conflict. The container name “/sysdig-agent” is already in use by container <ontainer-id>. You have to remove (or rename) that container to be able to reuse that name.

                                                                                                                                                            3. Run the Agent container with the new additional config. For example:

                                                                                                                                                              docker run \
                                                                                                                                                                  --name sysdig-agent \
                                                                                                                                                                  --restart always \
                                                                                                                                                                  --privileged \
                                                                                                                                                                  --net host \
                                                                                                                                                                  --pid host \
                                                                                                                                                                  -e ACCESS_KEY=1234-your-key-here-1234 \
                                                                                                                                                                  -e COLLECTOR=collector_ip \
                                                                                                                                                                  -e COLLECTOR_PORT=6443 \
                                                                                                                                                                  -e SECURE=true \
                                                                                                                                                                  -e TAGS=dept:sales,local:NYC \
                                                                                                                                                                  -e ADDITIONAL_CONF="$ADDITIONAL_CONF" \
                                                                                                                                                                  -v /var/run/docker.sock:/host/var/run/docker.sock \
                                                                                                                                                                  -v /dev:/host/dev \
                                                                                                                                                                  -v /proc:/host/proc:ro \
                                                                                                                                                                  -v /boot:/host/boot:ro \
                                                                                                                                                                  -v /lib/modules:/host/lib/modules:ro \
                                                                                                                                                                  -v /usr:/host/usr:ro \
                                                                                                                                                                  sysdig/agent
                                                                                                                                                              

                                                                                                                                                              You may encounter an error in the sysdig-agent logs stating that an unverified HTTPS request has been made. You can safely ignore the error for now.

                                                                                                                                                            Example for Non-Containerized Environment

                                                                                                                                                            Do the following if you are running the Agent directly on the machine (non-containerized environment):

                                                                                                                                                            1. Add the app_check configuration to your /opt/draios/etc/dragent.yaml configuration:

                                                                                                                                                              app_checks:
                                                                                                                                                                - name: elasticsearch
                                                                                                                                                                  check_module: elastic
                                                                                                                                                                  pattern:
                                                                                                                                                                    port: 9200
                                                                                                                                                                    comm: java
                                                                                                                                                                  conf:
                                                                                                                                                                    url: https://<DNS_or_ip_address_to_elasticsearch>:9200
                                                                                                                                                                    username: <your_read_only_username>
                                                                                                                                                                    password: <your_read_only_password>
                                                                                                                                                                    ssl_verify: false
                                                                                                                                                              
                                                                                                                                                            2. Restart the agent:

                                                                                                                                                              service dragent restart
                                                                                                                                                              

                                                                                                                                                            Single-Host Installation Wrap-Up

                                                                                                                                                            After completing the Settings and restarting, no further installation steps are required for a single-host install.

                                                                                                                                                            The dashboard will remain in Starting mode for approximately 4-5 minutes, depending on the internet connection bandwidth, while Sysdig application software is downloaded and installed. Once the installation is complete, the dashboard will move to Started mode.

                                                                                                                                                            1. Click the Open link to navigate to the Sysdig Monitor login panel.

                                                                                                                                                            2. Input the Super Admin user login credentials defined in the basic settings, above.

                                                                                                                                                            Next Steps

                                                                                                                                                            • To start, stop, and update the application, or to retrieve support information, use the Replicated Admin Console: https://<yourserver>:8800.

                                                                                                                                                            • To login as a user and see metrics for hosts with the Sysdig Agent installed, use the Sysdig Monitor Web Interface: https://<yourserver>:80

                                                                                                                                                              • If you have not yet done so, install Sysdig Agents to monitor your environment. See Agent Installation for details.

                                                                                                                                                            Multi-Host Installation Wrap-Up

                                                                                                                                                            After configuring the settings and clicking Start Now, an error will indicate the need to assign and install the remaining components. You will need to define the hosts/nodes to be used and will assign the Sysdig components to be installed on them. The steps below describe the actions on one host; they must be repeated on all applicable hosts and all the Sysdig components must be assigned.

                                                                                                                                                            1. Choose the Cluster tab in the Replicated Admin Console.

                                                                                                                                                              From here, you can tag components to be run on the local host, and/or add new nodes.

                                                                                                                                                              To add and configure new nodes:

                                                                                                                                                            2. Click Add Node.

                                                                                                                                                              The Add Node worksheet is displayed. Here you enter the IP address and then tag the Sysdig component(s) to be installed on that node.

                                                                                                                                                              Replicated will compile either an installation script or a Docker run command out of your entries, which you will copy and use on the given node.

                                                                                                                                                            3. On the Add Node worksheet page, do the following:

                                                                                                                                                              Choose Installation script or Docker run command option.

                                                                                                                                                              Enter private and/or public IP address, depending on the type of access you want to permit.

                                                                                                                                                              Select the Sysdig components to be installed by checking the appropriate “Tags” buttons.

                                                                                                                                                              Descriptions in the table below:

                                                                                                                                                              Name

                                                                                                                                                              Tag

                                                                                                                                                              Role Description

                                                                                                                                                              api

                                                                                                                                                              api

                                                                                                                                                              Application Programming Interface server

                                                                                                                                                              cassandradb

                                                                                                                                                              cassandra

                                                                                                                                                              Cassandra database server

                                                                                                                                                              elasticsearch

                                                                                                                                                              elasticsearch

                                                                                                                                                              Elasticsearch server for events storage/search

                                                                                                                                                              collector

                                                                                                                                                              collector

                                                                                                                                                              Agent metrics collector

                                                                                                                                                              lb_collector

                                                                                                                                                              lb_collector

                                                                                                                                                              Load balancer for collector service; handles connections from the agents

                                                                                                                                                              lb_api

                                                                                                                                                              lb_api

                                                                                                                                                              Load balancer for API service; handles user connection requests to the Sysdig application.

                                                                                                                                                              Use the address for this node as the DNS entry for the cluster.

                                                                                                                                                              mysql, redis

                                                                                                                                                              mysql & redis

                                                                                                                                                              MySQL & Redis databases

                                                                                                                                                              worker

                                                                                                                                                              worker

                                                                                                                                                              Metrics history processor

                                                                                                                                                              emailrenderer

                                                                                                                                                              emailrenderer

                                                                                                                                                              Email renderer

                                                                                                                                                              nginxfrontend

                                                                                                                                                              nginxfrontend

                                                                                                                                                              Frontend static server

                                                                                                                                                              When setting up a DNS entry for the cluster, use the address for the ‘lb_api' node.

                                                                                                                                                              At the bottom of the page, a curl script or Docker run command is compiled for you.

                                                                                                                                                              Copy the command and issue it on the targeted host.

                                                                                                                                                            4. Repeat this procedure on all desired hosts.

                                                                                                                                                            5. Restart the Sysdig application from the Replicated console.

                                                                                                                                                              The dashboard will be in “Starting” mode for several minutes while software is downloaded and installed onto each server component (depending on your internet connection bandwidth).

                                                                                                                                                              You should see green check marks for each host next to the Provisioned and Connected columns, as the software is installed and the node connects successfully to the Replicated Admin server.

                                                                                                                                                              Once the installation is fully completed, the infrastructure admin dashboard will be in “Started” mode and will also show the “Open” link that will bring you to Sysdig Monitor web interface login screen.

                                                                                                                                                            6. At the login screen, use the credentials configured earlier (Default User) to log in and start using the Sysdig application on-premises solution.

                                                                                                                                                              To start, stop, and update the application or retrieve support information use the Replicated Admin dashboard: https://server_address:8800

                                                                                                                                                              To log in as a user and see metrics about hosts where Sysdig agents are installed, use the Sysdig Monitor UI: https://server_address:80

                                                                                                                                                            5.2.5.3 -

                                                                                                                                                            Post-Install Configuration

                                                                                                                                                            Sysdig will deprecate support for Replicated installs in the coming months. If you are a new customer considering installing with Replicated, please contact Sysdig support.

                                                                                                                                                            These configurations are optional.

                                                                                                                                                            Replace a Self-Signed Cert with Custom Cert

                                                                                                                                                            This process differs depending on how you installed the Sysdig Platform.

                                                                                                                                                            For Kubernetes Installer Installs

                                                                                                                                                            If you installed the Sysdig Platform on Kubernetes or OpenShift using the Installer, the Installer automatically generates a self-signed cert on the fly. To use a different certificate you would:

                                                                                                                                                            • Add your cert and key to the /certs directory ex: (server.crt, server.key)

                                                                                                                                                            • Update values.yaml:

                                                                                                                                                              sysdig:
                                                                                                                                                                certificate:
                                                                                                                                                                  crt: certs/server.crt
                                                                                                                                                                  key: certs/server.key
                                                                                                                                                              
                                                                                                                                                            • Rerun the Installer.

                                                                                                                                                            The configuration_parameter.md Readme gives full details on sysdig.certificate.crt and sysdig.certificate.key.

                                                                                                                                                            For Kubernetes Manual Installs

                                                                                                                                                            If you installed the Sysdig Platform manually on Kubernetes or OpenShift, the steps for managing the certs are described in Step 5 of the installation procedures:

                                                                                                                                                            For Replicated Installs

                                                                                                                                                            If you installed the Sysdig Platform using Replicated and you accepted the self-signed certificate for SSL/TLS communication when installing the Sysdig components (see Define Basic Settings & License Info ), you can exchange for a custom certificate as follows:

                                                                                                                                                            • Log in to the Replicated Management Console and select the Gear icon > Console Settings.

                                                                                                                                                            • Click Upload certificate and it will automatically replace the original self-signed certificate.

                                                                                                                                                            Optional: Custom Self-Signed Certificat

                                                                                                                                                            Sysdig Monitor/Cloud/etc uses a self-signed SSL/TLS security certificate, unless a custom certificate is provided.

                                                                                                                                                            The example command below creates a custom, unsigned certificate called MyCert.pem; the certificate has a private key called MyCert.key, and is valid for five years:

                                                                                                                                                            sudo openssl req -new -x509 -sha256 -days 1825 -nodes -out ./MyCert.pem -keyout ./MyCert.key
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.2.6 -

                                                                                                                                                            Troubleshooting On-Premises Installation

                                                                                                                                                            See also Get Help | Using Sysdig Support (On-Prem) )

                                                                                                                                                            Collect Troubleshooting Data

                                                                                                                                                            When experiencing issues, you can collect troubleshooting data that can help the support team. The data can be collected by hand, or Sysdig provides a very simple get_support_bundle.sh script that takes as an argument the namespace where Sysdig is deployed and will generate a tarball containing some information (mostly log files). The script is located in the GitHub repository: https://github.com/draios/sysdigcloud-kubernetes. (See also Get Help | Using Sysdig Support (On-Prem).)

                                                                                                                                                            $ ./scripts/get_support_bundle.sh sysdigcloud
                                                                                                                                                            Getting support logs for sysdigcloud-api-1477528018-4od59
                                                                                                                                                            Getting support logs for sysdigcloud-api-1477528018-ach89
                                                                                                                                                            Getting support logs for sysdigcloud-cassandra-2987866586-fgcm8
                                                                                                                                                            Getting support logs for sysdigcloud-collector-2526360198-e58uy
                                                                                                                                                            Getting support logs for sysdigcloud-collector-2526360198-v1egg
                                                                                                                                                            Getting support logs for sysdigcloud-mysql-2388886613-a8a12
                                                                                                                                                            Getting support logs for sysdigcloud-redis-1701952711-ezg8q
                                                                                                                                                            Getting support logs for sysdigcloud-worker-1086626503-4cio9
                                                                                                                                                            Getting support logs for sysdigcloud-worker-1086626503-sdtrc
                                                                                                                                                            Support bundle generated: 1473897425_sysdig_cloud_support_bundle.tgz
                                                                                                                                                            

                                                                                                                                                            Docker Connectivity Issues (IPv4/IPv6)

                                                                                                                                                            Some issues with IPv4 and IPv6 interconnectivity between on-premises containers and the outside world have been detected.

                                                                                                                                                            IP packet forwarding is governed by the ip_forward system parameter. Packets can only pass between containers if this parameter is 1. Usually, you will simply leave the Docker server at its default setting --ip-forward=trueand Docker will go set ip_forward to 1 for you when the server starts up. If you set --ip-forward=false and your system’s kernel has it enabled, the --ip-forward=false option has no effect.

                                                                                                                                                            To check the setting on your kernel use:

                                                                                                                                                            sysctl net.ipv4.conf.all.forwarding
                                                                                                                                                            

                                                                                                                                                            To turn it on use:

                                                                                                                                                            sysctl net.ipv4.conf.all.forwarding=1
                                                                                                                                                            

                                                                                                                                                            Please see this article from docker for more details on Docker Connectivity.

                                                                                                                                                            Proxy/Firewall Issues

                                                                                                                                                            Prior to installing ensure your proxy settings are valid for the session. You can use curl, lynx, or wget to test internet connectivity:

                                                                                                                                                            export http_proxy="http://user:password@proxy_server:port"
                                                                                                                                                            export https_proxy="https://user:password@proxy_server:port"
                                                                                                                                                            echo $http_proxy
                                                                                                                                                            

                                                                                                                                                            You can then attempt a curl or docker hub call to ensure outside connectivity.

                                                                                                                                                            Firewall

                                                                                                                                                            Prior to installation, you may want to disable local firewall (iptables) to rule out local connectivity issues.

                                                                                                                                                            However here are some details around Sysdig connectivity and backend connectivity requirements.

                                                                                                                                                            Sysdig Connectivity:

                                                                                                                                                            6443 Agent communication

                                                                                                                                                            443 Sysdig Monitor UI access

                                                                                                                                                            8800 Management console access

                                                                                                                                                            Here are specifics around what is used for connectivity for the Sysdig backend for on-premises solution:

                                                                                                                                                            https://www.replicated.com/docs/kb/supporting-your-customers/firewalls/

                                                                                                                                                            File Write Permissions Issues (SELINUX or APP ARMOR)

                                                                                                                                                            During the install, you may see errors writing to volumes such as (/var or /opt) from either the onprem install scripts or Docker. You should disable SELINUX (CENTOS/RHEL) or Apparmor (UBUNTU/DEBIAN) during the course of the install so the valid directories can be created. This can be accomplished by:

                                                                                                                                                            Centos (SELINUX)

                                                                                                                                                            From the command line, edit the /etc/sysconfig/selinux file. This file is a symlink to /etc/selinux/config. The configuration file is self-explanatory. Changing the value of SELINUX or *SELINUXTYPE*changes the state of SELinux and the name of the policy to be used the next time the system boots.

                                                                                                                                                            [root@host2a ~]# cat /etc/sysconfig/selinux
                                                                                                                                                            # This file controls the state of SELinux on the system.
                                                                                                                                                            # SELINUX= can take one of these three values:
                                                                                                                                                            #       enforcing - SELinux security policy is enforced.
                                                                                                                                                            #       permissive - SELinux prints warnings instead of enforcing.
                                                                                                                                                            #       disabled - SELinux is fully disabled.
                                                                                                                                                            SELINUX=permissive
                                                                                                                                                            # SELINUXTYPE= type of policy in use. Possible values are:
                                                                                                                                                            #       targeted - Only targeted network daemons are protected.
                                                                                                                                                            #       strict - Full SELinux protection.
                                                                                                                                                            SELINUXTYPE=targeted
                                                                                                                                                            
                                                                                                                                                            # SETLOCALDEFS= Check local definition changes
                                                                                                                                                            SETLOCALDEFS=0
                                                                                                                                                            

                                                                                                                                                            See SELinux Modes for more information.

                                                                                                                                                            UBUNTU/Debian (AppArmor)

                                                                                                                                                            AppArmor can be disabled, and the kernel module unloaded by entering the following:

                                                                                                                                                            sudo systemctl stop apparmor.service
                                                                                                                                                            sudo update-rc.d -f apparmor remove
                                                                                                                                                            

                                                                                                                                                            To re-enable AppArmor enter:

                                                                                                                                                            sudo systemctl start apparmor.service
                                                                                                                                                            sudo update-rc.d apparmor defaults
                                                                                                                                                            

                                                                                                                                                            Advanced Troubleshooting - Firewall, IPtables, IP forwarding

                                                                                                                                                            In the preflight check step with Replicated, if you come across the error:

                                                                                                                                                            getsockopt: no route to host
                                                                                                                                                            

                                                                                                                                                            Please do the following:

                                                                                                                                                            For CentOS 7/RedHat:

                                                                                                                                                            Log in as root or run these commands via sudo:

                                                                                                                                                            service firewalld stop
                                                                                                                                                            systemctl disable firewalld
                                                                                                                                                            sysctl -w net.ipv4.ip_forward=1
                                                                                                                                                            iptables -F
                                                                                                                                                            setenforce 0
                                                                                                                                                            service docker restart
                                                                                                                                                            

                                                                                                                                                            For Ubuntu:

                                                                                                                                                            Log in as root or run these commands via sudo:

                                                                                                                                                            sysctl -w net.ipv4.ip_forward=1
                                                                                                                                                            systemctl stop apparmor.service
                                                                                                                                                            update-rc.d -f apparmor remove
                                                                                                                                                            ufw disable
                                                                                                                                                            iptables -F
                                                                                                                                                            service docker restart
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.3 -

                                                                                                                                                            On-Premises Upgrades

                                                                                                                                                            This section describes how to upgrade an on-premise installation, depending on whether it was installed using a Kubernetes or a Replicated orchestrator.

                                                                                                                                                            As needed, version-specific upgrade or migration instructions will be added to this section.

                                                                                                                                                            Oversight Services Now Offered for All Installs and Upgrades

                                                                                                                                                            As part of our continued focus on our customers, we are now offering oversight services for all on-premise installs and upgrades. Your Technical Account Manager (TAM), in conjunction with our support organization and Professional Services [where applicable], will work with you to:

                                                                                                                                                            • Assess your environment to ensure it is configured correctly

                                                                                                                                                            • Review your infrastructure to validate the appropriate storage capacities are available

                                                                                                                                                            • Review and provide recommendations for backing up your Sysdig data

                                                                                                                                                            • Work with you to ensure our teams are ready to assist you during the install and upgrade process

                                                                                                                                                            • Provide the software for the install

                                                                                                                                                            • Be available during the process to ensure a successful deployment

                                                                                                                                                            You can always review the process in the documentation on GitHub (v. 3.6.0+) or the standard docs site (for older versions).

                                                                                                                                                            If you are a new customer looking to explore Sysdig, please head over here to sign up for a trial on our SaaS Platform. Alternatively, you can contact us here.

                                                                                                                                                            Explore the Upgrade Topics

                                                                                                                                                            This section provides roadmaps for upgrading Sysdig Platform components. Review the topics appropriate to your environment.

                                                                                                                                                            TopicsDescription
                                                                                                                                                            Supported Upgrade PathsUnderstand the upgrade and migration paths for on-prem installations.
                                                                                                                                                            Installer Upgrade (3.5.0-3.5.1)Upgrading Sysdig Platform to v 3.5.0 from v. 3.0, 3.2.x using the installer tool. There is no manual install option as of version 3.5.0.
                                                                                                                                                            Installer Upgrade (2.5.0+)Upgrading Sysdig Platform v2.5.0 - 3.2.2 by using the Installer tool. As of version 2.5.0, the Sysdig platform on Kubernetes or OpenShift should be upgraded using the Installer tool.
                                                                                                                                                            Manual Upgrade (3.0.0+)Upgrading Sysdig Platform v3.0.0 and above manually on Kubernetes.
                                                                                                                                                            Upgrading v2.4.1- v2.5.0 on KubernetesUpgrading the Sysdig Platform versions between 2.4.1and 2.5.0 manually on Kubernetes.
                                                                                                                                                            Upgrading v2.3.0 on KubernetesUpgrading Sysdig Platform v2.3.0 manually on Kubernetes.
                                                                                                                                                            Upgrading v2435 on KubernetesUpgrading Sysdig Platform v2435 manually on Kubernetes.
                                                                                                                                                            Basic Upgrade on ReplicatedUpgrading the mandatory components of the Sysdig Platform on a Replicated environment.

                                                                                                                                                            Supported Migration Paths

                                                                                                                                                            In general, Sysdig tests and supports direct upgrade from five releases back to the current version. Release-specific requirements are listed in the table below.

                                                                                                                                                            For Kubernetes Environments

                                                                                                                                                            Install Version

                                                                                                                                                            Incl. Hotfixes

                                                                                                                                                            Supported Upgrade From

                                                                                                                                                            Notes

                                                                                                                                                            Baseline Documentation

                                                                                                                                                            3.6.0 (by request)

                                                                                                                                                            3.2.2, 3.5.1

                                                                                                                                                            Platform changes: new inline scanner version, interactive session expiration. Sysdig Secure modules added/changed, including Compliance, Event Forwarding, Capture improvements, Image Scan results. Sysdig Monitor improvements in UI.

                                                                                                                                                            GitHub Readme

                                                                                                                                                            3.5.1

                                                                                                                                                            (by request)

                                                                                                                                                            3.0, 3.2.x, (3.5.0 if it was installed)

                                                                                                                                                            New/changed modules in both Sysdig Secure and Sysdig Monitor, including: New Getting Started and Overview, new Dashboards, overhauled Secure Events Feed, new navigation bar icons and layout, changed Image scanning navigation and usage, new Secure vulnerability feed and benchmark test,

                                                                                                                                                            Installer Upgrade (3.5.0-3.5.1) with oversite assistance from Sysdig Support

                                                                                                                                                            3.2.2

                                                                                                                                                            2.5.0, 3.2.0

                                                                                                                                                            Hot fix

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            3.2.0

                                                                                                                                                            3.2.1, 3.2.2

                                                                                                                                                            2.5.0, 3.0.0

                                                                                                                                                            In Sysdig Secure: Data retention limits for scan results, vulnerabiity comparison in scan results, redesigned Captures page, RBAC capability, activity audit improvement. In Sysdig Monitor and Secure: S3-compatible storage for Capture files.

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            3.0.0

                                                                                                                                                            2.4.1, 2.5.0

                                                                                                                                                            Beta Activity Audit feature, Beta Policy Advisor feature.

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            2.5.0

                                                                                                                                                            2.3.0, 2.4.1

                                                                                                                                                            New Installer tool for upgrading; new documentation site; inline scanning for Secure, other enhancements

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            2.4.1

                                                                                                                                                            2.3.0

                                                                                                                                                            Report service added; upgrade to Anchore license required

                                                                                                                                                            Upgrade v 2.4.1

                                                                                                                                                            2.3.0

                                                                                                                                                            1929, 2435

                                                                                                                                                            Ability to secure Elasticsearch and the Cassandra DB with password authentication or SSL/TLS protection.

                                                                                                                                                            Manual Upgrade (2.3.0)

                                                                                                                                                            2435

                                                                                                                                                            (2304) (2266) (2172)

                                                                                                                                                            1929, 1765

                                                                                                                                                            Architecture changes to Dashboards

                                                                                                                                                            & API pods.

                                                                                                                                                            Manual Upgrade (v2435)

                                                                                                                                                            Note that this replaces 2172, 2266, and 2304.

                                                                                                                                                            1929

                                                                                                                                                            legacy

                                                                                                                                                            1765

                                                                                                                                                            Migration Tool (MySQL Connector)

                                                                                                                                                            Architecture & Port 443 change

                                                                                                                                                            legacy

                                                                                                                                                            1630

                                                                                                                                                            ((1586)

                                                                                                                                                            legacy

                                                                                                                                                            1511

                                                                                                                                                            (1472) (1402)

                                                                                                                                                            legacy

                                                                                                                                                            1245

                                                                                                                                                            legacy

                                                                                                                                                            1149

                                                                                                                                                            Migration Tool (Unified Events)

                                                                                                                                                            legacy

                                                                                                                                                            1091

                                                                                                                                                            legacy

                                                                                                                                                            For Replicated Environments

                                                                                                                                                            Most Replicated environments can be upgraded directly to the current version. See also: Basic Upgrade (Replicated).

                                                                                                                                                            It is recommended to follow upgrade best practices:

                                                                                                                                                            • Keep upgrades current.

                                                                                                                                                            • Test upgrades in a non-mission-critical or staging environment before rolling into production.

                                                                                                                                                            5.3.1 -

                                                                                                                                                            Installer Upgrade (3.5.0-3.5.1)

                                                                                                                                                            As of version 3.5.0/3.5.1, Sysdig has changed its upgrade procedure.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            Overview

                                                                                                                                                            With version 3.5.0, both installing and upgrading with the installer has been simplified from previous versions. Upgrade differs from Install in that you run an installer diff to discover the differences between the old and new versions and then installer deploy for the new version.

                                                                                                                                                            Some guidance from Sysdig Support may be warranted in highly customized installations.

                                                                                                                                                            Upgrade Steps

                                                                                                                                                            Upgrading is performed just like a fresh install, with the addition of the generate diff step. Refer to the appropriate workflow, depending on your environment:

                                                                                                                                                            Postgres Version Update v10.x to 12.x

                                                                                                                                                            Version 3.5.0 upgrade includes an automatic Postgres version upgrade. Depending on the size of your database, that can take some time.

                                                                                                                                                            The data migration takes approximately 1 min per 1 GiB of data. The speed of data migration ultimately depends on the underlying storage media.

                                                                                                                                                            To complete the Postgres upgrade, you must also ensure there is sufficient disk space in the volume when using a local-disk storage provisioner in Kubernetes. For example, if your current Postgres size is 100 GiB, ensure there is at least another 100 GiB space free in the volume. This is required temporarily for copying the data during the upgrade.

                                                                                                                                                            3.5.0 - 3.5.1 Elasticsearch Upgrade

                                                                                                                                                            Upgrading from version 3.5.0 to 3.5.1 also upgrades Elasticsearch. Due to the Elasticsearch update strategy of ondelete, the pods will only be upgraded when they are restarted:

                                                                                                                                                            image: quay.io/sysdig/elasticsearch:6.8.3.7
                                                                                                                                                            image: quay.io/sysdig/elasticsearch:6.8.3.9
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.3.2 -

                                                                                                                                                            Installer Upgrade (2.5.0+)

                                                                                                                                                            Overview

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            The Installer tool can be used to upgrade a Sysdig implementation. Just as in an installation, you must meet the prerequisites, download the values.yaml, edit the values as indicated, and run the installer. The main difference is that you run it twice: once to discover the differences between the old and new versions and the second time to deploy the new version.

                                                                                                                                                            As this is a new feature, some guidance from Sysdig Professional Services may be warranted in highly customized installations.

                                                                                                                                                            Supported Installer Versions

                                                                                                                                                            On-Prem VersionInstaller Version
                                                                                                                                                            3.0.03.0.0-7
                                                                                                                                                            3.2.03.2.0-9
                                                                                                                                                            3.2.23.2.2-1

                                                                                                                                                            Upgrade Steps

                                                                                                                                                            To upgrade:

                                                                                                                                                            1. Download the latest installer binary that matches your OS from the sysdigcloud-kubernetes releases page.

                                                                                                                                                            2. Copy the current version of values.yaml to your working directory.

                                                                                                                                                              wget https://raw.githubusercontent.com/draios/sysdigcloud-kubernetes/installer/installer/values.yaml
                                                                                                                                                              
                                                                                                                                                            3. Edit the following values:

                                                                                                                                                              • scripts: set to generate diff.

                                                                                                                                                                This setting will generate the differences between the installed environment and the upgrade version. The changes will be displayed in your terminal.

                                                                                                                                                              • size: Specifies the size of the cluster. Size defines CPU, Memory, Disk, and Replicas. Valid options are: small, medium and large

                                                                                                                                                              • quaypullsecret: quay.io provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • storageClassProvisioner: The name of the storage class provisioner to use when creating the configured storageClassName parameter. When installing, if you use AWS or GKE as your storage provisioner for Kubernetes, enter aws or gke in the storageClassProvisioner field. If you do not use one of those two dynamic storage provisioners, enter: hostPath and then refer to the Advanced examples for how to configure static storage provisioning using this option.

                                                                                                                                                              • sysdig.license: Sysdig license key provided with your Sysdig purchase confirmation mail

                                                                                                                                                              • sysdig.anchoreLicensePath: The path relative to the values.yaml where the Anchore enterprise license yaml is located. (For Sysdig Secure users only.)

                                                                                                                                                              • sysdig.dnsname: The domain name the Sysdig APIs will be served on. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • sysdig.collector.dnsName: (OpenShift installs only) Domain name the Sysdig collector will be served on. When not configured it defaults to whatever is configured for sysdig.dnsName. Note that the master node may not be used as the DNS name when using hostNetwork mode.

                                                                                                                                                              • deployment: (OpenShift installs only) Add deployment: openshift to the root of the values.yaml file.

                                                                                                                                                              • sysdig.ingressNetworking: The networking construct used to expose the Sysdig API and collector.Options are:

                                                                                                                                                                • hostnetwork: sets the hostnetworking in the ingress daemonset and opens host ports for api and collector. This does not create a Kubernetes service.

                                                                                                                                                                • loadbalancer: creates a service of type loadbalancer and expects that your Kubernetes cluster can provision a load balancer with your cloud provider.

                                                                                                                                                                • nodeport: creates a service of type nodeport.The node ports can be customized with:

                                                                                                                                                                  sysdig.ingressNetworkingInsecureApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingApiNodePort

                                                                                                                                                                  sysdig.ingressNetworkingCollectorNodePort

                                                                                                                                                                If doing an airgapped install , you would also edit the following values:

                                                                                                                                                              • airgapped_registry_name: The URL of the airgapped (internal) docker registry. This URL is used for installations where the Kubernetes cluster can not pull images directly from Quay

                                                                                                                                                              • airgapped_registry_password: The password for the configured airgapped_registry_username. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                              • airgapped_registry_username: The username for the configured airgapped_registry_name. Ignore this parameter if the registry does not require authentication.

                                                                                                                                                            4. Run the installer.

                                                                                                                                                              For environments with access to the internet:

                                                                                                                                                              docker run -e HOST_USER=$(id -u) -e KUBECONFIG=/.kube/config
                                                                                                                                                              -v ~/.kube:/.kube:Z -v $(pwd):/manifests:Z
                                                                                                                                                              quay.io/sysdig/installer:<version>
                                                                                                                                                              

                                                                                                                                                              For other supported installer versions, see Supported Installer Versions.

                                                                                                                                                              For partial-airgap (installation machine has access to the internet):

                                                                                                                                                              docker run -e HOST_USER=$(id -u) -e KUBECONFIG=/.kube/config
                                                                                                                                                                -v ~/.kube:/.kube:Z
                                                                                                                                                                -v $(pwd):/manifests:Z
                                                                                                                                                                -v /var/run/docker.sock:/var/run/docker.sock:Z
                                                                                                                                                                -v ~/.docker:/root/docker:Z
                                                                                                                                                                quay.io/sysdig/installer:<version>
                                                                                                                                                              

                                                                                                                                                              For other supported installer versions, see Supported Installer Versions.

                                                                                                                                                              For full airgapped environment:

                                                                                                                                                              Run steps 1-4 in the Full Airgap Install, then run:

                                                                                                                                                              bash sysdig_installer.tar.gz
                                                                                                                                                              
                                                                                                                                                            5. If you are fine with the differences displayed, then set scripts to deploy and rerun the installer as in Step 3.

                                                                                                                                                              If you want to override a change, based on your environment’s custom settings, then contact Sysdig Support for assistance.

                                                                                                                                                            6. The datastores Cassandra and ElasticSearch have an onDelete update strategy and must be manually restarted to complete the upgrade.

                                                                                                                                                            5.3.3 -

                                                                                                                                                            Manual Upgrade (3.0.0+)

                                                                                                                                                            As of August 2020, Sysdig has changed its upgrade procedure.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            Sysdig platform on-premise releases are listed here. Each release has a version number and specific release notes.

                                                                                                                                                            This release has the following significant changes:

                                                                                                                                                            • Added NATS service to deliver events to the Sysdig backend

                                                                                                                                                            • Added services for the beta Policy Advisor, which permits a user to auto-generate Pod Security Policies and perform dry tests or “simulations” of them before committing them to an environment.

                                                                                                                                                            • Added services for activity audit, which allows users to view different data sources in-depth for monitoring, troubleshooting, diagnostics, or to meet regulatory controls

                                                                                                                                                            • Some Anchore reporting components are not needed anymore and have been removed.

                                                                                                                                                            Download the New Version

                                                                                                                                                            Download the new version from Sysdig’s GitHub and unzip it.

                                                                                                                                                            wget https://github.com/draios/sysdigcloud-kubernetes/archive/<version_number>.tar.gz &&  tar xvf <version_number>.tar.gz
                                                                                                                                                            

                                                                                                                                                            Edit New Files to Match Your Customized Files

                                                                                                                                                            It is important to use the latest YAML files for a successful upgrade.

                                                                                                                                                            Edit the following files within the sysdigcloud directory to match any customizations you may have made in your existing production system.

                                                                                                                                                            Please do not edit the image: property.

                                                                                                                                                            Sysdig Component Files

                                                                                                                                                            Ensure that any passwords or user names are transferred from your existing config.yaml to the new one. Suggested areas to review are listed below.

                                                                                                                                                            • config.yaml:

                                                                                                                                                              The following variables are always customized in Sysdig installations:

                                                                                                                                                              api.url
                                                                                                                                                              collector.endpoint
                                                                                                                                                              sysdigcloud.license
                                                                                                                                                              mysql.password
                                                                                                                                                              

                                                                                                                                                              Modifying following variables is optional but commonly done:

                                                                                                                                                              cassandra.jvm.options
                                                                                                                                                              elasticsearch.jvm.options
                                                                                                                                                              sysdigcloud.jvm.api.options
                                                                                                                                                              sysdigcloud.jvm.collector.options
                                                                                                                                                              sysdigcloud.jvm.worker.options
                                                                                                                                                              
                                                                                                                                                            • Check deployment YAML files for CPU/memory settings.

                                                                                                                                                            • Update the spec.replicas definition in the following files:

                                                                                                                                                              • sysdigcloud/api-deployment.yaml

                                                                                                                                                              • sysdigcloud/collector-deployment.yaml

                                                                                                                                                              • sysdigcloud/worker-deployment.yaml

                                                                                                                                                            • If running Sysdig Secure:

                                                                                                                                                              • sysdigcloud/anchore-core-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-core-deployment.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-api-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-alertmgr-deployment.yaml

                                                                                                                                                            Postgres File (Sysdig Secure Only)

                                                                                                                                                            • postgres-statefulset.yaml : Edit the storage class name in this file.

                                                                                                                                                              The file is located in datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulsets.yaml

                                                                                                                                                              Storage class name appears as spec.volumeClaimTemplates[].spec.storageClassName

                                                                                                                                                            Elasticsearch and Cassandra Files

                                                                                                                                                            • elasticsearch-statefulset.yaml: For example, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas and spec.template.spec.containers[elasticsearch].env[ELASTICSEARCH_GOSSIP_NODES_NUM].value
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              
                                                                                                                                                            • cassandra-statefulset.yaml: As with Elasticsearch, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              

                                                                                                                                                            Apply the Files

                                                                                                                                                            The --force flag deletes the object and re-creates it whereas the --replace flag automatically creates an object if it doesn’t exist.

                                                                                                                                                            For the upgrade, assume NAMESPACE=sysdigcloud.

                                                                                                                                                            Install the NATS Components

                                                                                                                                                            In version 3.0, a NATS datastore was introduced for handling events inside the Sysdig platform:

                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/nats-streaming/nats-streaming-service.yaml
                                                                                                                                                            

                                                                                                                                                            Upgrade Sysdig Monitor

                                                                                                                                                            Run the kubectl commands to apply the relevant files to your cluster.

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/config.yaml
                                                                                                                                                            
                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                            

                                                                                                                                                            Pause to allow Elasticsearch and Cassandra to come up. then continue:

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/api-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            Pause to allow api to come up, then continue:

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/collector-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/worker-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            Upgrade Sysdig Secure

                                                                                                                                                            Run the kubectl commands to apply the relevant files to your cluster.

                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                            
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-deployment.yaml
                                                                                                                                                            
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-alertmgr-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            Create secrets for the new policy advisor and activity audit components by deploying the policy-advisor-secret.yaml.

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/policy-advisor-secret.yaml
                                                                                                                                                            

                                                                                                                                                            Deploy the components:

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/policy-advisor-service.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/activity-audit-api-service.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/activity-audit-api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/policy-advisor-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/activity-audit-worker-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/activity-audit-janitor-cronjob.yaml
                                                                                                                                                            

                                                                                                                                                            You can delete the Anchore reporting components to free up system resources:

                                                                                                                                                            kubectl -n $NAMESPACE delete -f sysdigcloud/anchore-enterprise-license.yaml
                                                                                                                                                            kubectl -n $NAMESPACE delete -f sysdigcloud/anchore-reports-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE delete -f sysdigcloud/anchore-reports-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE delete -f sysdigcloud/anchore-reports-service.yaml
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.3.4 -

                                                                                                                                                            Manual Upgrade (2.4.1- 2.5.0)

                                                                                                                                                            As of August 2020, Sysdig has changed its upgrade procedure.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            Sysdig platform on-premise releases are listed here. Each release has a version number and specific release notes.

                                                                                                                                                            This release has the following significant component change:

                                                                                                                                                            The Report service is now available for Sysdig Secure. Installing it requires first applying an Anchore license and then applying the appropriate report yamls, as listed below.

                                                                                                                                                            Download the New Version

                                                                                                                                                            Download the new version from Sysdig’s GitHub and unzip it.

                                                                                                                                                            Note that as of this release, versioning standards have changed from a single build number (e.g. v1929) to semantic versioning (e.g. 2.3.0)

                                                                                                                                                            wget https://github.com/draios/sysdigcloud-kubernetes/archive/<version_number>.tar.gz &&  tar xvf <version_number>.tar.gz
                                                                                                                                                            

                                                                                                                                                            Edit New Files to Match Your Customized Files

                                                                                                                                                            It is important to use the latest YAML files for a successful upgrade.

                                                                                                                                                            Edit the following files within the sysdigcloud directory to match any customizations you may have made in your existing production system.

                                                                                                                                                            Sysdig Cloud Files

                                                                                                                                                            Customization involves copying the existing settings from your environment and modifying the files listed in this section.

                                                                                                                                                            Update the following files with customizations from your existing environment:

                                                                                                                                                            • sysdigcloud/config.yaml: Pull configurations from your sysdigcloud-config configmap to the downloaded sysdigcloud/config.yaml.

                                                                                                                                                              The following variables are mandatory for Sysdig installations:

                                                                                                                                                              api.url
                                                                                                                                                              collector.endpoint
                                                                                                                                                              sysdigcloud.license
                                                                                                                                                              

                                                                                                                                                              The following variables are optional but commonly modified for Sysdig installations:

                                                                                                                                                              cassandra.jvm.options
                                                                                                                                                              elasticsearch.jvm.options
                                                                                                                                                              sysdigcloud.jvm.api.options
                                                                                                                                                              sysdigcloud.jvm.collector.options
                                                                                                                                                              sysdigcloud.jvm.worker.options
                                                                                                                                                              

                                                                                                                                                              If you have modified the previous config.yaml, copy the modified options such as the external endpoints. You must also check deployment YAML files for CPU/memory settings.

                                                                                                                                                            • Copy configurations from your existing deployment and update the spec.replicas definition in the following files:

                                                                                                                                                              • sysdigcloud/api-deployment.yaml

                                                                                                                                                              • sysdigcloud/collector-deployment.yaml

                                                                                                                                                              • sysdigcloud/worker-deployment.yaml

                                                                                                                                                            • If running Sysdig Secure:

                                                                                                                                                              Please do not edit the image: property.

                                                                                                                                                              • sysdigcloud/anchore-core-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-core-deployment.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-api-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-alertmgr-deployment.yaml

                                                                                                                                                            Postgres File (if running Sysdig Secure)

                                                                                                                                                            Update the following file with customizations from your existing environment:

                                                                                                                                                            Please do not edit the image: property.

                                                                                                                                                            • Modify the storage class name, spec.volumeClaimTemplates[].spec.storageClassName in the datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml file.

                                                                                                                                                            Elasticsearch and Cassandra Files

                                                                                                                                                            In version 2.3.0, Elasticsearch and Cassandra yaml configurations have been updated. Update the new files with customizations from your existing environment.

                                                                                                                                                            Please do not edit the image: property.

                                                                                                                                                            • elasticsearch-statefulset.yaml - For example, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas and spec.template.spec.containers[elasticsearch].env[ELASTICSEARCH_GOSSIP_NODES_NUM].value
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              
                                                                                                                                                            • cassandra-statefulset.yaml - As with Elasticsearch, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              

                                                                                                                                                            Apply the Files

                                                                                                                                                            Run the kubectl commands to apply the relevant files to your cluster.

                                                                                                                                                            Upgrade for Sysdig Monitor

                                                                                                                                                            The --force flag deletes the object and re-creates it whereas the --replace flag automatically creates an object if it doesn’t exist.

                                                                                                                                                            NAMESPACE=sysdigcloud
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/collector-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/worker-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            Upgrade for Sysdig Secure

                                                                                                                                                            For versions 2.4.1 and higher: To use the Reports functionality in Sysdig Secure, it is necessary to enter a license key in the anchore-license.yaml. If you are upgrading or installing and do not have an anchore license please contact support. This license is used for additional 3rd party vulnerability feed entitlements.

                                                                                                                                                            1. Edit the license YAML file: sysdigcloud/anchore-enterprise-license.yaml. Replace <LICENSE> with the key received from Sysdig.

                                                                                                                                                              ---
                                                                                                                                                              apiVersion: v1
                                                                                                                                                              kind: Secret
                                                                                                                                                              metadata:
                                                                                                                                                                name: anchore-enterprise-license
                                                                                                                                                              data:
                                                                                                                                                                # <LICENSE> is derived from `cat anchore-license.yaml | base64`
                                                                                                                                                                anchore-license.yaml: <LICENSE>
                                                                                                                                                              type: Opaque
                                                                                                                                                              
                                                                                                                                                            2. Run the command:

                                                                                                                                                              kubectl -n sysdigcloud apply -f sysdigcloud/anchore-enterprise-license.yaml
                                                                                                                                                              

                                                                                                                                                            Apply the Files

                                                                                                                                                            Run the following commands, preserving the order:

                                                                                                                                                            kubectl -n $NAMESPACE replace --force -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-alertmgr-service.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-alertmgr-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-enterprise-license.yaml #version 2.4.1 or higher
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-reports-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-reports-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-reports-service.yaml
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.3.5 -

                                                                                                                                                            Manual Upgrade (2.3.0)

                                                                                                                                                            As of August 2020, Sysdig has changed its upgrade procedure.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            Sysdig platform on-premise releases are listed here. Each release has a version number and specific Release Notes.

                                                                                                                                                            This release has the following significant component changes:

                                                                                                                                                            1. Includes the option of securing Elasticsearch and/or Cassandra with username/password authentication and TLS-encrypted data in transit. This prevents both unauthorized access to the clusters and network eavesdropping. The upgrade instructions below incorporate this new capability when using the Sysdig-provided Cassandra and Elasticsearch components.

                                                                                                                                                              If you are running your own Cassandra or Elasticsearch clusters, you can skip the section Elasticsearch and Cassandra Files.

                                                                                                                                                            2. Updates of the Postgres database and Anchore engine (if you are running Sysdig Secure).

                                                                                                                                                            3. The following parameter has been renamed in config.yaml: elasticsearch.url to elasticsearch.hostname

                                                                                                                                                              The value of elasticsearch.hostname does not include the protocol (e.g.http://); just use the hostname itself. For example, if you had elasticsearch.url: ``http://sysdigcloud-elasticsearch, it would now be elasticsearch.hostname: sysdigcloud-elasticsearch.

                                                                                                                                                            Download the New Version

                                                                                                                                                            Download the new version from Sysdig’s GitHub and unzip it.

                                                                                                                                                            Note that as of this release, versioning standards have changed from a single build number (e.g. v1929) to semantic versioning (e.g. 2.3.0)

                                                                                                                                                            wget https://github.com/draios/sysdigcloud-kubernetes/archive/<version_number>.tar.gz &&  tar xvf <version_number>.tar.gz
                                                                                                                                                            

                                                                                                                                                            Edit New Files to Match Your Customized Files

                                                                                                                                                            It is important to use the latest YAML files for a successful upgrade.

                                                                                                                                                            Edit the following files within the sysdigcloud directory to match any customizations you may have made in your existing production system.

                                                                                                                                                            Sysdig Cloud Files

                                                                                                                                                            Customization involves copying the existing settings from your environment and modifying the files listed in this section.

                                                                                                                                                            Update the following files with customizations from your existing environment:

                                                                                                                                                            • sysdigcloud/config.yaml: Pull configurations from your sysdigcloud-config configmap to the downloaded sysdigcloud/config.yaml.

                                                                                                                                                              The following variables are mandatory for Sysdig installations:

                                                                                                                                                              api.url
                                                                                                                                                              collector.endpoint
                                                                                                                                                              sysdigcloud.license
                                                                                                                                                              

                                                                                                                                                              The following variables are optional but commonly modified for Sysdig installations:

                                                                                                                                                              cassandra.jvm.options
                                                                                                                                                              elasticsearch.jvm.options
                                                                                                                                                              sysdigcloud.jvm.api.options
                                                                                                                                                              sysdigcloud.jvm.collector.options
                                                                                                                                                              sysdigcloud.jvm.worker.options
                                                                                                                                                              

                                                                                                                                                              If you have modified the previous config.yaml, copy the modified options such as the external endpoints. You must also check deployment YAML files for CPU/memory settings.

                                                                                                                                                            • Copy configurations from your existing deployment and update the spec.replicas definition in the following files:

                                                                                                                                                              • sysdigcloud/api-deployment.yaml

                                                                                                                                                              • sysdigcloud/collector-deployment.yaml

                                                                                                                                                              • sysdigcloud/worker-deployment.yaml

                                                                                                                                                            • If running Sysdig Secure:

                                                                                                                                                              Please do not edit the image: property.

                                                                                                                                                              • sysdigcloud/anchore-core-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-config.yaml

                                                                                                                                                              • sysdigcloud/anchore-core-deployment.yaml

                                                                                                                                                              • sysdigcloud/anchore-worker-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-api-deployment.yaml

                                                                                                                                                              • sysdigcloud/scanning-alertmgr-deployment.yaml

                                                                                                                                                            Postgres File (if running Sysdig Secure)

                                                                                                                                                            Update the following file with customizations from your existing environment:

                                                                                                                                                            Please do not edit the image: property.

                                                                                                                                                            • Modify the storage class name, spec.volumeClaimTemplates[].spec.storageClassName in the datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml file.

                                                                                                                                                            Elasticsearch and Cassandra Files

                                                                                                                                                            In version 2.3.0, Elasticsearch and Cassandra yaml configurations have been updated. Update the new files with customizations from your existing environment.

                                                                                                                                                            Please do not edit the image: property.

                                                                                                                                                            • elasticsearch-statefulset.yaml - For example, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas and spec.template.spec.containers[elasticsearch].env[ELASTICSEARCH_GOSSIP_NODES_NUM].value
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              
                                                                                                                                                            • cassandra-statefulset.yaml - As with Elasticsearch, your environment may have customized the values for the number of replicas, resource constraints, amount of storage, and the storage class name:

                                                                                                                                                              spec.replicas
                                                                                                                                                              spec.template.spec.containers[].resources
                                                                                                                                                              spec.volumeClaimTemplates[].spec.resources.requests.storage
                                                                                                                                                              spec.volumeClaimTemplates[].spec.storageClassName
                                                                                                                                                              

                                                                                                                                                            Apply the Files

                                                                                                                                                            Run the kubectl commands to apply the relevant files to your cluster.

                                                                                                                                                            Note: if you run into an error replacing the statefulsets, you may need to delete the existing one before applying the new configuration. See the Statefulset Deletion and Creation section below.

                                                                                                                                                            Upgrade for Sysdig Monitor

                                                                                                                                                            NAMESPACE=sysdigcloud
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/collector-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/worker-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE replace -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                            kubectl -n $NAMESPACE replace -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                            

                                                                                                                                                            Upgrade for Sysdig Secure

                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-config.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-core-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/anchore-worker-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-alertmgr-service.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-api-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f sysdigcloud/scanning-alertmgr-deployment.yaml
                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                            

                                                                                                                                                            Statefulset Deletion and Creation

                                                                                                                                                            If you are unable to update the existing statefulsets with the commands above, you may need to delete them before applying the new configuration.

                                                                                                                                                            # Elasticsearch
                                                                                                                                                            kubectl -n $NAMESPACE delete statefulset sysdigcloud-elasticsearch
                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/elasticsearch/elasticsearch-statefulset.yaml
                                                                                                                                                            
                                                                                                                                                            # Cassandra
                                                                                                                                                            kubectl -n $NAMESPACE delete statefulset sysdigcloud-cassandra
                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/cassandra/cassandra-statefulset.yaml
                                                                                                                                                            
                                                                                                                                                            # Postgres (if running Sysdig Secure)
                                                                                                                                                            kubectl -n $NAMESPACE delete statefulset sysdigcloud-postgresql
                                                                                                                                                            kubectl -n $NAMESPACE apply -f datastores/as_kubernetes_pods/manifests/postgres/postgres-statefulset.yaml
                                                                                                                                                            

                                                                                                                                                            Replace Existing Statefulset Pods

                                                                                                                                                            The replace command above only replaces the Kubernetes configuration, but not the running pods themselves. For the changes to take effect, perform the following steps:

                                                                                                                                                            1. For Elasticsearch, run:

                                                                                                                                                              kubectl -n $NAMESPACE delete pod -l role=elasticsearch
                                                                                                                                                              kubectl -n $NAMESPACE delete pod -l role=cassandra
                                                                                                                                                              # If running Sysdig Secure
                                                                                                                                                              kubectl -n $NAMESPACE delete pod -l role=postgresql
                                                                                                                                                              
                                                                                                                                                            2. Check that all the new pods come up Ready by running the commands below separately:

                                                                                                                                                              kubectl -n $NAMESPACE get pod -l role=elasticsearch
                                                                                                                                                              kubectl -n $NAMESPACE get pod -l role=cassandra
                                                                                                                                                              # If running Sysdig Secure
                                                                                                                                                              kubectl -n $NAMESPACE get pod -l role=postgresql
                                                                                                                                                              

                                                                                                                                                              This may take a few minutes.

                                                                                                                                                            5.3.6 -

                                                                                                                                                            Manual Upgrade (v2435)

                                                                                                                                                            As of August 2020, Sysdig has changed its upgrade procedure.

                                                                                                                                                            All on-premises installations and upgrades are now scheduled with and guided by Sysdig technical account managers and professional services division. See Oversight Services Now Offered for All Installs and Upgrades .

                                                                                                                                                            For customers, the instructions in this section are for review purposes only.

                                                                                                                                                            Sysdig platform on-premise releases are listed here. Each release has a version number and specific Release Notes.

                                                                                                                                                            Sysdig On-Premise version 2435 replaces v2304, v2266, and v2172. Versions 2304 and 2266 are hotfix releases. Version 2172 is a major release.

                                                                                                                                                            Sysdig On-Premise version 2435 includes the following changes:

                                                                                                                                                            • Dashboards upgraded from v1 to v2: This update happens automatically.

                                                                                                                                                              However, if you have saved v1 dashboards and need to reapply them, follow these instructions: Migrate Saved Dashboards from V1 to V2.

                                                                                                                                                            • Architecture Change in the ContainersIn previous releases, there was a single backend container which ran several processes.

                                                                                                                                                              As of version 2435, the processes have been divided into unique containers, following container best practices.

                                                                                                                                                              As a result, it is necessary to apply the entire configuration, not simply change the image version. Follow the instructions below.

                                                                                                                                                            Contents

                                                                                                                                                            If you have licensed and will run only Sysdig Monitor, then you upgrade fewer components than if you also use Sysdig Secure, as described below.

                                                                                                                                                            Download the New Version

                                                                                                                                                            Use get to download the new version from Sysdig’s GitHub and unzip it.

                                                                                                                                                            For example:

                                                                                                                                                            wget https://github.com/draios/sysdigcloud-kubernetes/archive/<version_number>.tar.gz &&  tar xvf <version_number>.tar.gz
                                                                                                                                                            

                                                                                                                                                            Edit New Files to Match Your Customized Files

                                                                                                                                                            Edit the following files within the sysdigcloud directory to match any customizations you may have made in your existing production system.

                                                                                                                                                            config.yaml

                                                                                                                                                            Edit the Sysdig user name, default user, API URL, Sysdig license, collector endpoint, from your config.yaml to the new config.yaml .

                                                                                                                                                            sysdigcloud.default.user: test@sysdig.com
                                                                                                                                                            collector.endpoint: onprem.sysdigcloud.com
                                                                                                                                                            collector.port: "6443"
                                                                                                                                                            api.url: https://onprem.sysdigcloud.com:443
                                                                                                                                                            

                                                                                                                                                            deployment YAML files

                                                                                                                                                            Edit the CPU limits and replicas in the deployment YAML files: api-deployment.yaml, collector-deployment.yaml, worker-deployment.yaml

                                                                                                                                                            Note that the values in the sample below are examples only; edit them to match the requirements of your deployment.

                                                                                                                                                            spec:
                                                                                                                                                             replicas: 1
                                                                                                                                                            
                                                                                                                                                            ....
                                                                                                                                                            
                                                                                                                                                            resources:
                                                                                                                                                              limits:
                                                                                                                                                                cpu: "4"
                                                                                                                                                                memory: 4Gi
                                                                                                                                                              requests:
                                                                                                                                                                cpu: "1"
                                                                                                                                                                memory: 1G
                                                                                                                                                            

                                                                                                                                                            Apply the Files

                                                                                                                                                            Run the kubctl commands to apply the relevant files to the environment.

                                                                                                                                                            This upgrade updates dashboards from v1 to v2. The process requires 20-30 minutes on large systems, and the environment remains live throughout the rolling upgrade.

                                                                                                                                                            DO NOT create or delete dashboards during the upgrade.

                                                                                                                                                            After upgrading, if you have saved v1 dashboards previously and need to upload them to the v2 environment, see Migrate Saved Dashboards from V1 to V2.

                                                                                                                                                            Upgrade for Sysdig Monitor Only

                                                                                                                                                            kubectl -n sysdigcloud apply -f config.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f api-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f collector-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f worker-deployment.yaml
                                                                                                                                                            

                                                                                                                                                            Upgrade for Sysdig Monitor + Sysdig Secure

                                                                                                                                                            kubectl -n sysdigcloud apply -f config.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f api-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f collector-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f worker-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f scanning-api-deployment.yaml
                                                                                                                                                            kubectl -n sysdigcloud apply -f scanning-alertmgr-deployment.yaml
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.3.7 -

                                                                                                                                                            Basic Upgrade (Replicated)

                                                                                                                                                            Support for new Replicated installations will be deprecated in the coming months. Feel free to contact Sysdig Support with questions.

                                                                                                                                                            Non-Airgapped Installation

                                                                                                                                                            Upgrading is very simple when your environment has access to the Internet during the installation process (non-airgapped).

                                                                                                                                                            It is highly recommended to follow upgrade best practices:

                                                                                                                                                            • Keep upgrades current

                                                                                                                                                            • Upgrade progressively without skipping versions, and

                                                                                                                                                            • Test upgrades in a non-mission-critical or staging environment before rolling in to production.

                                                                                                                                                            Review the On-Premises Upgrades for supported upgrade paths.

                                                                                                                                                            Upgrade Replicated Components

                                                                                                                                                            Check Current Version

                                                                                                                                                            The Replicated infrastructure installs its own container based agents that deploy and manage the various Sysdig back-end components. To confirm the currently running version of the Replicated agent, perform replicated --version at the command line on each host. [Reference Replicated.com]

                                                                                                                                                            Upgrade Replicated Client

                                                                                                                                                            1. Log in to the Replicated Management Console and stop the Sysdig application (Sysdig Monitor and Sysdig Secure, if applicable) before upgrading the Replicated client.

                                                                                                                                                            2. Run the following command on the management host to upgrade the replicated infrastructure:

                                                                                                                                                              sudo curl -sSL https://get.replicated.com/docker | sudo bash
                                                                                                                                                              
                                                                                                                                                            3. Run the following command on the remaining nodes in the cluster:

                                                                                                                                                              sudo curl -sSL https://get.replicated.com/operator | sudo bash
                                                                                                                                                              

                                                                                                                                                            Upgrade Sysdig Application

                                                                                                                                                            Installation Sequence:

                                                                                                                                                            • Pre-Version 860: Install upgrades sequentially, one version at a time.

                                                                                                                                                            • Version 860 - 1091: You can directly install the version you want.*

                                                                                                                                                            • Version 1091 - Sept 2018 release: All users must upgrade from 1091 - Sept 2018 and run the Unified Events migration tool.

                                                                                                                                                            • Version 2266: See Note, below.

                                                                                                                                                            *Sequential installs (even when not strictly required) ensure consistent database migrations and allow for easier troubleshooting, should problems occur. Sysdig recommends staying fairly up-to-date on the release cycle to avoid “stacking up” upgrades.

                                                                                                                                                            1. Log in to the Replicated Management Console > Dashboards.

                                                                                                                                                            2. Click View Update.

                                                                                                                                                              The release history is listed, and “New” for any new releases.

                                                                                                                                                            3. Click Install for the desired release.

                                                                                                                                                            Upgrades to version 2304

                                                                                                                                                            After upgrading to version 2304, you must add a node for emailrenderer and nginxfrontend to the replicated cluster, and then run a command on the node.

                                                                                                                                                            • Private and Public IP Addresses: Provide the IPs where the containers will run.

                                                                                                                                                            • Select emailrenderer and nginxfrontend.

                                                                                                                                                            • Run the curl command as noted in the image above, including the optional parameters as needed for your environment.

                                                                                                                                                            Airgapped Installation

                                                                                                                                                            Upgrade Replicated Components

                                                                                                                                                            Check Current Version

                                                                                                                                                            The Replicated infrastructure installs its own container based agents that deploy and manage the various Sysdig back-end components. To confirm the currently running version of the Replicated agent, perform replicated --version at the command line on each host. See also Replicated.com.

                                                                                                                                                            Upgrade Replicated Client

                                                                                                                                                            1. Download the latest Replicated agent installation package:

                                                                                                                                                              curl https://s3.amazonaws.com/replicated-airgap-work/replicated.tar.gz > replicated.tar.gz
                                                                                                                                                              
                                                                                                                                                            2. In a command shell, extract the Replicated installer:

                                                                                                                                                              sudo tar xzvf replicated.tar.gz
                                                                                                                                                              
                                                                                                                                                            3. Run the ‘install.sh’ script on the management host:

                                                                                                                                                              sudo cat ./install.sh | sudo bash -s airgap
                                                                                                                                                              
                                                                                                                                                            4. Run the ‘operator_install.sh’ script on all remaining nodes:

                                                                                                                                                              sudo cat ./operator_install.sh | sudo bash -s airgap
                                                                                                                                                              

                                                                                                                                                            Upgrade Sysdig Application

                                                                                                                                                            1. Download the new Sysdig application .airgap installer, using the link and password supplied for the initial installation.

                                                                                                                                                            2. Copy the .airgap file to the update directory on the management host.

                                                                                                                                                              To check or configure the update path, log in to the Replicated Management Console and click Console Settings > Airgapped Settings section under the gear icon.

                                                                                                                                                            3. In the Replicated Management Console, select the Dashboard tab and click Check Now.

                                                                                                                                                            4. Click Install for the desired version.

                                                                                                                                                            5.4 -

                                                                                                                                                            Find the Super Admin Credentials and API Token

                                                                                                                                                            Sysdig on-premises installations contain several configuration options only available to the initial admin user, or “super” admin user. This section outlines the steps for locating the super admin user (if you do not know who it is) and using the super user login token.

                                                                                                                                                            The Sysdig Monitor web interface does not currently provide a way to identify the super user. If you are trying to use the API to make a configuration change and it fails due to insufficient privileges, you can use the API to locate the super user.

                                                                                                                                                            Find Super Admin Credentials

                                                                                                                                                            Two approaches:

                                                                                                                                                            1. Access the API endpoint to list users directly via curl and parse the JSON output to locate the user with “ROLE_ADMIN” listed in the “roles” section.

                                                                                                                                                            # curl -k \
                                                                                                                                                                -H 'Authorization: Bearer xxxxxxxx-yyyy-zzzz-aaaa-bbbbbbbbbbbb' \
                                                                                                                                                                https://<your-sysdig-monitor-hostname>/api/users \
                                                                                                                                                                | python -m json.tool
                                                                                                                                                            

                                                                                                                                                            Output:

                                                                                                                                                            {
                                                                                                                                                                "users": [
                                                                                                                                                                    {
                                                                                                                                                                    ....
                                                                                                                                                                        "roles": [
                                                                                                                                                                            "ROLE_ADMIN",
                                                                                                                                                                            "ROLE_CUSTOMER",
                                                                                                                                                                            "ROLE_USER"
                                                                                                                                                                         ],
                                                                                                                                                                         "username": "your-super-admin@example.com"
                                                                                                                                                                    },
                                                                                                                                                                    ...
                                                                                                                                                                ]
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            2. Use this example Python script that leverages the Sysdig Monitor API.

                                                                                                                                                            export SDC_SSL_VERIFY="false"
                                                                                                                                                            export SDC_URL="https://<your-sysdig-monitor-hostname>"
                                                                                                                                                            # python list_admins.py xxxxxxxx-yyyy-zzzz-aaaa-bbbbbbbbbbbb
                                                                                                                                                            

                                                                                                                                                            Output:

                                                                                                                                                            Admin users
                                                                                                                                                            -----------
                                                                                                                                                            your-super-admin@example.com
                                                                                                                                                            regular-admin@example.com
                                                                                                                                                            
                                                                                                                                                            Super Admins
                                                                                                                                                            ------------
                                                                                                                                                            your-super-admin@example.com
                                                                                                                                                            

                                                                                                                                                            Find Sysdig API Token

                                                                                                                                                            As with any user, you can then obtain the API token by logging in as the “super” admin to the Sysdig UI.

                                                                                                                                                            When using the Sysdig API with custom scripts or applications, an API security token (specific to each team) must be supplied.

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure and select Settings.

                                                                                                                                                            2. Select User Profile.The Sysdig Monitor or Sysdig Secure API token is displayed (depending on which interface and team you logged in to).

                                                                                                                                                            3. You can Copy the token for use, or click the Reset Token button to generate a new one.

                                                                                                                                                              When reset, the previous token issued will immediately become invalid and you will need to make appropriate changes to your programs or scripts.

                                                                                                                                                            5.5 -

                                                                                                                                                            Configure Interactive Session Expiration

                                                                                                                                                            (For On-Premises installations): When you want inactive sessions to deactivate after a time-out period, you need to set four interlinked configuration parameters with the installer. Two of these parameters handle the session expiration in the backend and two of them control the frontend tracker that handles the session expiration when the user’s browser is idle. To achieve session expiration for a specific period of time (for example, 30 minutes), these parameters should be aligned to the same value.

                                                                                                                                                            The parameters, with sample settings, are:

                                                                                                                                                            sysdig
                                                                                                                                                             inactivitySettings:
                                                                                                                                                                trackerEnabled: true
                                                                                                                                                                trackerTimeout: 1800
                                                                                                                                                              api:
                                                                                                                                                                jvmOptions: -Ddraios.security.rememberMe.tokenValiditySeconds=1800 -Ddraios.security.session.timeoutMinutes=30
                                                                                                                                                            

                                                                                                                                                            Parameter

                                                                                                                                                            Description

                                                                                                                                                            Values

                                                                                                                                                            sysdig.inactivitySettings.trackerEnabled

                                                                                                                                                            Must be set to enable frontend activity tracker in general, boolean

                                                                                                                                                            false by default

                                                                                                                                                            sysdig.inactivitySettings.trackerTimeout

                                                                                                                                                            Timeout in seconds before the inactive interactive session expires, valid only if

                                                                                                                                                            sysdig.inactivitySettings.trackerEnabled is set to true

                                                                                                                                                            1800 seconds by default

                                                                                                                                                            draios.security.rememberMe.tokenValiditySeconds

                                                                                                                                                            Must match the trackerTimeout value

                                                                                                                                                            1800 if trackerTimeout default is used

                                                                                                                                                            draios.security.session.timeoutMinutes

                                                                                                                                                            Convert validitySeconds to minutes

                                                                                                                                                            30 if trackerTimeout default is used

                                                                                                                                                            The jvmOptions parameters handle the backend session expiration, while the sysdig.inactivitySettings.trackerEnabled and

                                                                                                                                                            sysdig.inactivitySettings.trackerTimeout handle the frontend activity tracker.

                                                                                                                                                            See also: configuration_parameters.md.

                                                                                                                                                            5.6 -

                                                                                                                                                            Upgrade an On-Premises License

                                                                                                                                                            On-premises environments may require a license upgrade to renew, extend an expiration date, enable new features, add a service (Sysdig Secure), or change the number of licensed agents.

                                                                                                                                                            For Kubernetes On-Prem Installations

                                                                                                                                                            As described in the Kubernetes installation instructions, the license file is simply entered as one of many configuration user settings in the ConfigMap (config.yaml) (manual install) or values.yaml (installer-based).

                                                                                                                                                            The relevant parameter is:

                                                                                                                                                             # Required: Sysdig Cloud license
                                                                                                                                                              sysdigcloud.license: ""
                                                                                                                                                            

                                                                                                                                                            To apply the new license, update the yaml file with the new license and then restart all Sysdig API, Worker, and Collector pods.

                                                                                                                                                            For Replicated On-Prem Installations

                                                                                                                                                            Upgrade an Airgapped License

                                                                                                                                                            If you are running an airgapped environment, you must download the license file to a local directory, then follow the steps below.

                                                                                                                                                            1. Log in to the Replicated Management Console and choose Console Settings from the gear icon drop-down menu.

                                                                                                                                                              Review the current airgapped settings and note the pathname to the license file.

                                                                                                                                                              If you followed the Airgapped Installation instructions, your current .rli license file will be in the/var/tmp/sysdigdirectory as shown below.

                                                                                                                                                              (The name of your .rli file will vary.)

                                                                                                                                                            2. From the Linux shell, cd to the directory shown as the Update Path and replace your prior RLI license file with the new one, saving the prior one to a backup filename.

                                                                                                                                                              NOTE: the new license file may have a different name than the prior one, and may have a non-RLI extension if it was sent to you as an email attachment (to avoid being removed by firewalls).

                                                                                                                                                              The steps below are an example of renaming the license as necessary for the environment shown above (your filenames will vary).

                                                                                                                                                              /var/tmp/sysdig# mv my-replicated-license.rli prior-replicated-license-1.rli
                                                                                                                                                              /var/tmp/sysdig# mv newer-license.allow my-replicated-license.rli
                                                                                                                                                              
                                                                                                                                                            3. Continue in the Replicated Management Console to sync the license and restart the Sysdig application, as described in the non-airgapped instructions below.

                                                                                                                                                            Upgrade a Non-Airgapped License

                                                                                                                                                            If your environment can access the Internet, upgrading the license is a simple sync and restart.

                                                                                                                                                            1. Log in to the Replicated Management Console.

                                                                                                                                                            2. Select View License from the Gear drop-down menu.

                                                                                                                                                            3. Click Sync License.

                                                                                                                                                            4. For license terms to take effect, restart the Sysdig application from the Replicated Management Console.

                                                                                                                                                              Navigate to theDashboard on the pull-down menu and click theStop Nowbutton, followed by theStart Nowbutton.

                                                                                                                                                            5.7 -

                                                                                                                                                            Authentication and Authorization (On-Prem Options)

                                                                                                                                                            This section is for the Sysdig On-Premises software platform only. If you are using SaaS (cloud-based) Sysdig applications, see Authentication and Authorization (SaaS) instead.

                                                                                                                                                            Sysdig Monitor and Sysdig Secure are designed to work with several user authentication/authorization methods:

                                                                                                                                                            TypeEnabled by DefaultIntegration Steps Required
                                                                                                                                                            User email/passwordYesNo
                                                                                                                                                            Google OAuthNoYes
                                                                                                                                                            SAMLNoYes
                                                                                                                                                            OpenID ConnectNoYes
                                                                                                                                                            LDAPNoYes

                                                                                                                                                            A sample user’s view:

                                                                                                                                                            The pages in this section describe the integration and enablement steps required for SAML or OpenID Connect, and the Identity Provider (IdP) services that support these protocols, such as Okta, OneLogin, Keycloak.

                                                                                                                                                            In the SaaS environment, Googlelogin can be enabled with a simple drop-down selection; the integration has already been performed.

                                                                                                                                                            To enable a third-party authentication method for both Sysdig Monitor and Sysdig Secure, you must configure the SSO settings separately for each.

                                                                                                                                                            Workflow

                                                                                                                                                            With the new Authorization UI, the basic process of enabling a Single Sign-On (SSO) option is:

                                                                                                                                                            1. Determine which SSO option (GoogleOAuth, SAML, OpenID, LDAP) your enterprise uses, and which IdP service (Okta, OneLogin, etc.) is used if any.

                                                                                                                                                            2. Configure any associated IdP settings on the IdP side.

                                                                                                                                                            3. Enter the required connection settings for the chosen SSO on the appropriate Authentication tab in Sysdig Settings.

                                                                                                                                                              You can also configure the settings using a script, if preferred.

                                                                                                                                                            4. Select the SSO option from the Enabled Single Sign-On drop-down and click Save Authentication.

                                                                                                                                                            5. If enabling for both Sysdig Monitor and Sysdig Secure, perform the necessary steps on the second application.

                                                                                                                                                            View of the Authentication page for Google OAuth in the on-prem environment.

                                                                                                                                                            5.7.1 -

                                                                                                                                                            Google OAuth (On-Prem)

                                                                                                                                                            These instructions are specific to On-Premises Deployments of the Sysdig platform. If you are using the cloud-based (SaaS) Sysdig platform, refer to Google OAuth (SaaS) instead.

                                                                                                                                                            Google supports OAuth 2.0, which allows users to log in to third-party applications such as Sysdig using Google credentials. By default, the created user will not have Admin rights within the Sysdig application, though these rights can be subsequently assigned.

                                                                                                                                                            Prerequisites

                                                                                                                                                            The Sysdig platform on-premises installation must have a DNS name associated with it. Google does not support applications that do not have an associated DNS name.

                                                                                                                                                            DNS Name

                                                                                                                                                            Replicated

                                                                                                                                                            For Replicated-based installations, enter your Hostname in the Settings tab.

                                                                                                                                                            Kubernetes

                                                                                                                                                            For Kubernetes-based installations, ensure the api.url ConfigMap element contains your hostname (older installations), or use the sysdig.dnsname (newer Installer-based).

                                                                                                                                                            For the examples that follow, DNS_NAME refers to this hostname you configured in your platform settings.

                                                                                                                                                            In Google Console: Obtain OAuth Client Credentials

                                                                                                                                                            1. Log in to the Google API Console.

                                                                                                                                                            2. Create your project.

                                                                                                                                                            3. Select Credentials from the left-hand navigation, and choose the OAuth consent screen from the navigation bar.

                                                                                                                                                            4. When prompted, select Internal or External User Type and click Create.

                                                                                                                                                              Choosing Internal will limit the users to those with accounts belonging to the same domain as the email used to create the project, e.g. mycompany.com. Note that if some of your users have a different domain, e.g. mycompany.uk, you will want to choose the External user type.

                                                                                                                                                            5. On the subsequent Oauth Consent screen, enter the required Email address and Product name, as well as other additional optional information, then click Save.

                                                                                                                                                            6. From the Credentials tab, click the Create Credentials drop-down and select OAuth client ID.

                                                                                                                                                            7. When prompted for Application type, select Web application, then enter the following parameters:

                                                                                                                                                              • Name: Use a meaningful name, such as “Sysdig”.

                                                                                                                                                              • Authorized Javascript Origins: Enter https://DNS_NAME:API_PORT

                                                                                                                                                              • Authorized Redirect URLs: Enter one or more of the following values:

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://DNS_NAME:API_PORT/api/oauth/google/auth

                                                                                                                                                                If configuring Sysdig Secure, enter: https://DNS_NAME:API_PORT/api/oauth/google/secureAuth

                                                                                                                                                            8. Click Create.

                                                                                                                                                              A success message with client ID and client secret will be displayed. Copy these to a safe place, as you will need them in the next step.

                                                                                                                                                            Configure Settings in Sysdig Platform

                                                                                                                                                            There are three options for configuring OAuth settings on the Sysdig side: a UI page, scripts, or entries in your Replicated or Kubernetes orchestrator.

                                                                                                                                                            Option 1 UI-Based: Configure Google OAuth in Settings

                                                                                                                                                            To enable baseline Google Oauth functionality:

                                                                                                                                                            Enter Google OAuth Basic Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as “super” Admin and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the Google OAuth tab.

                                                                                                                                                            4. Enter the relevant parameters and click Save.

                                                                                                                                                              Application ID: the Client ID you were sent.

                                                                                                                                                              Application Secret: the Client Secret you were sent

                                                                                                                                                              URL Redirect:

                                                                                                                                                              If configuring Sysdig Monitor, enter: https://DNS_NAME:API_PORT/api/oauth/google/auth

                                                                                                                                                              If configuring Sysdig Secure, enter: https://DNS_NAME:API_PORT/api/oauth/google/secureAuth Allowed Domains: Comma-separated list of domains permitted to log in. For example, mycompany.com, myxompanyalias.com.

                                                                                                                                                            Select Google OAuth for SSO

                                                                                                                                                            1. Select Google Oauth from the Enabled Single Sign-On dropdown

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            3. Repeat for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            Option 2 Script-Based: Configure OAuth Using Scripts

                                                                                                                                                            The configuration of the Google OAuth feature can be viewed, updated, and deleted by the “super” Admin. A google_oauth_config.sh helper script is available in the SSO folder at sysdig-cloud-scripts repository to assist in completing this configuration. Invoking the script with no options will display help text.

                                                                                                                                                            # ./google_oauth_config.sh -h
                                                                                                                                                            Usage: ./google_oauth_config.sh [OPTIONS]
                                                                                                                                                            
                                                                                                                                                            Affect Google Oauth login settings for your Sysdig software platform installation
                                                                                                                                                            

                                                                                                                                                            To use the helper script, modify env.sh to set the required values for API_TOKEN of the “super” Admin user and the URL for accessing the Sysdig platform API (which will be the same URL that your users access for the Sysdig Monitor application).

                                                                                                                                                            Depending if the API_TOKEN has been obtained from the Sysdig Monitor or Sysdig Secure application UI, the settings will be applied to the consequent product.

                                                                                                                                                            Initially no Google Oauth settings are set. A initial run of the script would confirm that:

                                                                                                                                                            # ./google_oauth_config.sh
                                                                                                                                                            No google-oauth settings are set
                                                                                                                                                            Run for further info: ./google_oauth_config.sh -h
                                                                                                                                                            

                                                                                                                                                            Add the -s option to set the Google Oauth configuration for a particular Sysdig application. When setting the config, you’ll use additional options to provide the config details you saved in the earlier Google Oauth step.

                                                                                                                                                            Config DetailOption
                                                                                                                                                            Client ID-i
                                                                                                                                                            Client Secret-e
                                                                                                                                                            Allowed Domains-a
                                                                                                                                                            Redirect URL-r

                                                                                                                                                            If the configuration is successfully posted to the Sysdig platform, the new configuration will be echoed back.

                                                                                                                                                            Depending if the API_TOKEN has been obtained from the Sysdig Monitor or Sysdig Secure application UI, the settings will be applied to the relevant product.

                                                                                                                                                            # ./google_oauth_config.sh -s -i "t2em0alq7l13n1hevua48ehieenkb06q.apps.googleusercontent.com" -e "ucP_WY908-k" -r "https://sysdigtest.com:443/api/oauth/google/auth" -a "[\"sysdig.com\"]"
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547709552000,
                                                                                                                                                                "type": "google-oauth",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "clientId": "t2em0alq7l13n1hevua48ehieenkb06q.apps.googleusercontent.com",
                                                                                                                                                                  "clientSecret": "ucP_WY908-k",
                                                                                                                                                                  "redirectUrl": "https://sysdigtest.com:443/api/oauth/google/auth",
                                                                                                                                                                  "allowedDomains": [
                                                                                                                                                                    "sysdig.com"
                                                                                                                                                                  ]
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Once you’ve completed this configuration, clicking the Google Login button at the login screen of the appropriate Sysdig application(s) should redirect to Google Oauth login page.

                                                                                                                                                            If you wish to delete your Google Oauth configuration, invoke the -d option. If successful, the disabled configuration will be printed.

                                                                                                                                                            # ./google_oauth_config.sh -d
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547709552000,
                                                                                                                                                                "type": "google-oauth",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "clientId": "t2em0alq7l13n1hevua48ehieenkb06q.apps.googleusercontent.com",
                                                                                                                                                                  "clientSecret": "ucP_WY908-k",
                                                                                                                                                                  "redirectUrl": "https://sysdigtest.com:443/api/oauth/google/auth",
                                                                                                                                                                  "allowedDomains": [
                                                                                                                                                                    "sysdig.com"
                                                                                                                                                                  ]
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Option 3 Orchestrator-Based: Enter Settings Using Orchestrator

                                                                                                                                                            Replicated

                                                                                                                                                            If you used the Replicated infrastructure manager to install the Sysdig platform:

                                                                                                                                                            1. Log in to the Replicated Management Console, click to the Settings tab, then check the box to expand theAdvanced Settings.

                                                                                                                                                            2. Enter the Google OAuth client ID and Google OAuth client Secret in the appropriate fields.

                                                                                                                                                            3. (Optional) In a comma-separated list, enter the OAuth-allowed email domains that should be permitted to authenticate. If set, only Google users whose email addresses are in these domains will be able to login to your Sysdig installation. If this setting is left blank, any user that successfully authenticates via Google will be permitted to login to your Sysdig installation.

                                                                                                                                                            4. Click Save.The Sysdig platform will then restart to enable the settings.

                                                                                                                                                            Kubernetes

                                                                                                                                                            Enter the OAuth allowed domains, Client ID, and Client Secret into the appropriate elements of the Kubernetes ConfigMap. Use appropriate Kubernetes methods to push the updated settings and restart the backend containers to make the changes take effect.

                                                                                                                                                            # Optional: OAuth allowed domains (comma separated list of domains) sysdigcloud.oauth.allowed.domains.list: "" # Optional: Sysdig Cloud Google OAuth Client ID sysdigcloud.google.oauth.client.id: "" # Optional: Sysdig Cloud Google OAuth Client Secret sysdigcloud.google.oauth.client.secret: ""

                                                                                                                                                            User Experience

                                                                                                                                                            Note the following requirements for successful Google OAuth login:

                                                                                                                                                            • The user must have already logged in successfully at least once to your environment (such as via email-based Invitation and having set an initial password)

                                                                                                                                                            • The user’s login username in the Sysdig platform must precisely match the user’s Google email address (that is, it cannot be a shortened/altered Google email alias)

                                                                                                                                                            For such a user to log in via Google OAuth, click the Log in with Google button.

                                                                                                                                                            If the user’s browser has not already successfully authenticated via Google and/or has multiple Google profiles known by their browser, they will be presented a Google page to select a profile and enter a password (if necessary) before being redirected back to your Sysdig environment.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            5.7.2 -

                                                                                                                                                            SAML (On-Prem)

                                                                                                                                                            These instructions are specific to On-Premises Deployments of the Sysdig platform. If you are using the cloud-based (SaaS) Sysdig platform, refer to SAML (SaaS) instead.

                                                                                                                                                            SAML support in the Sysdig platform allows authentication via your choice of Identity Provider (IdP).

                                                                                                                                                            The Sysdig platform ordinarily maintains its own user database to hold a username and password hash. SAML instead allows for redirection to your organization’s IdP to validate username/password and other policies necessary to grant access to Sysdig application(s). Upon successful authentication via SAML, a corresponding user record in the Sysdig platform’s user database is automatically created, though the password that was sent to the IdP is never seen nor stored by the Sysdig platform.

                                                                                                                                                            This section describes how to integrate and enable SAML with both Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            For specific IdP integration information, refer to:

                                                                                                                                                            See also Caveats, below.

                                                                                                                                                            Basic Enablement Workflow

                                                                                                                                                            Step

                                                                                                                                                            Options

                                                                                                                                                            Notes

                                                                                                                                                            1. Know which IdP your company uses and will be configuring.

                                                                                                                                                            These are the IdPs for which Sysdig has performed detailed interoperability testing and confirmed how to integrate using their standard docs.

                                                                                                                                                            If your IDP is not listed, it may still work with the Sysdig platform. Contact Sysdig Support for help.

                                                                                                                                                            2. Decide the login flow you want users to experience (choose from three options):

                                                                                                                                                            Click SAML button

                                                                                                                                                            From https://HOSTNAME/ or https://HOSTNAME/secure/

                                                                                                                                                            Type/bookmark a URL in browser

                                                                                                                                                            Monitor:https://HOSTNAME/api/saml

                                                                                                                                                            Secure: https://HOSTNAME/api/saml?product=SDS

                                                                                                                                                            Log in from an IdP interface

                                                                                                                                                            The individual IdP integration pages describe how to add Sysdig to the IdP interface.

                                                                                                                                                            You will need your Sysdig customer number on hand. Normally 1 for on-premises.

                                                                                                                                                            3. Perform the configuration steps in your IdP interface and collect the resulting config attributes.

                                                                                                                                                            Collect metadata URL (or XML) and test it.

                                                                                                                                                            If you intend to configure IDP-initiated login flow, have your Sysdig customer number on hand. It will be referenced in later configuration steps as CUSTOMER_ID_NUMBER. Normally 1.

                                                                                                                                                            4 a. Log in to Sysdig Monitor (as "super" admin) and enter the necessary configuration information in the UI. Enable SAML as your SSO.

                                                                                                                                                            4b. Log in to Sysdig Secure (as "super" admin) and repeat the above.

                                                                                                                                                             

                                                                                                                                                            Administrator Steps

                                                                                                                                                            Configure IdP

                                                                                                                                                            Select the appropriate IdP from the list below, and follow the instructions:

                                                                                                                                                            UI-Based: Configure SAML in Settings

                                                                                                                                                            At this time, the Authorization UI is available only for Sysdig Monitor.

                                                                                                                                                            To enable baseline SAML functionality:

                                                                                                                                                            Enter SAML Connection Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the SAML tab.

                                                                                                                                                            4. Enter the relevant parameters (see table below) and click Save.

                                                                                                                                                              It is strongly recommended that “Signed Assertion” and “Validate Signature” are enabled to ensure that the SAML SSO process is as secure as possible.

                                                                                                                                                            Connection SettingOptionsDescriptionSample Entry
                                                                                                                                                            MetadataURLThe URL provided at the end of the IdP configuration steps.
                                                                                                                                                            XMLAn option that can be used for an IdP that doesn’t support extracting metadata XML via URL.
                                                                                                                                                            Signed Assertionoff/onShould Sysdig check for assertions signed in responses (to assist in validating correct IdP).ON
                                                                                                                                                            Email ParameteremailName of parameter in the SAML response for user email ID. Sysdig uses this to extract the user’s email from the response.email
                                                                                                                                                            Validate Signatureoff/onSysdig backend should verify that the response is signed.ON
                                                                                                                                                            Verify Destinationoff/onFlag to control whether Sysdig should check the “destination” field in the SAMLResponse. Recommend ON, as a security measure. May be OFF in special cases, such as a proxy in front of the Sysdig back end.ON

                                                                                                                                                            Select SAML for SSO

                                                                                                                                                            1. Select SAML from the Enabled Single Sign-On dropdown

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            3. Repeat entire enablement process for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            Script-Based: Configure SAML Using Scripts

                                                                                                                                                            The configuration of the SAML feature can be viewed, updated, and deleted by the “super” Admin. A saml_config.sh helper script is available in the SSO folder at sysdig-cloud-scripts repository to assist in completing this configuration. Invoking the script with no options will display help text.

                                                                                                                                                            # ./saml_config.sh
                                                                                                                                                            Must specify the Sysdig App whose SAML configuration will be viewed/set
                                                                                                                                                            
                                                                                                                                                            Usage: ./saml_config.sh [OPTIONS]
                                                                                                                                                            
                                                                                                                                                            Affect SAML login settings for your Sysdig software platform installation
                                                                                                                                                            
                                                                                                                                                            If no OPTIONS are specified, only the help output is displayed.
                                                                                                                                                            

                                                                                                                                                            To use the helper script, modify env.sh to set the required values for API_TOKEN of the “super” Admin user and the URL for accessing the Sysdig platform API (which will be the same URL that your users access for the Sysdig Monitor application).

                                                                                                                                                            Depending if the API_TOKEN has been obtained from the Sysdig Monitor or Sysdig Secure application UI, the settings will be applied to the relevant product.

                                                                                                                                                            Initially no SAML settings are set. A initial run of the script would confirm that:

                                                                                                                                                            # ./saml_config.sh
                                                                                                                                                            No saml settings are set
                                                                                                                                                            Run for further info: ./saml_config.sh -h
                                                                                                                                                            

                                                                                                                                                            Add the -s option to set the SAML configuration for a particular Sysdig application. When setting the config, you’ll also include the metadata URL you saved in the earlier IDP configuration step (-m option) and specify the name of a supported IDP configuration (-i option), which will tailor other details of your SAML configuration to the specifics of that IDP. If the configuration is successfully posted to the Sysdig platform, the new configuration will be echoed back.

                                                                                                                                                            An example of creating the two separate SAML configurations for both Monitor and Secure, each using Okta IDP settings:

                                                                                                                                                            # ./saml_config.sh -s -m 'https://dev-824158.oktapreview.com/app/exkfpgqiskSoGZrjE0h7/sso/saml/metadata' -i okta
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547539750000,
                                                                                                                                                                "type": "saml",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "metadataUrl": "https://dev-824158.oktapreview.com/app/exkfpgqiskSoGZrjE0h7/sso/saml/metadata",
                                                                                                                                                                  "metadata": null,
                                                                                                                                                                  "validateSignature": true,
                                                                                                                                                                  "emailParameter": "email",
                                                                                                                                                                  "signedAssertion": true,
                                                                                                                                                                  "verifyDestination": true,
                                                                                                                                                                  "createUserOnLogin": true
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            If you are using an IDP other than those available with the -i option, contact Sysdig Support for assistance with determining the correct settings.

                                                                                                                                                            Once you’ve completed this configuration, clicking the SAML button at the login screen of the appropriate Sysdig application(s) should redirect to your IDP for authentication.

                                                                                                                                                            If you wish to delete your SAML configuration, invoke the -d option. If successful, the disabled configuration will be printed.

                                                                                                                                                            # ./saml_config.sh -a monitor -d
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547539750000,
                                                                                                                                                                "type": "saml",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "metadataUrl": "https://dev-824158.oktapreview.com/app/exkfpgqiskSoGZrjE0h7/sso/saml/metadata",
                                                                                                                                                                  "metadata": null,
                                                                                                                                                                  "validateSignature": true,
                                                                                                                                                                  "emailParameter": "email",
                                                                                                                                                                  "signedAssertion": true,
                                                                                                                                                                  "verifyDestination": true,
                                                                                                                                                                  "createUserOnLogin": true
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Configure SAML Single Logout

                                                                                                                                                            Sysdig supports SAML Single Logout (SLO).

                                                                                                                                                            SLO is a feature in federated authentication where Sysdig users can sign out of both their Sysdig session (Service Provider) and associated IdP (Identity Provider) simultaneously. SLO allows you to terminate all sessions established via SAML SSO by initiating a single logout process. Closing all user sessions prevents unauthorized users from gaining access to Sysdig resources.

                                                                                                                                                            SLO Process

                                                                                                                                                            When a user initiates a logout, Sysdig sends a digitally-signed logout request to the IdP. The IdP validates the request and terminates the current login session, then redirects the user back to the Sysdig login page.

                                                                                                                                                            Caveats

                                                                                                                                                            • SLO is currently supported only in US-West and EU-Central regions.

                                                                                                                                                            • Sysdig does not support HTTP Post binding for single logout, and therefore, SLO with Okta is not functional at this point.

                                                                                                                                                            Configure IdP

                                                                                                                                                            1. Configure logout URLs:

                                                                                                                                                              • Monitor: <base_URL>/api/saml/slo/logout

                                                                                                                                                              • Secure: <base_URL>/api/saml/slo/secureLogout

                                                                                                                                                            2. Choose HTTP Redirect as the binding method.

                                                                                                                                                              This option is an alternative to the HTTP POST method, which Sysdig does not support currently.

                                                                                                                                                            3. If your IdP mandates, upload the public key for Sysdig.

                                                                                                                                                              Contact Sysdig Support to retrieve the public key associated with your deployment.

                                                                                                                                                              Certain IDPs, such as Azure, don’t require uploading the public key.

                                                                                                                                                            Configure Sysdig

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as an administrator and select Settings.

                                                                                                                                                              For on-prem deployments, log in as the super admin.

                                                                                                                                                            2. Navigate to Settings > Authentication, and select SAML under Connection Settings.

                                                                                                                                                            3. Enter the SAML configuration.

                                                                                                                                                            4. Ensure that Enable SAML single logout is toggled on.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            6. Ensure that you select SAML from the Enable Single Sign On drop-down.

                                                                                                                                                            Optional: Auto-creation of user records

                                                                                                                                                            When a user successfully authenticates via SAML, if a user record does not yet exist in the Sysdig platform database for their email address, one will be created at that time (default behavior). Some environments may not like this approach and may instead only want to permit logins for users whose records already exist (such as may have been already created via email invite or creation via the API).

                                                                                                                                                            To disable the auto-creation of user records after SAML authentication, add the -n option to your command line when applying your settings. This will set createUserOnLogin to false .

                                                                                                                                                            # ./saml_config.sh -s -n -m 'https://dev-824158.oktapreview.com/app/exkfpgqiskSoGZrjE0h7/sso/saml/metadata' -i okta
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 2,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547539856000,
                                                                                                                                                                "type": "saml",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "metadataUrl": "https://dev-824158.oktapreview.com/app/exkfpgqiskSoGZrjE0h7/sso/saml/metadata",
                                                                                                                                                                  "metadata": null,
                                                                                                                                                                  "validateSignature": true,
                                                                                                                                                                  "emailParameter": "email",
                                                                                                                                                                  "signedAssertion": true,
                                                                                                                                                                  "verifyDestination": true,
                                                                                                                                                                  "createUserOnLogin": false
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            User Experience

                                                                                                                                                            As noted in the Basic Workflow, above, you can offer users three ways to log in with a SAML configuration:

                                                                                                                                                            • They can begin at the Sysdig SaaS URL and click the SAML button.

                                                                                                                                                              In the US East, Monitor: https://HOSTNAME/ or Secure: https://HOSTNAME/secure/.

                                                                                                                                                              See SaaS Regions and IP Ranges for URLs for other regions.

                                                                                                                                                              They will be prompted to enter a Company Name, so the Sysdig platform can redirect the browser to your IdP for authentication.

                                                                                                                                                            • You can provide an alternative URL to avoid the user having to enter a company name, in the format:

                                                                                                                                                              Sysdig Monitor: https://<HOSTNAME>/api/saml

                                                                                                                                                              Sysdig Secure: https://<HOSTNAME>/api/saml/secureAuth

                                                                                                                                                              This format is for the US East region. See SaaS Regions and IP Ranges for URLs for other regions.

                                                                                                                                                            • You can configure an IdP-initiated login flow when configuring your IdP. The users then select the Sysdig application from your IDP’s app directory and do not browse directly to a Sysdig application URL at all.

                                                                                                                                                            Users that complete their first successful SAML login to Sysdig Secure may receive the error message “User doesn’t have permission to login in Sysdig Secure”. This is because only members of the Secure Operations team are permitted access to Sysdig Secure, and newly-created logins are not in this team by default. Such a user should contact an Administrator for the Sysdig environment to be added to the Secure Operations team.

                                                                                                                                                            Environments that wish to have all users access Secure by default could use this example script to frequently “sync” the team memberships.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            Caveats

                                                                                                                                                            • SAML Assertion Encryption/Decryption is not currently supported.

                                                                                                                                                            • SAML Single Logout is not supported. Therefore, users should take care to log out directly from Sysdig application(s).

                                                                                                                                                            5.7.2.1 -

                                                                                                                                                            Okta (SAML On-Prem)

                                                                                                                                                            Review SAML (On-Prem) before you begin.

                                                                                                                                                            Configure Sysdig Monitor and/or Sysdig Secure as a SAML application using Okta’s documentation for Setting Up a SAML Application in Okta. The notes below call out specific steps that require additional action.

                                                                                                                                                            Sysdig-Specific Steps for Okta Configuration

                                                                                                                                                            IDP-Initiated Login Flow

                                                                                                                                                            If you don’t intend to configure IDP-initiated login flow, check the boxes for “Do not display application icon to users” and “Do not display application icon in the Okta Mobile app”.

                                                                                                                                                            SSO, URI, and RelayState Values

                                                                                                                                                            Enter the values shown in the table below, replacing HOSTNAME with the hostname through which your users access the Sysdig application(s) and PORT with the TCP port # (typically 443).

                                                                                                                                                            To configure IDP-initiated login flow, replace CUSTOMER-ID-NUMBER with the number retrieved as described in Find Your Customer Number. (Normally the Customer ID will be 1 in on-prem installations.)

                                                                                                                                                            Setting

                                                                                                                                                            Value for Sysdig Monitor

                                                                                                                                                            Value for Sysdig Secure

                                                                                                                                                            Single sign on URL

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/auth

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/secureAuth

                                                                                                                                                            Audience URI (SP Entity ID)

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/metadata

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/metadata

                                                                                                                                                            Default RelayState

                                                                                                                                                            (optional - only configure if you intend to use IDP-initiated login flow)

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            You must include the port number in the IDP-side configuration, even though port 443 is the typical default for https:// URLs.

                                                                                                                                                            Email and Name Values

                                                                                                                                                            Instead of those shown in the Okta example, add these values:

                                                                                                                                                            NameValue
                                                                                                                                                            emailuser.email
                                                                                                                                                            first nameuser.firstName
                                                                                                                                                            last nameuser.lastName

                                                                                                                                                            Note that the attributes are case sensitive, so use caution when entering them.

                                                                                                                                                            Only email is required. However, including first/last name is recommended, since these values will now be included in the records created in the Sysdig platform’s database when new users successfully login via SAML for the first time.

                                                                                                                                                            URL Metadata Value

                                                                                                                                                            Copy the URL and paste in the Metadata entry on the SAML Configuration page in the SAML connection settings.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            5.7.2.2 -

                                                                                                                                                            OneLogin (SAML On-Prem)

                                                                                                                                                            Review SAML (On-Prem) before you begin.

                                                                                                                                                            Configure Sysdig Monitor and/or Sysdig Secure as a SAML application using OneLogin’s article titled Use the OneLogin SAML Test Connector. The notes below call out specific steps that require additional action.

                                                                                                                                                            Sysdig-Specific Steps for OneLogin Configuration

                                                                                                                                                            Adding the SAML Test Connector

                                                                                                                                                            At the step for “Adding the SAML Test Connector”, select SAML Test Connector (IdP w/ attr w/ sign response). If you don’t intend to configure IDP-initiated login flow, uncheck the slider so it will no longer be “Visible in portal”.

                                                                                                                                                            Test Connector Configuration Page Settings

                                                                                                                                                            At the “Test Connector Configuration Page”, enter the values shown in the table below. If you wish to configure IDP-initiated login flow, replace CUSTOMER-ID-NUMBER with the number retrieved as described in the Find Your Customer Number article.

                                                                                                                                                            Field

                                                                                                                                                            Value for Sysdig Monitor

                                                                                                                                                            Value for Sysdig Secure

                                                                                                                                                            RelayState

                                                                                                                                                            (optional - only configure if you intend to use IDP-initiated login flow)

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            #/&customer=CUSTOMER-ID-NUMBER

                                                                                                                                                            Recipient

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/auth

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/secureAuth

                                                                                                                                                            ACS (Consumer) URL Validator

                                                                                                                                                            https://HOSTNAME:PORT

                                                                                                                                                            https://HOSTNAME:PORT

                                                                                                                                                            ACS (Consumer) URL

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/auth

                                                                                                                                                            https://HOSTNAME:PORT/api/saml/secureAuth

                                                                                                                                                            You must include the port number in the IDP-side configuration, even though port 443 is the typical default for https:// URLs.

                                                                                                                                                            (Optional) If you want the user’s First Name and Last Name to be included in the records created in the Sysdig platform’s database when new users successfully login via SAML for the first time, click to the Parameters tab. Click Add parameter and create each of two New Fields, checking the box each time to Include in SAML assertion. Then click to Edit each field and select the Value shown from the drop-down menu before clicking Save.

                                                                                                                                                            Field NameValue
                                                                                                                                                            first nameFirst Name
                                                                                                                                                            last nameLast Name

                                                                                                                                                            Note that the Field Names are case sensitive , so be careful to enter them as all lowercase.

                                                                                                                                                            The following shows an example of a correctly-configured field for First Name:

                                                                                                                                                            Issuer URL

                                                                                                                                                            Click to the SSO tab, copy the Issuer URL, and paste in the Metadata entry on the SAML Configuration page in the SAML connection settings.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            5.7.2.3 -

                                                                                                                                                            Azure Active Directory (SAML On-Prem)

                                                                                                                                                            This topic explains how to configure SAML Single Sign On (SSO) with Azure Active Directory (AD) and helps you configure Sysdig to allow users to access Sysdig application by using SSO.

                                                                                                                                                            Prerequisites

                                                                                                                                                            Administrator privileges on Sysdig and Azure.

                                                                                                                                                            Configure the Sysdig Application in Azure AD

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Select Azure Active Directory, then click Enterprise Applications.

                                                                                                                                                              The Enterprise applications - All application screen is displayed.

                                                                                                                                                            3. Click New Application.

                                                                                                                                                            4. On the Add an Application screen, select Non-gallery application.

                                                                                                                                                            5. Give your application a name, and click Add at the bottom of the page.

                                                                                                                                                            6. On the menu, select Single sign-on.

                                                                                                                                                            7. Choose SAML as the sign-on method.

                                                                                                                                                            8. Edit the Basic SAML Configuration as follows:

                                                                                                                                                              1. In the configuration page, click the edit icon.

                                                                                                                                                              2. Specify the following:

                                                                                                                                                                • Identifier (Entity ID): Uniquely identifies the Sysdig application. Azure AD sends the identifier to the Sysdig application as the audience parameter of the SAML token. Sysdig validates this as part of the SSO process.

                                                                                                                                                                  For example, the identifier for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com.

                                                                                                                                                                  See SaaS Regions and IP Ranges for the complete list of entity IDs for different regions.

                                                                                                                                                                • Reply URL: Specifies where Sysdig expects to receive the SAML token.

                                                                                                                                                                  For example, the identifier for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com/api/saml/auth.

                                                                                                                                                                • See SaaS Regions and IP Ranges for the complete list of reply URLs for different regions.

                                                                                                                                                                • Relay State: Specifies to the application where to redirect the user after authentication is completed. Typically the value is a valid URL for Sysdig. If you are configuring SSO for SaaS, change the relay state to reflect the correct customer number associated with your Sysdig application. For on-prem installations, the customer number is always 1.

                                                                                                                                                                  The format is:

                                                                                                                                                                  #/&customer=1234
                                                                                                                                                                  
                                                                                                                                                                • Sign on URL: It is the sign-in page for the Sysdig application that will perform the service provider-initiated SSO. Leave it blank if you want to perform identity-provider-initiated SSO.

                                                                                                                                                                For more information on configuration parameters, see Configure SAML-based single sign-on to non-gallery applications.

                                                                                                                                                            Sysdig-Specific Steps for Active Directory Configuration

                                                                                                                                                            1. Under SAML Signing Certificate, copy the App Federation Metadata URL.

                                                                                                                                                            2. Log in to your Sysdig instance as an admin.

                                                                                                                                                              For on-prem deployments, log in as the super admin.

                                                                                                                                                            3. Navigate to Settings > Authentication, and select SAML under Connection Settings.

                                                                                                                                                            4. Enter the following:

                                                                                                                                                              • Metadata: Enter the App Federation Metadata URL you copied.

                                                                                                                                                              • Email Parameter: Set the value to emailaddress.

                                                                                                                                                                Azure AD claims are:

                                                                                                                                                                saml = AD
                                                                                                                                                                givenname = user.givenname
                                                                                                                                                                surname = user.surname
                                                                                                                                                                emailaddress = user.mail
                                                                                                                                                                name = user.userprincipalname
                                                                                                                                                                Unique User Identifier = user.userprincipalname
                                                                                                                                                                

                                                                                                                                                                In the Sysdig application, you need to set the email to emailaddress which is what Azure AD sends to Sysdig in the SAML assertion. Alternatively, Azure AD can be modified to send another attribute.

                                                                                                                                                            5. Click Save.

                                                                                                                                                            6. Select SAML from the Enable Single Sign On drop-down.

                                                                                                                                                            Create a User in Azure Active Directory Domain

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Click Azure Active Directory, and note down the domain name.

                                                                                                                                                            3. Select Azure Active Directory, then Users.

                                                                                                                                                              The Users - All Users screen is displayed.

                                                                                                                                                            4. Select New Users .

                                                                                                                                                              You can either create a new user or invite an existing AD.

                                                                                                                                                            5. Enter name, username, and other details, then click Create.

                                                                                                                                                            6. In the Profile page, add the Email and Alternate Email parameters. The values can match

                                                                                                                                                            Assign the User to the Sysdig Application

                                                                                                                                                            1. Navigate to the Sysdig application.

                                                                                                                                                            2. Click Users and Group, then click the Add user button.

                                                                                                                                                            3. Select the Users and Groups checkbox, then choose the newly created user to add to the application.

                                                                                                                                                            4. Click Select, then Assign at the bottom of the screen.

                                                                                                                                                            Enable Authentication Settings in the Sysdig Instance

                                                                                                                                                            Ensure that Flag to enable/disable create user on login is enabled. Typically this setting is enabled by default.

                                                                                                                                                            If you are using both Sysdig Monitor and Secure, ensure that the user accounts are created on both the products. A user that is created only on one Sysdig application will not be able to log in to another by using SAML SSO.

                                                                                                                                                            if you are on Sysdig Platform versions 2.4.1 or prior, contact Sysdig Support to help with user creation.

                                                                                                                                                            (Optional) Configure Sysdig as a New Application

                                                                                                                                                            If Azure Active Directory does not allow you to create Sysdig as a Non- Gallery application, perform the following:

                                                                                                                                                            1. In Azure AD, click Enterprise Applications > New Application.

                                                                                                                                                            2. Select Application you’re developing.

                                                                                                                                                              You will be taken to the app registration page:

                                                                                                                                                            3. Select New Registration:

                                                                                                                                                            4. Provide a name for the application you are registering.

                                                                                                                                                            5. Enter the redirect URI.

                                                                                                                                                              For example, the redirect URI for Sysdig Monitor for the EU region is https://eu1.app.sysdig.com/api/saml/auth. See SaaS Regions and IP Ranges for the redirect URLs for other regions.

                                                                                                                                                            6. Click Register to complete the registration.

                                                                                                                                                            7. In the Overview tab click Add an Application ID URI:

                                                                                                                                                            8. Click Add a scope.

                                                                                                                                                            9. Add the application ID URI as follows:

                                                                                                                                                              https://<your_sysdig_url>:443
                                                                                                                                                              

                                                                                                                                                              Replace <*your_sysdig_*url> with the URL appropriate to your application and region. See SaaS Regions and IP Ranges for more information.

                                                                                                                                                            10. In the Overview tab, click Endpoints, and copy the Federation Metadata URL.

                                                                                                                                                            11. Log in to Sysdig, navigate to SAML Authentication screen, and enter the Federation Metadata URL.

                                                                                                                                                              You will still need to ensure that the user creation on the login option is enabled.

                                                                                                                                                            12. Save the settings.

                                                                                                                                                            5.7.2.4 -

                                                                                                                                                            ADFS (SAML On-Prem)

                                                                                                                                                            Review SAML (On-Prem) before you begin.

                                                                                                                                                            These instructions assume you already have a working, Internet-accessible ADFS ( Active Directory Federation Service) server. Interoperability testing has been performed specifically with ADFS on Windows Server 2012 R2.

                                                                                                                                                            Follow the instructions below to configure ADFS with the ADFS Management tool in the Windows Server Manager.

                                                                                                                                                            For Service-Provider-Initiated Login Flow

                                                                                                                                                            1. Right-click to Service > Edit Federation Service Properties. Note the hostname in the Federation Service Identifier, as this will be used in the metadata URL that you paste in the Metadata entry on the SAML Configuration page in the Sysdig authentication settings. Specifically, the metadata URL will be of the format https://HOSTNAME/FederationMetadata/2007-06/FederationMetadata.xml. Also, so that the Sysdig platform can access this URL directly, this host must resolve in DNS and have a valid (not self-signed) SSL/TLS certificate.

                                                                                                                                                            2. Add a Relying Party Trust configuration for the Sysdig application.

                                                                                                                                                              1. Right-click to Relying Party Trusts > Add Relying Party Trust and click Start to begin the wizard.

                                                                                                                                                              2. In the Select Data Source step, click the button to Enter data about the relying party manually, then click Next

                                                                                                                                                              3. Enter a Display name of your choosing (e.g. “Sysdig Monitor” or “Sysdig Secure”), then click Next

                                                                                                                                                              4. Click Next to accept the default option to use AD FS profile

                                                                                                                                                              5. Click Next to skip the selection of an optional token encryption certificate (Sysdig does not support this option)

                                                                                                                                                              6. Check the box to Enable support for the SAML 2.0 Web SSO protocol, then enter one of the following values for Relying party SAML 2.0 SSO service URL:

                                                                                                                                                                If configuring Sysdig Monitor in the US East, enter: https://<hostname>/api/saml/auth

                                                                                                                                                                If configuring Sysdig Secure in the US East, enter: https://<hostname>/api/saml/secureAuth

                                                                                                                                                                Replace <hostname> with the unique hostname associated with your on-prem deployment. For other regions, the format is https://<region>.<hostname>/api/saml/auth and https://<region>.<hostname>/api/saml/secureAuth.

                                                                                                                                                                Then click Next.

                                                                                                                                                              7. For the Relying party trust identifier, enter one of the following values:

                                                                                                                                                                If configuring Sysdig Monitor in the US East, enter: https://<hostname>/api/saml/auth

                                                                                                                                                                If configuring Sysdig Secure in the US East, enter: https://<hostname>/api/smal/secureAuth

                                                                                                                                                                Replace <hostname> with the unique hostname associated with your on-prem deployment. For other regions, the format is https://<region>.<hostname>/api/saml/auth and https://<region>.<hostname>/api/saml/secureAuth.

                                                                                                                                                                Then click Add, then click Next

                                                                                                                                                              8. Click Next to skip configuration of multi-factor authentication

                                                                                                                                                              9. Choose a policy for whether users will be permitted to login to the Sysdig application. The default to Permit all users to access the relying party will typically be acceptable. Click Next.

                                                                                                                                                              10. Review the summary and click Next to complete the configuration of the Relying Party Trust

                                                                                                                                                              11. The next step will involve adding Claim Rules, so you can leave the box checked to Open the Edit Claim Rules dialog and click the Close button to be brought immediately into the Claim Rules editor

                                                                                                                                                            3. Ensure that the SamlResponseSignature option matches the Sysdig authentication configuration.

                                                                                                                                                              1. Use the Set-AdfsRelyingPartyTrust/Get-AdfsRelyingPartyTrust cmdlets via PowerShell to configure SamlResponseSignature .

                                                                                                                                                                -SamlResponseSignature
                                                                                                                                                                Specifies the response signatures that the relying party expects. The acceptable values for this parameter are:
                                                                                                                                                                
                                                                                                                                                                AssertionOnly
                                                                                                                                                                MessageAndAssertion
                                                                                                                                                                MessageOnly
                                                                                                                                                                

                                                                                                                                                                For more information, see Set-AdfsRelyingPartyTrust.

                                                                                                                                                              2. Navigate to Settings > Authentication on the Sysdig app and check the Sysdig authentication setting maps to the SamlResponseSignature :

                                                                                                                                                                For MessageAndAssertion, enable both the options.

                                                                                                                                                            4. Next, use the Claim Rules to ensure that login data is sent as needed to the Sysdig platform. A user’s login to the Sysdig platform is based on an email address, and a default ADFS configuration would not send the email address as required. The following configuration ensures the correct field from Active Directory is delivered in the claim.

                                                                                                                                                              1. If not already in the Claim Rules editor from the previous step, navigate to it by right-clicking on the Relying Party Trust that was just created and selecting Edit Claim Rules

                                                                                                                                                              2. Click Add Rule. At the following screen, accept the default rule template to Send LDAP Attributes as Claims and click Next.

                                                                                                                                                              3. Enter a name for the rule, select Active Directory as the Attribute store, then use the pull-down selectors to pick E-Mail Address as both the LDAP Attribute and Outgoing Claim Type, then similarly make pull-down selections for Given Name and Surname. Once these selections are made, click Finish.

                                                                                                                                                              4. Now click Add Rule again, this time selecting the template for Transform an incoming claim

                                                                                                                                                              5. Enter a name for the rule, then use the pull-downs to select an Incoming claim type of E-Mail Address, an Outgoing claim type of Name ID, and an Outgoing name ID format of Email, then click Finish.

                                                                                                                                                              6. (Optional) If you want the user’s First Name and Last Name to be included in the records created in the Sysdig platform database when new users successfully login via SAML for the first time, additional Transform rules must also be created. Only the email-based username is strictly required and we already created a rule for this, so this step is optional.

                                                                                                                                                                If you wish to do this, click Add Rule and once again select the template for Transform an incoming claim. Enter a name for the rule, then use the pull-down to select an Incoming claim type of Given Name, and for the Outgoing claim type, directly type first name into the field. After clicking Finish, click Add Rule and create a similar rule to transform the Incoming claim type of Surname to the Outgoing claim type of last name.

                                                                                                                                                              7. Having clicked Finish after creating your last rule, you will see all rules now in the editor. Click Ok, and your ADFS configuration for your Sysdig application is complete.

                                                                                                                                                            For IdP-Initiated Login Flow (Optional)

                                                                                                                                                            (Optional) The steps above represent a Service-Provider-Initiated SAML configuration. If you would prefer an IdP-initiated SAML configuration, this is also possible with ADFS, but requires the additional steps described below.

                                                                                                                                                            1. The Sysdig platform requires a specific setting of RelayState in order to accept IdP-initiated login flows. On the ADFS versions tested, we’ve found this use of RelayState is disabled by default, and a Microsoft article describes the topic in detail. To enable it, as described in a Microsoft forum thread, on your ADFS host, edit %systemroot%\ADFS\Microsoft.IdentityServer.Servicehost.exe.config and add <useRelayStateForIdpInitiatedSignOn enabled="true" /> to the <microsoft.identityserver.web> section. Once the modification is saved, restart ADFS services for the change to take effect.

                                                                                                                                                            2. You will need to retrieve your Sysdig customer number as described in the Find Your Customer Number article.

                                                                                                                                                            3. You will then need to generate an IdP-initiated login URL.

                                                                                                                                                              In addition to having the correct settings, it must be properly URL encoded. To ease this configuration, use this ADFS RelayState Generator tool. When launched, enter the values below, then hit the Generate URL button.

                                                                                                                                                              • For the IDP URL String, enter https://YOUR_ADFS_SERVER/adfs/ls/idpinitiatedsignon.aspx

                                                                                                                                                              • For the Relying Party Identifier, enter one of the following values if you are in the US East region:

                                                                                                                                                                • If configuring Sysdig Monitor, enter https://<hostname>.

                                                                                                                                                                • If configuring Sysdig Secure, enter https://<hostname>/secure/

                                                                                                                                                                Replace hostname> with the unique hostname associated with your on-prem deployment.

                                                                                                                                                                For other regions, the format is https://<region>.<hostname> for Sysdig Monitor and https://<region>.<hostname>/secure/ for Sysdig Secure. Replace <region> with the region where your Sysidig application is hosted. For example, for Sysdig Monitor in the EU, you use https://eu1.<hostname>.

                                                                                                                                                                See SaaS Regions and IP Ranges for more information on regions.

                                                                                                                                                              • For the Relay State/Target App, enter #/&customer=CUSTOMER-ID-NUMBER, substituting the CUSTOMER-ID-NUMBER you retrieved in the previous step

                                                                                                                                                                This Results URL will be used in the metadata URL that you paste in the Metadata entry in the SAML connection settings .

                                                                                                                                                            4. Use the Results URL from the tool to test your IdP-initiated login. Note that per this Microsoft forum thread, it is apparently not possible to configure ADFS to use such a URL when your users select the application from the pull-down menu at https://YOUR_ADFS_SERVER/adfs/ls/idpinitiatedsignon.aspx. However, you may embed the URL into a custom portal or bookmarks list.

                                                                                                                                                            5. Now you can test login using an Active Directory user that has an Email address configured.

                                                                                                                                                            Test Metadata (Optional)

                                                                                                                                                            To ensure the metadata URL you copy at the end of the IDP configuration procedure is correct, you can test it by directly accessing it via your browser.

                                                                                                                                                            When accessing the URL, your browser should immediately download an XML file that begins similarly to the example shown below. No entry of credentials or other security measures should be required to successfully download it. If this is not the case, revisit the IDP configuration steps.

                                                                                                                                                            <?xml version= "1.0" ?> <EntityDescriptor xmlns= "urn:oasis:names:tc:SAML:2.0:metadata" entityID= "https://app.onelogin.com/saml/metadata/680358" > `<IDPSSODescriptor xmlns:ds=` `"http://www.w3.org/2000/09/xmldsig#" ` `protocolSupportEnumeration=` `"urn:oasis:names:tc:SAML:2.0:protocol"` `>names:tc:SAML:` `2.0` `:metadata` `" entityID="` ` https://app.onelogin.com/saml/metadata/ ` `680358` `">` ...

                                                                                                                                                            5.7.3 -

                                                                                                                                                            OpenID Connect (On-Prem)

                                                                                                                                                            These instructions are specific to On-Premises Deployments of the Sysdig platform. If you are using the cloud-based (SaaS) Sysdig platform, refer to OpenID Connect (SaaS) instead.

                                                                                                                                                            OpenID support in the Sysdig platform allows authentication via your choice of Identity Provider (IdP).

                                                                                                                                                            This section describes how to integrate and enable OpenID Connect with both Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            Overview

                                                                                                                                                            Summary of OpenID Functionality in Sysdig

                                                                                                                                                            The Sysdig platform ordinarily maintains its own user database to hold a username and password hash. OpenID instead allows for redirection to your organization’s IdP to validate username/password and other policies necessary to grant access to Sysdig application(s). Upon successful authentication via OpenID, a corresponding user record in the Sysdig platform’s user database is automatically created, though the password that was sent to the IdP is never seen nor stored by the Sysdig platform.

                                                                                                                                                            Basic Enablement Workflow

                                                                                                                                                            Step

                                                                                                                                                            Options

                                                                                                                                                            Notes

                                                                                                                                                            1. Know which IdP your company uses and will be configuring.

                                                                                                                                                            These are the OpenID Providers for which Sysdig has performed detailed interoperability testing and confirmed how to integrate using their standard docs. If your OpenID Provider is not listed (including ones that do not support OpenID Connect Discovery), it may still work with the Sysdig platform. Contact Sysdig Support for help.

                                                                                                                                                            2. Decide the login flow you want users to experience: 3 options

                                                                                                                                                            Click OpenID button

                                                                                                                                                            From https://HOSTNAME/ or https://HOSTNAME/secure

                                                                                                                                                            Type/bookmark a URL in browser

                                                                                                                                                            Replace <HOSTNAME> and <PORT> with that which specific to your deployment.

                                                                                                                                                            Log in from an IdP interface

                                                                                                                                                            The individual IdP integration pages describe how to add Sysdig to the IdP interface.

                                                                                                                                                            You will need the following:

                                                                                                                                                            • Your Sysdig customer number and Customer Name.

                                                                                                                                                            • Redirect URLs:

                                                                                                                                                              • https://<hostname>/api/oauth/openid/auth

                                                                                                                                                              • https://<hostname>:<port>/api/oauth/openid/secureAuth

                                                                                                                                                              Replace <hostname> with the hostname of your deployment.

                                                                                                                                                            3. Perform the configuration steps in your IdP interface and collect the resulting config attributes.

                                                                                                                                                            Collect metadata URL (or XML) and test it.

                                                                                                                                                            If you intend to configure IDP-initiated login flow find your Customer Name. Contact Sysdig if you do not know the customer name corresponding to your account.

                                                                                                                                                            4a. Log in to Sysdig Monitor and configure authentication.

                                                                                                                                                            4b. Log in to Sysdig Secure and configure authentication.

                                                                                                                                                            • Log in to Sysdig Monitor Settings (as super admin) and enter the necessary configuration information in the UI. Save and Enable OpenID as your SSO.

                                                                                                                                                            • Log in to Sysdig Secure Settings (as super admin) and enter the necessary configuration information in the UI. Save and Enable OpenID as your SSO.

                                                                                                                                                            Administrator Steps

                                                                                                                                                            Configure IdP

                                                                                                                                                            Select the appropriate IdP link below, and follow the instructions:

                                                                                                                                                            UI-Based: Configure OpenID in Settings

                                                                                                                                                            At this time, the Authorization UI is available only for Sysdig Monitor.

                                                                                                                                                            To enable baseline OpenID functionality:

                                                                                                                                                            Enter OpenID Basic Connection Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as administrator and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the OpenID tab.

                                                                                                                                                            4. Enter the relevant parameters (see table below) and click Save.

                                                                                                                                                            Connection SettingDescription
                                                                                                                                                            Client IDID provided by your IdP
                                                                                                                                                            Client SecretSecret provided by your IdP
                                                                                                                                                            Issuer URLURL provided by your IdP. Example:https://YOUR-ONELOGIN-DOMAIN.onelogin.com/oidc

                                                                                                                                                            Okta, OneLogin, and Keycloak support metadata auto-discovery, so these settings should be sufficient for those IdPs.

                                                                                                                                                            Enter OpenID Additional Settings (if needed)

                                                                                                                                                            In some cases, an OpenID IdP may not support metadata auto-discovery, and additional configuration settings must be entered manually.

                                                                                                                                                            In this case:

                                                                                                                                                            1. On the OpenID tab, toggle the Metadata Discovery button to OFF to display additional entries on the page.

                                                                                                                                                            2. Enter the relevant parameters derived from your IdP (see table below) and click Save.

                                                                                                                                                            Connection Setting

                                                                                                                                                            Description

                                                                                                                                                            Base Issuer

                                                                                                                                                            Required. Often the same Issuer URL, but can be different for providers that have a separate general domain and user-specific domain

                                                                                                                                                            (for example, general domain: https://openid-connect.onelogin.com/oidc, user-specific domain: https://sysdig-phil-dev.onelogin.com/oidc)f

                                                                                                                                                            Authorization Endpoint

                                                                                                                                                            Required. Authorization request endpoint

                                                                                                                                                            Token Endpoint

                                                                                                                                                            Required. Token exchange endpoint

                                                                                                                                                            JSON Web Key Set Endpoint

                                                                                                                                                            Required. Endpoint that contains key credentials for token signature verification

                                                                                                                                                            Token Auth Method

                                                                                                                                                            Authentication method.

                                                                                                                                                            Supported values:

                                                                                                                                                            client_secret_basic ,

                                                                                                                                                            client_secret_post . (case insensitive)

                                                                                                                                                            Select OpenID for SSO

                                                                                                                                                            1. Select OpenIDfrom the Enabled Single Sign-On dropdown.

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            Script-Based: Configure OpenID Using Scripts

                                                                                                                                                            The configuration of the OpenID Connect feature can be viewed, updated, and deleted by the “super” Admin. An oidc_config.sh helper script is available in the SSO folder at sysdig-cloud-scripts repository to assist in completing this configuration. Invoking the script with no options will display help text.

                                                                                                                                                            # ./oidc_config.sh
                                                                                                                                                            Must specify the Sysdig App whose OpenID Connect configuration will be viewed/set
                                                                                                                                                            
                                                                                                                                                            Usage: ./oidc_config.sh [OPTIONS]
                                                                                                                                                            
                                                                                                                                                            Affect OpenID Connect login settings for your Sysdig software platform installation
                                                                                                                                                            

                                                                                                                                                            To use the helper script, modify env.sh to set the required values for API_TOKEN of the “super” Admin user and the URL for accessing the Sysdig platform API (which will be the same URL that your users access for the Sysdig Monitor application).

                                                                                                                                                            Depending if the API_TOKEN has been obtained from the Sysdig Monitor or Sysdig Secure application UI, the settings will be applied to the consequent product.

                                                                                                                                                            Initially no OpenID settings are set. A initial run of the script would confirm that:

                                                                                                                                                            # ./oidc_config.sh
                                                                                                                                                            No openid settings are set
                                                                                                                                                            Run for further info: ./oidc_config.sh -h
                                                                                                                                                            

                                                                                                                                                            Add the -s option to set the OpenID Connect configuration for a particular Sysdig application. When setting the config, you’ll use additional options to provide the config details you saved in the earlier OpenID Provider configuration step.

                                                                                                                                                            Config DetailOption
                                                                                                                                                            Issuer URL-u
                                                                                                                                                            Client ID-i
                                                                                                                                                            Client Secret-e

                                                                                                                                                            If the configuration is successfully posted to the Sysdig platform, the new configuration will be echoed back.

                                                                                                                                                            An example of creating the two separate OpenID Connect configurations for both Monitor and Secure, each using Okta as an OpenID Provider:

                                                                                                                                                            # ./oidc_config.sh -s -u https://dev-824158.oktapreview.com -i 0oafpykpv7JMS4gMe0h7 -e ZctTGJMNJmuseEJHJGhvnb0pniZvz9Gf6RStxhHn
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547541009000,
                                                                                                                                                                "type": "openid",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "issuer": "https://dev-824158.oktapreview.com",
                                                                                                                                                                  "clientId": "0oafpykpv7JMS4gMe0h7",
                                                                                                                                                                  "clientSecret": "ZctTGJMNJmuseEJHJGhvnb0pniZvz9Gf6RStxhHn",
                                                                                                                                                                  "metadataDiscovery": true
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Once you’ve completed this configuration, clicking the OpenID button at the login screen of the appropriate Sysdig application(s) should redirect to your OpenID Provider for authentication.

                                                                                                                                                            If you wish to delete your OpenID Connect configuration, invoke the -d option. If successful, the disabled configuration will be printed.

                                                                                                                                                            ./oidc_config.sh -d
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547541009000,
                                                                                                                                                                "type": "openid",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "issuer": "https://dev-824158.oktapreview.com",
                                                                                                                                                                  "clientId": "0oafpykpv7JMS4gMe0h7",
                                                                                                                                                                  "clientSecret": "ZctTGJMNJmuseEJHJGhvnb0pniZvz9Gf6RStxhHn",
                                                                                                                                                                  "metadataDiscovery": true
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            User Experience

                                                                                                                                                            As noted in the Basic Workflow above, you can offer users three ways to log in with a OpenID configuration:

                                                                                                                                                            • They can begin at the Sysdig SaaS URL and click the OpenID button.

                                                                                                                                                              Monitor: https://HOSTNAME/ or Secure: https://HOSTNAME/secure .

                                                                                                                                                              They will be prompted to enter a Company Name, so the Sysdig platform can redirect the browser to your IdP for authentication.

                                                                                                                                                              =

                                                                                                                                                            • You can provide an alternative URL to avoid the user having to enter a company name, in the format:

                                                                                                                                                              Monitor: https://HOSTNAME/api/oauth/openid `` Secure: https://HOSTNAME/api/oauth/openid?product=SDS

                                                                                                                                                            • You can configure an IdP-initiated login flow when configuring your IdP. The users then select the Sysdig application from your IDP’s app directory and do not browse directly to a Sysdig application URL at all.

                                                                                                                                                            See also User and Team Administration for information on creating users.

                                                                                                                                                            5.7.3.1 -

                                                                                                                                                            Okta (OpenID On-Prem)

                                                                                                                                                            Review OpenID Connect (On-Prem) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in Okta. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Log in to your Okta organization as a user with administrative privileges and click the Admin page.

                                                                                                                                                            2. Click Add Applications, then click the Create New App button.

                                                                                                                                                            3. Select Web as the Platform type, then click OpenID Connect as the Sign-on method, then click Create.

                                                                                                                                                            4. Create a new application

                                                                                                                                                              • Enter your choice of General Settings

                                                                                                                                                              • For Login redirect URIs, enter one of the following values, replacing HOSTNAME with the hostname through which your users access the Sysdig application(s) and PORT with the TCP port # (typically 443):

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://HOSTNAME:PORT/api/oauth/openid/auth

                                                                                                                                                                If configuring Sysdig Secure, enter: https://HOSTNAME:PORT/api/oauth/openid/secureAuth

                                                                                                                                                              • Click Save.

                                                                                                                                                            5. You should next be placed in a General tab. Take note of the Client ID and Client secret that are shown, as you will need them to complete the configuration in the Sysdig platform.

                                                                                                                                                            6. Click the Sign On tab. Take note of the Issuer URL that is shown, as you will need it to complete the configuration in the Sysdig platform.

                                                                                                                                                            7. Return to the bottom section of the OpenID Connect (On-Prem) article for instructions on using the helper script to complete the configuration in the Sysdig platform.

                                                                                                                                                            5.7.3.2 -

                                                                                                                                                            OneLogin (OpenID On-Prem)

                                                                                                                                                            Review OpenID Connect (On-Prem) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in OneLogin. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Login to your OneLogin organization as a user with administrative privileges and click to Apps > Custom Connectors, then click the New Connector button.

                                                                                                                                                            2. Create a new Connector

                                                                                                                                                              • Enter your choice of connector name

                                                                                                                                                              • Select a Sign on Method of OpenID Connect

                                                                                                                                                              • For Redirect URI to, enter one of the following values, replacing HOSTNAME with the hostname through which your users access the Sysdig application(s) and PORT with the TCP port # (typically 443):

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://HOSTNAME:PORT/api/oauth/openid/auth

                                                                                                                                                                If configuring Sysdig Secure, enter: https://HOSTNAME:PORT/api/oauth/openid/secureAuth

                                                                                                                                                              • Click the Save button

                                                                                                                                                            3. From the More Actions pull-down menu, select Add App to Connector.

                                                                                                                                                            4. Click Save to add the app to your catalog. Once clicked, additional tabs will appear.

                                                                                                                                                            5. Click to the SSO tab. Change the setting in the Token Endpoint drop-down to POST, then click Save.

                                                                                                                                                            6. While still on the SSO tab, take note of the Client ID and Client Secret that are shown (click Show client secret to reveal it), as you will need them to complete the configuration in the Sysdig platform.

                                                                                                                                                            7. Note that the Issuer URL you will need to complete the Sysdig platform configuration will consist of https://YOUR-ONELOGIN-DOMAIN.onelogin.com/oidc

                                                                                                                                                            8. Return to the bottom section of the OpenID Connect (On-Prem) article for instructions on using the helper script to complete the configuration in the Sysdig platform.

                                                                                                                                                            5.7.3.3 -

                                                                                                                                                            Keycloak (OpenID On-Prem)

                                                                                                                                                            Review OpenID Connect (On-Prem) before you begin.

                                                                                                                                                            The notes below describe minimal steps to be taken in Keycloak. You may need to adjust the steps based on the specifics of your environment.

                                                                                                                                                            1. Login to your Keycloak server’s Administrative Console.

                                                                                                                                                            2. Select a realm or create a new one.

                                                                                                                                                            3. Click Clients, then click the Create button.

                                                                                                                                                            4. Enter the Client ID of your choosing (e.g. “SysdigMonitor”) and take note of it, as you will need it later to complete the configuration in the Sysdig platform.

                                                                                                                                                            5. Make sure the Client Protocol drop-down has openid-connect selected. Click the Save button.

                                                                                                                                                            6. Configure OpenID Connect client

                                                                                                                                                              • Click the toggle for Authorization Enabled to ON

                                                                                                                                                              • For Valid Redirect URI, enter one of the following values, replacing HOSTNAME with the hostname through which your users access the Sysdig application(s) and PORT with the TCP port # (typically 443):

                                                                                                                                                                If configuring Sysdig Monitor, enter: https://HOSTNAME:PORT/api/oauth/openid/auth

                                                                                                                                                                If configuring Sysdig Secure, enter: https://HOSTNAME:PORT/api/oauth/openid/secureAuth

                                                                                                                                                              • Click the Save button

                                                                                                                                                            7. Click to the Credentials tab. Take note of the Secret that is shown, as you will need it to complete the configuration in the Sysdig platform.

                                                                                                                                                            8. Note that the Issuer URL you will need to configure in the Sysdig platform will consist of https://{KEYCLOAK-SERVER-ADDRESS}/auth/realms/{REALM_NAME}, where {KEYCLOAK-SERVER-ADDRESS} and {REALM-NAME} are derived from your environment where you just created the configuration.

                                                                                                                                                            9. Return to the bottom section of the OpenID Connect (On-Prem) article for instructions on using the helper script to complete the configuration in the Sysdig platform.

                                                                                                                                                            5.7.3.4 -

                                                                                                                                                            Azure (OpenID On-Prem)

                                                                                                                                                            OpenID Connect is a security-token based extension of the OAuth 2.0 authorization protocol to do single sign-on. Azure Active Directory provides an implementation of OpenID Connect (OIDC) protocol and Sysdig supports it for single sign-on and API access to Sysdig application.

                                                                                                                                                            Enabling Azure OpenID Connect for single sign-on to Sysdig applications include configuration on the Microsoft Active Directory as well as on the Sysdig application.

                                                                                                                                                            Prerequisites

                                                                                                                                                            Administrator privileges on Sysdig and Azure Active Directory (AD).

                                                                                                                                                            Configuring Sysdig Application in Azure AD

                                                                                                                                                            1. Log in to the Azure AD portal.

                                                                                                                                                            2. Select your Azure Active Directory service or create a new one.

                                                                                                                                                            3. Click App registration > New registration.

                                                                                                                                                            4. In the Register an application page, specify the following:

                                                                                                                                                              • Name: Display name to identify your Sysdig application. For example, Sysdig Secure.

                                                                                                                                                              • Supported account types: Choose an account type that is appropriate for your deployment. If you choose single-tenant, all user and guest accounts created in your active directory can use Sysdig application and API. If you choose multi-tenant, all users with a work or school account from Microsoft can use Sysdig application and API.

                                                                                                                                                              • Redirect URI: Authenticated Sysdig users are redirected to this URI.

                                                                                                                                                                For Login redirect URIs, enter one of the following values, replacing HOSTNAME with the hostname through which your users access the Sysdig applications and PORT with the TCP port number, typically 443:

                                                                                                                                                                For Sysdig Monitor: https://HOSTNAME:PORT/api/oauth/openid/auth

                                                                                                                                                                For Sysdig Secure: https://HOSTNAME:PORT/api/oauth/openid/secureAuth

                                                                                                                                                                You can add only a single redirect URL on this page. Use the Authentication page associated with your application to add additional redirect URIs.

                                                                                                                                                            5. Click Register.

                                                                                                                                                            6. Add additional redirect URIs.

                                                                                                                                                              1. Select your application from App registration.

                                                                                                                                                              2. Click Authentication from the left navigation.

                                                                                                                                                              3. Add the redirect URIs corresponding to Monitor and Secure.

                                                                                                                                                            7. Create a Secret for the Sysdig application.

                                                                                                                                                              It is a string that the Sysdig application uses to prove its identity when requesting a token.

                                                                                                                                                              1. Click Certificates & secrets.

                                                                                                                                                              2. Under Client Secrets, click New client secret.

                                                                                                                                                              3. Enter a description that identifies the secret and choose an expiration period.

                                                                                                                                                              4. Click Add.

                                                                                                                                                              5. Copy the client secret. You will need the client secret while configuring OpenID Connect SSO on the Sysdig application.

                                                                                                                                                            8. Copy the Client ID and OpenID Connect endpoints corresponding to the application that you have created.

                                                                                                                                                              1. Select your application from App registration.

                                                                                                                                                              2. Copy the Application (client) ID.

                                                                                                                                                                You will need the client ID while configuring OpenID Connect SSO on the Sysdig application.

                                                                                                                                                              3. Click Endpoints.

                                                                                                                                                              4. Copy the OpenID Connect metadata document and open it in a browser.

                                                                                                                                                              5. Copy the OpenID Connect URI (Issuer URI).

                                                                                                                                                                For example, https://login.microsoftonline.com/5a4b56fc-dceb-4a64-94ff-21e08e5892f5/v2.0

                                                                                                                                                            Configure Sysdig Settings

                                                                                                                                                            To enable Azure OpenID functionality on the Sysdig application, you need the following:

                                                                                                                                                            • Client ID

                                                                                                                                                            • Client Secret

                                                                                                                                                            • Issuer URL.

                                                                                                                                                            See OpenID Connect (On-Prem) to learn how to complete your configuration.

                                                                                                                                                            5.7.4 -

                                                                                                                                                            LDAP

                                                                                                                                                            LDAP support in the Sysdig software platform allows user authentication using credentials in a customer’s own directory server. LDAP support is not currently available the cloud-based (SaaS) Sysdig platform.

                                                                                                                                                            The configuration and functionality of LDAP has changed significantly in recent releases of the platform. It is recommended to upgrade to the newest on-prem release to take advantage of improvements. However, if you are running an older release and cannot yet upgrade, contact Sysdig Support if you need further assistance.

                                                                                                                                                            General LDAP Tips

                                                                                                                                                            Testing Configurations With ldapsearch

                                                                                                                                                            Small typos in fields such as search filters can cause failures that are difficult to debug. You may want to perfect your more complex configurations before applying them via the helper scripts. This will help “divide & conquer” as to whether an issue is generic to LDAP syntax and/or the directory vs. a possible bug in the Sysdig platform.

                                                                                                                                                            If you have an Ubuntu Linux host at your disposal that can access your directory server via LDAP, install the ldap-utils package:

                                                                                                                                                            # sudo apt install ldap-utils
                                                                                                                                                            

                                                                                                                                                            If accessing LDAP over SSL/TLS, edit the file /etc/ldap/ldap.conf and add the following line:

                                                                                                                                                            TLS_REQCERT allow
                                                                                                                                                            

                                                                                                                                                            Then copy the CA certificate (the same one that was uploaded in the Settings of the Replicated console) to a location on the host, such as /tmp/cert.pem .

                                                                                                                                                            Now you can run arbitrary queries via generic LDAP and study their success or failure. For instance, the following command-line uses some of the settings from LDAP Authentication Configuration (for Platform v. 963 - 1091) examples:

                                                                                                                                                            # LDAPTLS_CACERT=/tmp/cert.pem ldapsearch -H ldaps://172.16.0.1:636 -M -b "DC=example,DC=local" -D "cn=Administrator,cn=Users,dc=example,dc=local" -w "myMgrPassword" "(&(objectClass=organizationalPerson)(sAMAccountName=jdoe))"
                                                                                                                                                            
                                                                                                                                                            ...
                                                                                                                                                            # John Doe, Users, example.local
                                                                                                                                                            dn: CN=John Doe,CN=Users,DC=example,DC=local
                                                                                                                                                            ...
                                                                                                                                                            

                                                                                                                                                            Excluding Classes of Users (e.g. Disabled Accounts)

                                                                                                                                                            Per this post, Active Directory admins may leverage certain queries to easily exclude certain classes of users from being able to authenticate to the Sysdig platform. For example, the following will filter out users whose accounts have been disabled in Active Directory.

                                                                                                                                                            (!(userAccountControl:1.2.840.113556.1.4.803:=2))
                                                                                                                                                            

                                                                                                                                                            This can be combined with other config via AND logic, such as by extending one of our searchFilter examples:

                                                                                                                                                            "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName={0})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.7.4.1 -

                                                                                                                                                            LDAP Authentication Configuration (for Platform v.1586+)

                                                                                                                                                            This article is specific to LDAP support of On-Premises Deployments version 1586.

                                                                                                                                                            LDAP support in the Sysdig software platform is used to allow user authentication using credentials in an enterprise’s own directory server.

                                                                                                                                                            This document describes how to configure base LDAP settings, as well as the limitations of the LDAP support.

                                                                                                                                                            Overview

                                                                                                                                                            Functionality

                                                                                                                                                            The Sysdig platform ordinarily maintains its own user database to hold a username and password hash, as well as settings for Admin privileges, Sysdig team membership, and a user’s configured dashboards and alerts. Sysdig’s LDAP authentication feature provides a means to allow the Sysdig platform to query your separate directory server to validate username/password. Upon successful authentication, a corresponding user record in the Sysdig platform’s user database is automatically created. When the LDAP feature is in use, the user’s directory password is not stored in the Sysdig user database.

                                                                                                                                                            Once LDAP authentication is enabled, all normal user authentication will be performed against your configured directory server. Other local, non-LDAP users that were created before LDAP was enabled can still authenticate via LDAP as long as their username in your directory matches with the username of their pre-existing record in the Sysdig user database. For example, consider a user jdoe@example.com who had been a user in the Sysdig environment before LDAP was enabled. Once LDAP authentication is enabled, if a user jdoe exists in the directory server and is able to authenticate successfully via LDAP, they will be permitted to log in to the Sysdig platform as the pre-existing jdoe@example.com user. Any user-specific configuration (Alerts, Dashboards, etc.) that were attached to jdoe@example.com will still be visible to this user. Any password previously set for such a pre-existing user record will not be used for authentication to the Sysdig platform unless LDAP authentication is disabled.

                                                                                                                                                            LDAP can be complex to configure. Sysdig strongly recommends that you first refine your LDAP configuration in a separate test setup before applying the LDAP settings in your production environment.

                                                                                                                                                            Prerequisite: Have the “Super” Admin User Credentials and Token

                                                                                                                                                            In an environment enabled for LDAP authentication, the one user still subject to direct email+password authentication is the “super” Admin user.

                                                                                                                                                            Creation of this user is a required initial install step.

                                                                                                                                                            You can find the credentials either in the Replicated console (screenshot below) or your Kubernetes ConfigMap element sysdigcloud.default.user .

                                                                                                                                                            This user is required and cannot be deleted. This login provides:

                                                                                                                                                            • A way to access the Sysdig platform when LDAP connectivity is severed.

                                                                                                                                                            • The first Admin user in the install, essential for assigning Admin rights to other users once they’ve authenticated via your directory and their user records have been added to the Sysdig user database.

                                                                                                                                                            • The user whose token can be used to perform further LDAP configurations.

                                                                                                                                                              See Retrieve the Sysdig API Security Token for details.

                                                                                                                                                            Configure Basic LDAP Settings

                                                                                                                                                            There are two ways to configure the basic LDAP settings for Sysdig: via the Sysdig UI, or via the API endpoint using scripts and HTTP methods.

                                                                                                                                                            Whichever method is used, it will apply LDAP settings globally, to both Sysdig Monitor and Sysdig Secure.

                                                                                                                                                            UI-Based: Configure LDAP in Settings

                                                                                                                                                            At this time, the Authorization UI is available only for Sysdig Monitor.

                                                                                                                                                            Enter LDAP Connection Settings

                                                                                                                                                            1. Log in to Sysdig Monitor or Sysdig Secure as the “super” Admin user. and select Settings.

                                                                                                                                                            2. Select Authentication.

                                                                                                                                                            3. Select the LDAP tab.

                                                                                                                                                            4. Enter the relevant parameters (see tables below) and click Save.

                                                                                                                                                            Table_loginConnectionSettings

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            server

                                                                                                                                                            Yes

                                                                                                                                                            URL of the directory server for the Sysdig platform to query. An example for LDAP over SSL:

                                                                                                                                                            ldaps://172.16.0.1:636

                                                                                                                                                            For cleartext LDAP:

                                                                                                                                                            ldap://176.16.0.1

                                                                                                                                                            Note that to use LDAPS, you'll also need to use the Replicated console (or equivalent approach in Kubernetes-based installs) to upload a Certificate Authority (CA) PEM-format certificate that the Sysdig platform will use to validate its SSL connection to the server. If you have a host with OpenSSL tools installed that can reach the directory server, you can obtain the certificate by running:

                                                                                                                                                            # openssl s_client -showcerts -connect <server-ip>:636

                                                                                                                                                            The command output will typically show the server certificate first and the CA certificate second, both in PEM format. Into a text file, paste the CA certificate portion of the output that looks like:

                                                                                                                                                            -----BEGIN CERTIFICATE-----
                                                                                                                                                            [random text...]
                                                                                                                                                            -----END CERTIFICATE-----

                                                                                                                                                            Under LDAP CA certificate in the PEM format in the Replicated console, click the "Choose File" button and browse to the file you just created to select and upload it. Note that when you click Save, the Sysdig platform will restart. This is the only setting related to LDAP that requires a platform restart.

                                                                                                                                                            Note: For environments using self-signed certificates, the openssl command shown above will return only one certificate.

                                                                                                                                                            managerDn

                                                                                                                                                            Yes

                                                                                                                                                            The distinguished name of a user that the Sysdig platform can authenticate as via LDAP in order to perform further queries about the users attempting to login to the Sysdig platform. Example:

                                                                                                                                                            cn=Administrator,cn=Users,dc=example,dc=local

                                                                                                                                                            This setting is required, as the Sysdig platform does not support connection to servers via anonymous bind.

                                                                                                                                                            managerPassword

                                                                                                                                                            Yes

                                                                                                                                                            The password for the managerDn.

                                                                                                                                                            rootDn

                                                                                                                                                            No

                                                                                                                                                            The distinguished name for the point in the LDAP tree below which all search queries will begin. Example:

                                                                                                                                                            dc=example,dc=local

                                                                                                                                                            referral

                                                                                                                                                            No

                                                                                                                                                            Defines whether the Sysdig platform will chase referrals found in LDAP query responses. If not specified, this will be set to "IGNORE" in your configuration and referrals will not be chased. See the section below on Multi-Server Directories for more details on this option.

                                                                                                                                                            Table_loginFilter

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            searchBase

                                                                                                                                                            Yes

                                                                                                                                                            A relative distinguished name (from the rootDn) below which queries about users should be performed. Example:

                                                                                                                                                            cn=Users

                                                                                                                                                            If specified as an empty string (""), the search will be performed across everything below the rootDn, in which case the rootDn setting must be configured.

                                                                                                                                                            Note that if the rootDn setting was not specified, the searchBase setting must provide a full distinguished name. Example:

                                                                                                                                                            cn=Users,dc=example,dc=local

                                                                                                                                                            searchFilter

                                                                                                                                                            No

                                                                                                                                                            An LDAP search filter (in RFC2254 format) that the Sysdig platform will use in constructing the query to identify the user record. The marker token {0} represents where the username will appear when LDAP queries are constructed. An example that targets the attribute sAMAccountName in Active Directory:

                                                                                                                                                            (&(objectClass=organizationalPerson)(sAMAccountName={0}))

                                                                                                                                                            While this setting is optional, if not specified, no users will be able to authenticate via LDAP.

                                                                                                                                                            Select LDAP for SSO

                                                                                                                                                            1. Select LDAP from the Enabled Single Sign-On dropdown

                                                                                                                                                            2. Click Save Authentication.

                                                                                                                                                            3. Repeat entire enablement process for Sysdig Monitor or Sysdig Secure, if you want to enable on both applications.

                                                                                                                                                            Script-Based: Configure LDAP Using Scripts

                                                                                                                                                            The configuration of the LDAP feature can be viewed, updated, and deleted by the “super” Admin via the API endpoint /api/admin/ldap/settings using HTTP methods for GET, POST, and DELETE, respectively.

                                                                                                                                                            The workflow is as follows:

                                                                                                                                                            1. Log in as super admin (prerequisite ).

                                                                                                                                                            2. Retrieve the Sysdig API Security Token (prerequisite)

                                                                                                                                                            3. Access login_config.sh and verify_user.sh helper scripts available in the SSO folder at sysdig-cloud-scripts repository, to assist in completing this configuration.

                                                                                                                                                            4. Modify the env.sh to enter the API_TOKEN and the URL of your environment.

                                                                                                                                                            5. Modify settings_login_simple.json file with Login Connection settings and Login Filter settings.

                                                                                                                                                            6. Execute various scripts

                                                                                                                                                              # get current settings: initially empty
                                                                                                                                                              ./login_config.sh
                                                                                                                                                              
                                                                                                                                                              # set settings we have detailed above
                                                                                                                                                              ./login_config.sh -s settings_login_simple.json
                                                                                                                                                              
                                                                                                                                                              # verify an existing user information is retrieved
                                                                                                                                                              ./verify_user.sh -u jdoe
                                                                                                                                                              
                                                                                                                                                              # verify a non existing user information is not retrieved
                                                                                                                                                              ./verify_user.sh -u nothere
                                                                                                                                                              
                                                                                                                                                              # optionally delete the settings
                                                                                                                                                              # ./login_config.sh -d
                                                                                                                                                              
                                                                                                                                                            7. See Advanced Use Cases (below) if you have a multi-server environment, or want to create LDAP users before they log in.

                                                                                                                                                            Details of this workflow are as follows:

                                                                                                                                                            Configure env.sh

                                                                                                                                                            To use the helper script, modify the env.sh

                                                                                                                                                            to set the required values for API_TOKEN and URL for your environment. Once set, invoking login_config.sh (at the sysdig-cloud-scripts repository in GitHub) helper script with no options will print the current configuration. Initially empty.

                                                                                                                                                            Retrieve Current LDAP Settings

                                                                                                                                                            # ./login_config.sh
                                                                                                                                                            No ldap settings are set
                                                                                                                                                            Run for further info: ./login_config.sh -h
                                                                                                                                                            

                                                                                                                                                            Configure settings_login_simple.json and set withlogin_config.sh

                                                                                                                                                            In the sysdig-cloud-scripts repository in GitHub, find the example settings_login_simple.json and modify it for your environment, following the Tables above.

                                                                                                                                                            To apply the new LDAP settings invoke login_config.sh with the -s option and specify the filename containing the JSON config:

                                                                                                                                                            # ./login_config.sh -s settings_login_simple.json
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547542447000,
                                                                                                                                                                "type": "ldap",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "loginConnectionSettings": {
                                                                                                                                                                    "server": "ldap://172.16.0.1",
                                                                                                                                                                    "rootDn": "dc=example,dc=local",
                                                                                                                                                                    "managerDn": "cn=Administrator,cn=Users,dc=example,dc=local",
                                                                                                                                                                    "managerPassword": "myMgrPassword",
                                                                                                                                                                    "referral": "IGNORE"
                                                                                                                                                                  },
                                                                                                                                                                  "loginFilter": {
                                                                                                                                                                    "searchBase": "cn=Users",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName={0}))"
                                                                                                                                                                  }
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Sample result in Active Directory

                                                                                                                                                            Using the specific example settings_login_simple.json and the minimal Active Directory configuration in the screenshot below, login to the Sysdig platform would now be permitted for a user jdoe that has the following distinguishedName:

                                                                                                                                                            CN=John Doe,CN=Users,DC=example,DC=local
                                                                                                                                                            

                                                                                                                                                            Test User Login

                                                                                                                                                            To test the login configuration, the “super” Admin user can confirm if a particular user would be permitted to login given current LDAP login connection settings. To do this, perform an HTTP GET to the API endpoint /api/admin/ldap/settings/verify/USERNAME . A verify_user.sh helper script is provided to easily perform this. If invoked with the -u option and a username, and the user’s login would be successful, it will return the user’s information from the directory.

                                                                                                                                                            # ./verify_user.sh -u jdoe
                                                                                                                                                            {"element":"uSNCreated=12799, countryCode=0, badPwdCount=0, whenChanged=20180406232737.0Z, objectClass=top, primaryGroupID=513, givenName=John, objectGUID=..., objectSid=..., instanceType=4, whenCreated=20180406220651.0Z, dSCorePropagationData=16010101000000.0Z, sn=Doe, userAccountControl=66048, lastLogonTimestamp=131675308573317669, cn=John Doe, codePage=0, accountExpires=9223372036854775807, sAMAccountName=jdoe, sAMAccountType=805306368, userPrincipalName=jdoe@example.local, displayName=John Doe, pwdLastSet=131675260113435098, lastLogon=131682933890462204, name=John Doe, objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local, distinguishedName=CN=John Doe,CN=Users,DC=example,DC=local, lastLogoff=0, memberOf=CN=Sysdig Viewers,CN=Users,DC=example,DC=local, logonCount=0, uSNChanged=12986"}
                                                                                                                                                            

                                                                                                                                                            If the user would not be able to login, an error message will be returned.

                                                                                                                                                            # ./verify_user.sh -u nothere
                                                                                                                                                            Could not verify user "nothere". Check LDAP login config settings and/or system log.
                                                                                                                                                            

                                                                                                                                                            Note that if LDAP authentication is disabled this method for testing user login is not available.

                                                                                                                                                            Optional: Delete LDAP settings

                                                                                                                                                            To delete LDAP settings, invoke login_config.sh with the -d option. After running the following command all LDAP users will not be able to login to the Sysdig platform.

                                                                                                                                                            # ./login_config.sh -d
                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "id": 1,
                                                                                                                                                                "version": 1,
                                                                                                                                                                "createdOn": 1547542447000,
                                                                                                                                                                "type": "ldap",
                                                                                                                                                                "scope": "SYSTEM",
                                                                                                                                                                "settings": {
                                                                                                                                                                  "loginConnectionSettings": {
                                                                                                                                                                    "server": "ldap://172.16.0.1",
                                                                                                                                                                    "rootDn": "dc=example,dc=local",
                                                                                                                                                                    "managerDn": "cn=Administrator,cn=Users,dc=example,dc=local",
                                                                                                                                                                    "managerPassword": "myMgrPassword",
                                                                                                                                                                    "referral": "IGNORE"
                                                                                                                                                                  },
                                                                                                                                                                  "loginFilter": {
                                                                                                                                                                    "searchBase": "cn=Users",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName={0}))"
                                                                                                                                                                  }
                                                                                                                                                                }
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            User Experience

                                                                                                                                                            When a user accesses the Sysdig interface, they are prompted to enter their LDAP credentials (in the fields normally used for email/password).

                                                                                                                                                            Monitor: https://HOSTNAME/ or Secure: https://HOSTNAME/secure

                                                                                                                                                            Advanced Use Cases

                                                                                                                                                            Multi-Server Directories

                                                                                                                                                            Data about your users that need to access the Sysdig platform may be stored across many directory servers in your environment. As the Sysdig platform is only able to query one LDAP server endpoint, you would need to take extra steps to ensure successful authentication for such users.

                                                                                                                                                            The simplest approach to achieve this is to query against a Global Catalog. As the Global Catalog stores a copy of all Active Directory objects in a forest, this provides a fast and convenient target for the Sysdig platform to find all users that may need to authenticate. Since queries against the Global Catalog are also performed via LDAP, you simply need to ensure your LDAP configuration specifies the appropriate address and TCP port for the Global Catalog, e.g. ldap://176.16.0.1:3268 for cleartext LDAP or ldaps://172.16.0.1:3269 for LDAP over SSL. If querying against a Global Catalog, the referral option of the Sysdig platform’s LDAP configuration can remain at its default setting of "IGNORE".

                                                                                                                                                            If a Global Catalog is not available, another approach is to leverage referral chasing. Such chasing depends on complex interplay of configuration settings, DNS resolution, and network connectivity to multiple servers. If you require this option, carefully read the tips in this section and validate your configuration in a test environment before attempting its use in production. Contact Sysdig support for assistance as necessary.

                                                                                                                                                            For our example configuration, we’ve added another Domain Controller to our environment that holds users a separate set of users for the child domain eu.example.local.

                                                                                                                                                            We’d like to permit login for a user “eurodude” in the child domain. This user has distinguishedName:

                                                                                                                                                            CN=Euro Dude,CN=Users,DC=eu,DC=example,DC=local
                                                                                                                                                            

                                                                                                                                                            In the example configuration settings_login_referral_follow.json shown below, the Sysdig platform still begins its LDAP queries at the same top-level server target. However, the referral option is set to "FOLLOW", which will cause the Sysdig platform to perform subsequent queries if a query returns one or more referrals.

                                                                                                                                                            {
                                                                                                                                                              "authenticationSettings": {
                                                                                                                                                                "settings": {
                                                                                                                                                                  "loginConnectionSettings": {
                                                                                                                                                                    "server": "ldap://172.16.0.1",
                                                                                                                                                                    "managerDn": "cn=Administrator,cn=Users,dc=example,dc=local",
                                                                                                                                                                    "managerPassword": "myMgrPassword",
                                                                                                                                                                    "referral": "FOLLOW"
                                                                                                                                                                  },
                                                                                                                                                                  "loginFilter": {
                                                                                                                                                                    "searchBase": "dc=example,dc=local",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName={0}))"
                                                                                                                                                                  }
                                                                                                                                                                },
                                                                                                                                                                "version": 1,
                                                                                                                                                                "type": "ldap"
                                                                                                                                                              }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Note also how in this case the rootDn option is left unspecified and the searchBase is set to the distinguished name of the top-level domain. This is necessary to ensure the scope of the chased referral queries will include the child domain. If **rootDn **and searchBase had been left as they were set in the settings_login_simple.json example, the initial query would have been targeted only within cn=Users,dc=example,dc=local and hence the referral would never have been returned by the top-level server.

                                                                                                                                                            Note these other caveats of referral chasing in the Sysdig platform:

                                                                                                                                                            • Referrals may only be successfully chased to child domains. If referrals point to parallel domains (e.g. for our example, dc=adjacent,dc=local) the queries will not succeed and users stored in the directory servers for such domains will not be able to authenticate.

                                                                                                                                                            • The LDAP library used by the Sysdig platform does not log information about each referral it attempts to chase. Therefore, if you enable referral chasing, it is important that you understand the server targets that may be chased in your environment and ensure the network connectivity (routing/firewalls) will permit the Sysdig platform to query these server targets. If LDAP queries are failing due to a network connectivity issue, this will typically be accompanied by delays during Sysdig user logins of approximately 30 seconds followed by a login failure with an HTTP 504 error message shown in the login screen. If this occurs, contact Sysdig support for assistance.

                                                                                                                                                            Creating LDAP Users Before They Login

                                                                                                                                                            The default behavior of the LDAP feature is to create a new record in the Sysdig user database when a user authenticates successfully via LDAP for the first time. However, it may be desirable to add such user records in advance of their first login, such as if you wish to use automation to change user permissions, assign team membership, or pre-populate Dashboard/Alert configurations. A create_user.sh helper script is available in the sysdig-cloud-scripts repository to create such user records via the API. This script can also be used to enable/disable this functionality in the Sysdig platform. See the README for details.

                                                                                                                                                            Additional details regarding this type of user creation in conjunction with LDAP authentication:

                                                                                                                                                            • This method allows creation of any username, even if it doesn’t currently exist in the directory that is queried via LDAP.

                                                                                                                                                            • When LDAP authentication is enabled, such users can be created with a simple username (e.g. jdoe ) or with an email-style postfix (as is typical for non-LDAP Sysdig user, e.g. jdoe@example.com ). In this latter case only the username portion ( jdoe ) is used when the Sysdig platform is performing an LDAP query during attempted login.

                                                                                                                                                            • While the password must be included in the config you POST to create the user, it is not used by the Sysdig platform when LDAP is enabled, as authentication will always be performed via LDAP. For this same reason, if a user has been created in this way, they will not be able to login unless there is a matching user in the directory that is queried via LDAP.

                                                                                                                                                            • The firstName and lastName values as specified in the example are optional and independent from any equivalent name settings in the directory that is queried via LDAP.

                                                                                                                                                            Limitations and Caveats

                                                                                                                                                            • LDAP support has been tested with Active Directory in Windows Server 2012 R2. It may work with AD versions that ship with other versions of Windows, or other directory servers that use the LDAP protocol. If you are intending to use LDAP with something other than Active Directory, please contact Sysdig Support.

                                                                                                                                                            • The LDAP feature is only present in Sysdig software platform installs (not the SaaS version).

                                                                                                                                                            • Only one LDAP config can exist per deployment (i.e. the platform can only query one directory server endpoint).

                                                                                                                                                            • Because the Sysdig software platform is based on the same technology as the SaaS-based Sysdig service, it theoretically supports the configuration of multiple “customers” using the same install. However, the multi-customer option is not supported when the LDAP feature is enabled.

                                                                                                                                                            • When LDAP authentication is enabled, adding users via email “invites” is not possible.

                                                                                                                                                            • LDAP authentication for directory usernames that begin or end with a space character (e.g. " jdoe" or "jdoe " ) are not supported.

                                                                                                                                                            • Configuration entries that contain special characters (for instance, a managerPassword that contains a backslash character) are supported, but note that you will need to perform proper JSON escaping in the configuration you POST to the API. If you attempt to post invalid JSON, the helper scripts will return an error message. If this occurs, you can use tools such as JSONLint to narrow down the source of the problem and/or JSON String Escape to learn how to properly escape your text.

                                                                                                                                                            • The LDAP feature does not attempt any ongoing “sync” back from the Sysdig platform user database to the directory server. Note how this impacts the following:

                                                                                                                                                              • If a user is deleted from the directory server, their user record will remain in the Sysdig user database until a Sysdig Admin deletes it. Of course, that user will not be able to login since they will no longer be able to authenticate successfully via LDAP.

                                                                                                                                                              • If an Admin deletes a user from the Sysdig user database, but the user can still authenticate successfully via LDAP, their Sysdig user record will be recreated if they login again via LDAP.

                                                                                                                                                              • If a person’s username should change in the directory server (e.g. the value for sAMAccountName in our examples above), the next time they login, a new user record will be created for them in the Sysdig user database. Settings they previously had in the Sysdig platform such as Admin rights and Alerts/Dashboard configurations will not be present for this recreated user.

                                                                                                                                                            • Other LDAP-centric functionality that is not currently supported (not an exhaustive list):

                                                                                                                                                              • Mapping a user in the directory server to the Sysdig “super” Admin (such as to avoid the need to configure the this “super” Admin user).

                                                                                                                                                              • Session expiry based on configuration in the directory server (such as to set a user account to only be valid until a certain date).

                                                                                                                                                              • Login policies based on configuration in the directory server (such as to restrict login to certain hours).

                                                                                                                                                              • User timeout functionality (such as to remove a user from the Sysdig user database if they have not logged in for a certain amount of time).

                                                                                                                                                            5.7.4.2 -

                                                                                                                                                            LDAP Authentication Configuration (for Platform v.1149 - 1511)

                                                                                                                                                            This article is specific to LDAP support of On-Premises Deployments version 1149 - 1511.

                                                                                                                                                            Introduction

                                                                                                                                                            LDAP support in the Sysdig software platform is often leveraged to allow user authentication using credentials in a customer’s own directory server.

                                                                                                                                                            This document describes how to configure base LDAP settings, as well as the limitations of the LDAP support.

                                                                                                                                                            LDAP can be complex to configure. Sysdig strongly recommends that you first refine your LDAP configuration in a separate test setup before applying the LDAP settings in your production environment. If you do not have a “development license” for test purposes or have misplaced your license information, contact <billing@sysdig.com.>

                                                                                                                                                            Summary of Functionality

                                                                                                                                                            Independent of the LDAP feature, the Sysdig platform ordinarily maintains its own user database to hold not only a username and password hash but also settings for Admin privileges, Sysdig team membership, and a user’s configured Dashboards and Alerts. Sysdig’s LDAP authentication feature provides a means to allow the Sysdig platform to query your separate directory server to validate username/password. Upon successful authentication, a corresponding user record in the Sysdig platform’s user database is automatically created. When the LDAP feature is in use, the user’s directory password is not stored in the Sysdig user database.

                                                                                                                                                            Once LDAP authentication is enabled, all normal user authentication will be performed against your configured directory server. Other local, non-LDAP users that were created before LDAP was enabled can still authenticate via LDAP as long as their username in your directory matches with the the username of their pre-existing record in the Sysdig user database. For example, consider a user jdoe@example.com who had been a user in the Sysdig environment before LDAP was enabled. Once LDAP authentication is enabled, if a user jdoe exists in the directory server and is able to authenticate successfully via LDAP, they will be permitted to log in to the Sysdig platform as the pre-existing jdoe@example.com user. Any user-specific configuration (Alerts, Dashboards, etc.) that were attached to jdoe@example.com will still be visible to this user. Any password previously set for such a pre-existing user record will not be used for authentication to the Sysdig platform unless LDAP authentication is disabled.

                                                                                                                                                            Upgrades - Migration of Settings

                                                                                                                                                            Note: This section is only relevant if you have already been using LDAP support as it existed in Sysdig platform version 858 and earlier and are upgrading to version 1149 or newer. If you are configuring LDAP for the first time and are running version 1149 or newer, skip this section.

                                                                                                                                                            LDAP support in version 858 and older was configured exclusively via the Replicated console or Kubernetes ConfigMap, depending on your installation type. This required the Sysdig platform to be restarted after any changes to the LDAP settings. When you upgrade your environment to version 1149 or newer, your existing settings will be migrated to a new API-based configuration described below. The only LDAP-related setting that remains in the Replicated console is the optional CA certificate for LDAPS connectivity.

                                                                                                                                                            For Kubernetes-based installs, you should leave the prior LDAP settings intact to ensure successful migration upon upgrade. But once you are successfully running version 1149 or newer, all elements that begin with sysdigcloud.ldap can be removed from your ConfigMap.

                                                                                                                                                            Prerequisite: The “Super” Admin user

                                                                                                                                                            In an environment enabled for LDAP authentication, the one user still subject to direct email+password authentication is the “super” Admin user. Creation of this user is a required initial install step either via the Replicated console (see screenshot below) or Kubernetes ConfigMap element sysdigcloud.default.user.

                                                                                                                                                            This user is required and cannot be deleted. This login provides:

                                                                                                                                                            • A way to access the Sysdig platform when LDAP connectivity is severed.

                                                                                                                                                            • The first Admin user in the install, essential for assigning Admin rights to other users once they’ve authenticated via your directory and their user records have been added to the Sysdig user database.

                                                                                                                                                            • The user whose REST API Token can be used to perform further LDAP configurations via the Sysdig platform API (see below).

                                                                                                                                                            Once other directory-authenticated users have been promoted to Admins, those Admins can promote other directory-authenticated users to Admin, and so on.

                                                                                                                                                            Configuration of Base LDAP Settings

                                                                                                                                                            The configuration of the LDAP feature can be viewed, updated, and deleted by the “super” Admin via the API endpoint /api/admin/ldap/settings using HTTP methods for GET, POST, and DELETE, respectively.

                                                                                                                                                            NOTE: See the REST API page for general info on the API, and the the Locating the “Super” Admin User page for guidance on finding the token for the appropriate “super” Admin user.

                                                                                                                                                            A version of a login_config.sh helper script is available in a beta branch of the sysdig-cloud-scripts repository for your use along with an example settings_login_simple.json that can be modified for your environment. Refer to the tables below for details on config options. Example command-lines below the table describe how to enable LDAP with these settings.

                                                                                                                                                            The follow settings are in the required loginConnectionSettings section.

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            server

                                                                                                                                                            Yes

                                                                                                                                                            URL of the directory server for the Sysdig platform to query. An example for LDAP over SSL:

                                                                                                                                                            ldaps://172.16.0.1:636

                                                                                                                                                            For cleartext LDAP:

                                                                                                                                                            ldap://176.16.0.1

                                                                                                                                                            Note that to use LDAPS, you'll also need to use the Replicated console (or equivalent approach in Kubernetes-based installs) to upload a Certificate Authority (CA) PEM-format certificate that the Sysdig platform will use to validate its SSL connection to the server. If you have a host with OpenSSL tools installed that can reach the directory server, you can obtain the certificate by running:

                                                                                                                                                            # openssl s_client -showcerts -connect <server-ip>:636

                                                                                                                                                            The command output will typically show the server certificate first and the CA certificate second, both in PEM format. Into a text file, paste the CA certificate portion of the output that looks like:

                                                                                                                                                            -----BEGIN CERTIFICATE-----
                                                                                                                                                            [random text...]
                                                                                                                                                            -----END CERTIFICATE-----

                                                                                                                                                            Under LDAP CA certificate in the PEM format in the Replicated console, click the "Choose File" button and browse to the file you just created to select and upload it. Note that when you click Save, the Sysdig platform will restart. This is the only setting related to LDAP that requires a platform restart.

                                                                                                                                                            Note: For environments using self-signed certificates, the openssl command shown above will return only one certificate.

                                                                                                                                                            managerDn

                                                                                                                                                            Yes

                                                                                                                                                            The distinguished name of a user that the Sysdig platform can authenticate as via LDAP in order to perform further queries about the users attempting to login to the Sysdig platform. Example:

                                                                                                                                                            cn=Administrator,cn=Users,dc=example,dc=local

                                                                                                                                                            This setting is required, as the Sysdig platform does not support connection to servers via anonymous bind.

                                                                                                                                                            managerPassword

                                                                                                                                                            Yes

                                                                                                                                                            The password for the managerDn.

                                                                                                                                                            rootDn

                                                                                                                                                            No

                                                                                                                                                            The distinguished name for the point in the LDAP tree below which all search queries will begin. Example:

                                                                                                                                                            dc=example,dc=local

                                                                                                                                                            referral

                                                                                                                                                            No

                                                                                                                                                            Defines whether the Sysdig platform will chase referrals found in LDAP query responses. If not specified, this will be set to "IGNORE" in your configuration and referrals will not be chased. See the section below on Multi-Server Directories for more details on this option.

                                                                                                                                                            The following settings are in the optional loginFilter section:s

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            searchBase

                                                                                                                                                            Yes

                                                                                                                                                            A relative distinguished name (from the rootDn) below which queries about users should be performed. Example:

                                                                                                                                                            cn=Users

                                                                                                                                                            If specified as an empty string (""), the search will be performed across everything below the rootDn, in which case the rootDn setting must be configured.

                                                                                                                                                            Note that if the rootDn setting was not specified, the searchBase setting must provide a full distinguished name. Example:

                                                                                                                                                            cn=Users,dc=example,dc=local

                                                                                                                                                            searchFilter

                                                                                                                                                            No

                                                                                                                                                            An LDAP search filter (in RFC2254 format) that the Sysdig platform will use in constructing the query to identify the user record. The marker token {0} represents where the username will appear when LDAP queries are constructed. An example that targets the attribute sAMAccountName in Active Directory:

                                                                                                                                                            (&(objectClass=organizationalPerson)(sAMAccountName={0}))

                                                                                                                                                            While this setting is optional, if not specified, no users will be able to authenticate via LDAP.

                                                                                                                                                            To use the helper script, modify the env.sh to set the required values for API_TOKEN and URL for your environment. Once set, invoking login_config.sh with no options will print the current configuration. If you were running Sysdig platform version 858 or older and have just upgraded to version 1149 or newer, you will see your migrated settings. Otherwise, the LDAP feature will start out disabled ("enableLdapAuthentication": false) and other configuration settings will not be shown.

                                                                                                                                                            # ./login_config.sh
                                                                                                                                                            {
                                                                                                                                                                "ldapSettings": {
                                                                                                                                                                    "enableLdapAuthentication": false,
                                                                                                                                                                    "version": 1
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Using the guidance in the settings table above, modify the settings_login_simple.json as necessary to allow for connectivity and querying of users in your directory server. To apply the new LDAP settings, invoke login_config.sh with the -s option and specify the filename containing the JSON config, . If successful, the applied configuration will be echoed back by the API.

                                                                                                                                                            # ./login_config.sh -s settings_login_simple.json
                                                                                                                                                            {"ldapSettings":{"version":2,"loginConnectionSettings":{"server":"ldap://172.16.0.1","rootDn":"dc=example,dc=local","managerDn":"cn=Administrator,cn=Users,dc=example,dc=local","managerPassword":"myMgrPassword","referral":"IGNORE"},"loginFilter":{"searchBase":"cn=Users","searchFilter":"(&(objectClass=organizationalPerson)(sAMAccountName={0}))"},"enableLdapAuthentication":true}}
                                                                                                                                                            

                                                                                                                                                            Using the specific example settings_login_simple.json and the minimal Active Directory configuration in the screenshot below, login to the Sysdig platform would now be permitted for a user jdoe that has distinguishedName:

                                                                                                                                                            CN=John Doe,CN=Users,DC=example,DC=local
                                                                                                                                                            

                                                                                                                                                            To delete LDAP settings, invoke login_config.sh with the -d option. This should be used with caution, as this will prevent all LDAP users from being able to log in to the Sysdig platform!

                                                                                                                                                            # ./login_config.sh -d
                                                                                                                                                            {"ldapSettings":{"version":3,"enableLdapAuthentication":false}}
                                                                                                                                                            

                                                                                                                                                            Group Membership Configuration (deprecated)

                                                                                                                                                            The LDAP feature as it existed in version 858 and earlier included optional additional settings that, when specified, ensured that authenticated users were also members of one or more groups before permitting them to login to the Sysdig platform. These settings are documented here for the benefit of those who used these settings in the past and have had their settings migrated to the newer API-based configuration, where they become part of the **loginFilter **section. See below for details on how to use the searchFilter instead to achieve equivalent functionality.

                                                                                                                                                            For use with the login_config.sh helper script, an example settings_login_group_deprecated.json is provided that can be modified for your environment based on the table below. Example command-lines are shown below the table.

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            groupSearchBase

                                                                                                                                                            No

                                                                                                                                                            A relative distinguished name (from the rootDn) below which queries about groups should be performed. Example:

                                                                                                                                                            ou=Planets

                                                                                                                                                            groupSearchFilter

                                                                                                                                                            No

                                                                                                                                                            An LDAP search filter (in RFC2254 format) that the Sysdig platform will use in constructing the query to identify a group to which the user must belong. An example that only permits users that are in the Mars group in Active Directory:

                                                                                                                                                            (&(cn=Mars)(objectclass=group))

                                                                                                                                                            If this setting is left blank, group membership is not required, and hence any user that successfully authenticates via LDAP using only username/password will be permitted to login to the Sysdig platform.

                                                                                                                                                            groupMembershipFilter

                                                                                                                                                            No

                                                                                                                                                            An LDAP search filter (in RFC2254 format) that the Sysdig platform will use to determine group membership. If no setting is specified, the following default filter is applied, which should work for most environments:

                                                                                                                                                            (| (member={0}) (uniqueMember={0}) (memberUid={1}))

                                                                                                                                                            Using the specific example settings_login_group_deprecated.json and the minimal Active Directory configuration in the screenshot below, login to the Sysdig platform would be permitted for this user who belongs to the Mars group.

                                                                                                                                                            But jdoe user who is not a member would be prevented from logging in.

                                                                                                                                                            To simplify your configuration and avoid use of these deprecated options, an equivalent configuration can be achieved by making the group membership part of the searchFilter:

                                                                                                                                                            "searchFilter": "(&(memberOf=CN=Mars,OU=Planets,DC=example,DC=local)(objectClass=organizationalPerson)(sAMAccountName={0}))"
                                                                                                                                                            

                                                                                                                                                            See the example settings_login_group.json for an updated configuration that can be compared side-by-side with settings_login_group_deprecated.json.

                                                                                                                                                            Multi-Server Directories

                                                                                                                                                            Data about your users that need to access the Sysdig platform may be stored across many directory servers in your environment. As the Sysdig platform is only able to query one LDAP server endpoint, you would need to take extra steps to ensure successful authentication for such users.

                                                                                                                                                            The simplest approach to achieve this is to query against a Global Catalog. As the Global Catalog stores a copy of all Active Directory objects in a forest, this provides a fast and convenient target for the Sysdig platform to find all users that may need to authenticate. Since queries against the Global Catalog are also performed via LDAP, you simply need to ensure your LDAP configuration specifies the appropriate address and TCP port for the Global Catalog, e.g. ldap://176.16.0.1:3268 for cleartext LDAP or ldaps://172.16.0.1:3269 for LDAP over SSL. If querying against a Global Catalog, the referral option of the Sysdig platform’s LDAP configuration can remain at its default setting of "IGNORE".

                                                                                                                                                            If a Global Catalog is not available, another approach is to leverage referral chasing. Such chasing depends on the complex interplay of configuration settings, DNS resolution, and network connectivity to multiple servers. If you require this option, carefully read the tips in this section and validate your configuration in a test environment before attempting its use in production. Contact Sysdig support for assistance as necessary.

                                                                                                                                                            For our example configuration, we’ve added another Domain Controller to our environment that holds users a separate set of users for the child domain eu.example.local.

                                                                                                                                                            We’d like to permit login for a user “eurodude” in the child domain. This user has distinguishedName:

                                                                                                                                                            CN=Euro Dude,CN=Users,DC=eu,DC=example,DC=local
                                                                                                                                                            

                                                                                                                                                            In the example configuration settings_login_referral_follow.json shown below, the Sysdig platform still begins its LDAP queries at the same top-level server target. However, the referral option is set to "FOLLOW", which will cause the Sysdig platform to perform subsequent queries if a query returns one or more referrals.

                                                                                                                                                            {
                                                                                                                                                              "loginConnectionSettings": {
                                                                                                                                                                "server": "ldap://172.16.0.1",
                                                                                                                                                                "managerDn": "cn=Administrator,cn=Users,dc=example,dc=local",
                                                                                                                                                                "managerPassword": "myMgrPassword",
                                                                                                                                                                "referral": "FOLLOW"
                                                                                                                                                              },
                                                                                                                                                              "loginFilter": {
                                                                                                                                                                "searchBase": "dc=example,dc=local",
                                                                                                                                                                "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName={0}))"
                                                                                                                                                              },
                                                                                                                                                              "enableLdapAuthentication": true
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Note also how in this case the rootDn option is left unspecified and the searchBase is set to the distinguished name of the top-level domain. This is necessary to ensure the scope of the chased referral queries will include the child domain. If **rootDn **and searchBase had been left as they were set in the settings_login_simple.json example, the initial query would have been targeted only within cn=Users,dc=example,dc=local and hence the referral would never have been returned by the top-level server.

                                                                                                                                                            Note these other caveats of referral chasing in the Sysdig platform:

                                                                                                                                                            • Referrals may only be successfully chased to child domains. If referrals point to parallel domains (e.g. for our example, dc=adjacent,dc=local) the queries will not succeed and users stored in the directory servers for such domains will not be able to authenticate.

                                                                                                                                                            • The LDAP library used by the Sysdig platform does not log information about each referral it attempts to chase. Therefore, if you enable referral chasing, it is important that you understand the server targets that may be chased in your environment and ensure the network connectivity (routing/firewalls) will permit the Sysdig platform to query these server targets. If LDAP queries are failing due to a network connectivity issue, this will typically be accompanied by delays during Sysdig user logins of approximately 30 seconds followed by a login failure with an HTTP 504 error message shown in the login screen. If this occurs, contact Sysdig support for assistance.

                                                                                                                                                            Testing User Login

                                                                                                                                                            To test the login configuration, the “super” Admin user can confirm if a particular user would be permitted to login given current LDAP login connection settings. To do this, perform an HTTP GET to the API endpoint /api/admin/ldap/settings/verify/USERNAME . A verify_user.sh helper script is provided to easily perform this. If invoked with the -u option and a username, and the user’s login would be successful, it will return the user’s information from the directory.

                                                                                                                                                            # ./verify_user.sh -u jdoe
                                                                                                                                                            {"element":"uSNCreated=12799, countryCode=0, badPwdCount=0, whenChanged=20180406232737.0Z, objectClass=top, primaryGroupID=513, givenName=John, objectGUID=..., objectSid=..., instanceType=4, whenCreated=20180406220651.0Z, dSCorePropagationData=16010101000000.0Z, sn=Doe, userAccountControl=66048, lastLogonTimestamp=131675308573317669, cn=John Doe, codePage=0, accountExpires=9223372036854775807, sAMAccountName=jdoe, sAMAccountType=805306368, userPrincipalName=jdoe@example.local, displayName=John Doe, pwdLastSet=131675260113435098, lastLogon=131682933890462204, name=John Doe, objectCategory=CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local, distinguishedName=CN=John Doe,CN=Users,DC=example,DC=local, lastLogoff=0, memberOf=CN=Sysdig Viewers,CN=Users,DC=example,DC=local, logonCount=0, uSNChanged=12986"}
                                                                                                                                                            

                                                                                                                                                            If the user would not be able to login, an error message will be returned.

                                                                                                                                                            # ./verify_user.sh -u nothere
                                                                                                                                                            Could not verify user "nothere". Check LDAP login config settings and/or system log.
                                                                                                                                                            

                                                                                                                                                            Note that if LDAP authentication is disabled this method for testing user login is not available.

                                                                                                                                                            Creating LDAP Users Before They Login

                                                                                                                                                            The default behavior of the LDAP feature is to create a new record in the Sysdig user database when a user authenticates successfully via LDAP for the first time. However, it may be desirable to add such user records in advance of their first login, such as if you wish to use automation to change user permissions, assign team membership, or pre-populate Dashboard/Alert configurations. A create_user.sh helper script is available in the sysdig-cloud-scripts repository to create such user records via the API. This script can also be used to enable/disable this functionality in the Sysdig platform. See the README for details.

                                                                                                                                                            Additional details regarding this type of user creation in conjunction with LDAP authentication:

                                                                                                                                                            • This method allows creation of any username, even if it doesn’t currently exist in the directory that is queried via LDAP.

                                                                                                                                                            • When LDAP authentication is enabled, such users can be created with a simple username (e.g. jdoe ) or with an email-style postfix (as is typical for non-LDAP Sysdig user, e.g. jdoe@example.com ). In this latter case only the username portion ( jdoe ) is used when the Sysdig platform is performing an LDAP query during attempted login.

                                                                                                                                                            • While the password must be included in the config you POST to create the user, it is not used by the Sysdig platform when LDAP is enabled, as authentication will always be performed via LDAP. For this same reason, if a user has been created in this way, they will not be able to login unless there is a matching user in the directory that is queried via LDAP.

                                                                                                                                                            • The firstName and lastName values as specified in the example are optional and independent from any equivalent name settings in the directory that is queried via LDAP.

                                                                                                                                                            Limitations and Caveats

                                                                                                                                                            • LDAP support has been tested with Active Directory in Windows Server 2012 R2. It may work with AD versions that ship with other versions of Windows, or other directory servers that use the LDAP protocol. If you are intending to use LDAP with something other than Active Directory, please contact Sysdig Support.

                                                                                                                                                            • The LDAP feature is only present in Sysdig software platform installs (not the SaaS version).

                                                                                                                                                            • Only one LDAP config can exist per deployment (i.e. the platform can only query one directory server endpoint).

                                                                                                                                                            • Because the Sysdig software platform is based on the same technology as the SaaS-based Sysdig service, it theoretically supports the configuration of multiple “customers” using the same install. However, the multi-customer option is not supported when the LDAP feature is enabled.

                                                                                                                                                            • When LDAP authentication is enabled, adding users via email “invites” is not possible.

                                                                                                                                                            • LDAP authentication for directory usernames that begin or end with a space character (e.g. " jdoe" or "jdoe " ) are not supported.

                                                                                                                                                            • Configuration entries that contain special characters (for instance, a managerPassword that contains a backslash character) are supported, but note that you will need to perform proper JSON escaping in the configuration you POST to the API. If you attempt to post invalid JSON, the helper scripts will return an error message. If this occurs, you can use tools such as JSONLint to narrow down the source of the problem and/or JSON String Escape to learn how to properly escape your text.

                                                                                                                                                            • The LDAP feature does not attempt any ongoing “sync” back from the Sysdig platform user database to the directory server. Note how this impacts the following:

                                                                                                                                                              • If a user is deleted from the directory server, their user record will remain in the Sysdig user database until a Sysdig Admin deletes it. Of course, that user will not be able to login since they will no longer be able to authenticate successfully via LDAP.

                                                                                                                                                              • If an Admin deletes a user from the Sysdig user database, but the user can still authenticate successfully via LDAP, their Sysdig user record will be recreated if they login again via LDAP.

                                                                                                                                                              • If a person’s username should change in the directory server (e.g. the value for sAMAccountName in our examples above), the next time they login, a new user record will be created for them in the Sysdig user database. Settings they previously had in the Sysdig platform such as Admin rights and Alerts/Dashboard configurations will not be present for this recreated user.

                                                                                                                                                            • Other LDAP-centric functionality that is not currently supported (not an exhaustive list):

                                                                                                                                                              • Mapping a user in the directory server to the Sysdig “super” Admin (such as to avoid the need to configure the this “super” Admin user).

                                                                                                                                                              • Session expiry based on configuration in the directory server (such as to set a user account to only be valid until a certain date).

                                                                                                                                                              • Login policies based on configuration in the directory server (such as to restrict login to certain hours).

                                                                                                                                                              • User timeout functionality (such as to remove a user from the Sysdig user database if they have not logged in for a certain amount of time).

                                                                                                                                                            5.7.4.3 -

                                                                                                                                                            Mapping LDAP Users to Sysdig Teams

                                                                                                                                                            LDAP support in the Sysdig on-premises platform allows user authentication via credentials stored in your own directory server. Once LDAP authentication is configured, the optional mapping feature can be used to map groups of users from your directory to Sysdig teams.

                                                                                                                                                            How It Works

                                                                                                                                                            After basic LDAP integration, records in the Sysdig user database are automatically created when users successfully authenticate via LDAP the first time. Then a Sysdig Admin could add/remove them from Sysdig teams and change their roles in those teams.

                                                                                                                                                            To eliminate this manual workflow, LDAP mapping provides a policy-driven, automated way to use relevant information from your directory to affect the lifecycle of such users/teams. This is achieved by creating LDAP-mapping rules that identify groups of users in your directory and port them to Sysdig’s database, specifying teams in which they should be members and their roles in those teams. LDAP-mapping rules trigger the automatic creation of such users and teams in the Sysdig platform database, and ongoing synchronization ensures the Sysdig platform database always reflects the current state of your directory, such as when users are deleted from your directory or are no longer members of a group.

                                                                                                                                                            Process Overview

                                                                                                                                                            1. Configure Basic LDAP.

                                                                                                                                                              Note that in the process, you modify env.sh with token and authentication credentials.

                                                                                                                                                            2. Download Helper Scripts.

                                                                                                                                                            3. Configure settings_mapping_simple.json.

                                                                                                                                                            4. Deploy mapping_config.sh file (various options).

                                                                                                                                                            Prerequisites

                                                                                                                                                            Configure Basic LDAP

                                                                                                                                                            Download Helper Scripts

                                                                                                                                                            Scripts and sample files are found in GitHub:

                                                                                                                                                            Configure settings_mapping_simple.json

                                                                                                                                                            Note that if you only want to create users via LDAP and map them to Sysdig teams, you will use the settings_mapping_simple.json.

                                                                                                                                                            If you want to map users and also enable log on through SAML single-sign-on, you will use the settings_mapping_hybrid.json.

                                                                                                                                                            Structure of settings_mapping_simple.json

                                                                                                                                                            {
                                                                                                                                                                "ldapTeamMapping": [
                                                                                                                                                                  {
                                                                                                                                                                    "ldapFilterSettings": {
                                                                                                                                                                      "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Viewers,CN=Users,DC=example,DC=local)(sAMAccountName=*))",
                                                                                                                                                                      "searchBase": "cn=Users"
                                                                                                                                                                    },
                                                                                                                                                                    "teams": [
                                                                                                                                                                      "Viewers"
                                                                                                                                                                    ],
                                                                                                                                                                    "teamRole": "ROLE_TEAM_READ",
                                                                                                                                                                    "usernameAttribute": "sAMAccountName"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "ldapFilterSettings": {
                                                                                                                                                                      "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*))",
                                                                                                                                                                      "searchBase": "cn=Users"
                                                                                                                                                                    },
                                                                                                                                                                    "teams": [
                                                                                                                                                                      "Editors1",
                                                                                                                                                                      "Editors2"
                                                                                                                                                                    ],
                                                                                                                                                                    "teamRole": "ROLE_TEAM_EDIT",
                                                                                                                                                                    "usernameAttribute": "sAMAccountName"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "ldapFilterSettings": {
                                                                                                                                                                      "searchFilter": "(&(objectClass=organizationalPerson)(givenName=Mary))",
                                                                                                                                                                      "searchBase": "cn=Users"
                                                                                                                                                                    },
                                                                                                                                                                    "teams": [
                                                                                                                                                                      "Mixed"
                                                                                                                                                                    ],
                                                                                                                                                                    "teamRole": "ROLE_TEAM_EDIT",
                                                                                                                                                                    "usernameAttribute": "sAMAccountName"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "ldapFilterSettings": {
                                                                                                                                                                      "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName=jdoe))",
                                                                                                                                                                      "searchBase": "cn=Users"
                                                                                                                                                                    },
                                                                                                                                                                    "teams": [
                                                                                                                                                                      "Mixed"
                                                                                                                                                                    ],
                                                                                                                                                                    "teamRole": "ROLE_TEAM_READ",
                                                                                                                                                                    "usernameAttribute": "sAMAccountName"
                                                                                                                                                                  }
                                                                                                                                                                ],
                                                                                                                                                                "teamDefinitions": [
                                                                                                                                                                  {
                                                                                                                                                                    "name": "Mixed",
                                                                                                                                                                    "products": ["SDC"],
                                                                                                                                                                    "show": "host"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "name": "Viewers",
                                                                                                                                                                    "products": ["SDC"],
                                                                                                                                                                    "show": "host"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "name": "Editors1",
                                                                                                                                                                    "products": ["SDC"],
                                                                                                                                                                    "show": "host"
                                                                                                                                                                  },
                                                                                                                                                                  {
                                                                                                                                                                    "name": "Editors2",
                                                                                                                                                                    "products": ["SDC"],
                                                                                                                                                                    "theme": "#FF5C49",
                                                                                                                                                                    "show": "container",
                                                                                                                                                                    "filter": "container.image contains \"mysql\"",
                                                                                                                                                                    "canUseSysdigCapture": false,
                                                                                                                                                                    "canUseCustomEvents": false,
                                                                                                                                                                    "canUseAwsMetrics": false,
                                                                                                                                                                    "entryPoint": {
                                                                                                                                                                      "module": "Dashboards"
                                                                                                                                                                    }
                                                                                                                                                                  }
                                                                                                                                                                ],
                                                                                                                                                                "dryRun": true
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            ldapTeamMapping Parameters

                                                                                                                                                            Each of the options in the first table is Required.

                                                                                                                                                            ldapTeamMapping Parameters

                                                                                                                                                            Setting

                                                                                                                                                            Description

                                                                                                                                                            ldapFilterSettings

                                                                                                                                                            Specifies which users in the directory would be targets of this mapping rule. Includes two elements:

                                                                                                                                                            - searchFilter (required): the Sysdig platform will use to identify the users that apply to this mapping rule.

                                                                                                                                                            - searchBase (optional): the distinguished name for the point in the LDAP tree below which all search queries for this group of users will begin.

                                                                                                                                                            Example:

                                                                                                                                                            "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*))",
                                                                                                                                                            "searchBase": "cn=Users" 

                                                                                                                                                            teams

                                                                                                                                                            A list of names of Sysdig teams.

                                                                                                                                                            The group of mapped users found via the searchFilter will be made members of all these teams. The named team will be auto-created the first time synchronization is performed for a mapping rule that references it.

                                                                                                                                                            Example:

                                                                                                                                                            "teams": [
                                                                                                                                                              "Web Devs",
                                                                                                                                                              "DBAs"
                                                                                                                                                            }

                                                                                                                                                            teamRole

                                                                                                                                                            Defines the Roles that will be assigned to users who are mapped to the Sysdig teams defined in this rule.

                                                                                                                                                            See options: Integrating Users and Teams via API

                                                                                                                                                            Example:

                                                                                                                                                            "teamRole": "ROLE_TEAM_EDIT"

                                                                                                                                                            usernameAttribute

                                                                                                                                                            The LDAP attribute containing the username for users that may be auto-created in the Sysdig database as a result of this rule.

                                                                                                                                                            If LDAP authentication is enabled, shorter non-email-based usernames (such as typically found in the sAMAccountName attribute of Active Directory) may be used.

                                                                                                                                                            Email-based usernames (such as mail in Active Directory) are also supported.

                                                                                                                                                            NOTE: If using LDAP/SAML Hybrid Authentication, you should use an email-based attribute for this setting to ensure successful matching against email-based usernames authenticated via SAML.

                                                                                                                                                            ldapTeamMapping Parameters

                                                                                                                                                            The Settings below define when and how synchronization is performed between your directory and the Sysdig database:

                                                                                                                                                            LDAP Sync Process Settings

                                                                                                                                                            Setting

                                                                                                                                                            Required

                                                                                                                                                            Description

                                                                                                                                                            dryRun

                                                                                                                                                            No

                                                                                                                                                            Options: true false

                                                                                                                                                            If set to true, the configuration will be applied, but any subsequent sync will perform the LDAP query and update the report/log without actually performing the changes.

                                                                                                                                                            If not specified in the config, dryRun is set to false.

                                                                                                                                                            The sample mapping configurations set it to true to help you avoid mistakes while getting acquainted with configuring LDAP mappings. A good workflow would be

                                                                                                                                                            - set dryRun to true when iterating new config changes,

                                                                                                                                                            - check the sync report to see if it achieves the desired state,

                                                                                                                                                            - apply the config again with dryRun set to false to trigger the actual changes to users/teams in the Sysdig database during the next sync.

                                                                                                                                                            maxAllowedMappedUsers

                                                                                                                                                            No

                                                                                                                                                            Options: A number 0 - 1000. Default = 100.

                                                                                                                                                            If specified, any sync that would result in greater than this number of LDAP-mapped users in the Sysdig database will be treated as a dry run. This is to protect against unintended creation of excess user counts as a result of syntax errors in filters. If not specified, will always be set to 100.

                                                                                                                                                            syncIntervalMinutes

                                                                                                                                                            No

                                                                                                                                                            Default value: 10 minutes

                                                                                                                                                            Set to 0 to disable sync completely

                                                                                                                                                            Defines how often the Sysdig platform will perform the queries defined in the mapping rules against your directory to ensure all user/team settings in the Sysdig database are current with recent updates to your directory.

                                                                                                                                                            syncTimeoutSeconds

                                                                                                                                                            No

                                                                                                                                                            Default value: 120 seconds

                                                                                                                                                            The maximum number of seconds to permit each LDAP synchronization operation to run. If the running time of a sync exceeds this amount, the backend log of the Sysdig platform will record an exception and all changes from the attempted sync will be rolled back.

                                                                                                                                                            teamDefinitions

                                                                                                                                                            Yes

                                                                                                                                                            An array that defines additional configurations for each Team referenced in the set of rules in the ldapTeamMapping array.

                                                                                                                                                            At minimum, this array must reference each Team by name in an element of the array, along with a Scope By setting (set to either "host" or "container") for that Team. Example:

                                                                                                                                                            "teamDefinitions": [
                                                                                                                                                              {
                                                                                                                                                                "name": "Mixed",
                                                                                                                                                                "show": "host"
                                                                                                                                                              }
                                                                                                                                                            ] 

                                                                                                                                                            See table below for full list of options.

                                                                                                                                                            LDAP Sync Process Settings

                                                                                                                                                            teamDefinitions Settings

                                                                                                                                                            Setting

                                                                                                                                                            Meaning

                                                                                                                                                            Description

                                                                                                                                                            id

                                                                                                                                                            ID of the team

                                                                                                                                                            A number, automatically generated. User cannot set.

                                                                                                                                                            name

                                                                                                                                                            Name of the team

                                                                                                                                                            Sysdig team name to be used (self-defined)

                                                                                                                                                            show

                                                                                                                                                            The scope to be shown

                                                                                                                                                            Options:

                                                                                                                                                            "host" or "container"

                                                                                                                                                            “container” if the team is based on scope of labels from containers, “host” if the team is based on scope of labels from hosts

                                                                                                                                                            products

                                                                                                                                                            Sysdig Monitor or Sysdig Secure

                                                                                                                                                            Options:

                                                                                                                                                            [“SDC”] for Monitor

                                                                                                                                                            [“SDS”] for Secure

                                                                                                                                                            Note that even though this field is an array, you CANNOT assign something like [“SDC”, “SDS”]. If you want to sync both Monitor and Secure teams; you need to set them up separately

                                                                                                                                                            theme

                                                                                                                                                            Color of the team

                                                                                                                                                            Optional, as per https://htmlcolorcodes.com/

                                                                                                                                                            defaultTeamRole

                                                                                                                                                            Default role when adding user to the team

                                                                                                                                                            Available with Sysdig Platform v 3.5.0

                                                                                                                                                            See options: Integrating Users and Teams via API

                                                                                                                                                            Example:

                                                                                                                                                            "defaultTeamRole": "ROLE_TEAM_EDIT"

                                                                                                                                                            canUseSysdigCapture

                                                                                                                                                            Team members allowed to take captures

                                                                                                                                                            Boolean value

                                                                                                                                                            canUseCustomEvents

                                                                                                                                                            Team members receive infrastructure events

                                                                                                                                                            Sysdig Monitor only

                                                                                                                                                            canUseAwsMetrics

                                                                                                                                                            Team members can access AWS Cloudwatch metrics

                                                                                                                                                            Sysdig Monitor only

                                                                                                                                                            entryPoint

                                                                                                                                                            Entry point for team members

                                                                                                                                                            Corresponds to UI element

                                                                                                                                                            teamDefinitions Settings

                                                                                                                                                            Options for Applying mapping_config.sh

                                                                                                                                                            Apply the LDAP configuration settings the JSON file using the mapping.config.sh.

                                                                                                                                                            For example:

                                                                                                                                                            mapping_config.sh -s settings_mapping_simple.json
                                                                                                                                                            

                                                                                                                                                            The following sections provide examples for applying settings, forcing synchronization, deleting settings, and reporting status using mapping_config.sh.

                                                                                                                                                            mapping_config.sh Option Summary

                                                                                                                                                            Option

                                                                                                                                                            Description

                                                                                                                                                            no option defined

                                                                                                                                                            Will print the current configuration

                                                                                                                                                            -s (with json filename)

                                                                                                                                                            Apply new settings

                                                                                                                                                            -f

                                                                                                                                                            Force a sync

                                                                                                                                                            -r

                                                                                                                                                            Report current state

                                                                                                                                                            -d

                                                                                                                                                            Delete settings

                                                                                                                                                            Use with caution!

                                                                                                                                                            mapping_config.sh Option Summary

                                                                                                                                                            Once set, invoking mapping_config.sh with no options will print the current configuration. If you haven’t yet configured any mapping rules, the config shown will start out empty:

                                                                                                                                                            # ./mapping_config.sh
                                                                                                                                                            {
                                                                                                                                                                "ldapSyncSettings": {
                                                                                                                                                                    "dryRun": false,
                                                                                                                                                                    "ldapTeamMapping": [],
                                                                                                                                                                    "maxAllowedMappedUsers": 100,
                                                                                                                                                                    "syncIntervalMinutes": 10,
                                                                                                                                                                    "syncTimeoutSeconds": 120,
                                                                                                                                                                    "teamDefinitions": [],
                                                                                                                                                                    "version": 1
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Apply New Settings -s

                                                                                                                                                            To apply new mapping settings, invoke mapping_config.sh with the -s option and specify the filename containing the JSON config. If successful, the applied configuration will be echoed back by the API.

                                                                                                                                                            # ./mapping_config -s settings_mapping_simple.json{"ldapSyncSettings":{"version":2,"ldapTeamMapping":[{"ldapFilterSettings":{"searchBase":"cn=Users","searchFilter":"(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Viewers,CN=Users,DC=example,DC=local)(sAMAccountName=*))"},"teams":["Viewers"],"teamRole":"ROLE_TEAM_READ","usernameAttribute":"sAMAccountName"},{"ldapFilterSettings":{"searchBase":"cn=Users","searchFilter":"(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*))"},"teams":["Editors1","Editors2"],"teamRole":"ROLE_TEAM_EDIT","usernameAttribute":"sAMAccountName"},{"ldapFilterSettings":{"searchBase":"cn=Users","searchFilter":"(&(objectClass=organizationalPerson)(givenName=Mary))"},"teams":["Mixed"],"teamRole":"ROLE_TEAM_EDIT","usernameAttribute":"sAMAccountName"},{"ldapFilterSettings":{"searchBase":"cn=Users","searchFilter":"(&(objectClass=organizationalPerson)(sAMAccountName=jdoe))"},"teams":["Mixed"],"teamRole":"ROLE_TEAM_READ","usernameAttribute":"sAMAccountName"}],"teamDefinitions":[{"version":0,"customerId":0,"immutable":false,"name":"Mixed","show":"host","origin":"SYSDIG","products":["SDC"],"entryPoint":{"module":"Explore"},"properties":{},"dateCreated":1537312025306,"canUseSysdigCapture":true,"canUseCustomEvents":true,"canUseAwsMetrics":true,"default":false,"userRoles":[]},{"version":0,"customerId":0,"immutable":false,"name":"Viewers","show":"host","origin":"SYSDIG","products":["SDC"],"entryPoint":{"module":"Explore"},"properties":{},"dateCreated":1537312025306,"canUseSysdigCapture":true,"canUseCustomEvents":true,"canUseAwsMetrics":true,"default":false,"userRoles":[]},{"version":0,"customerId":0,"immutable":false,"name":"Editors1","show":"host","origin":"SYSDIG","products":["SDC"],"entryPoint":{"module":"Explore"},"properties":{},"dateCreated":1537312025306,"canUseSysdigCapture":true,"canUseCustomEvents":true,"canUseAwsMetrics":true,"default":false,"userRoles":[]},{"version":0,"customerId":0,"immutable":false,"filter":"container.image contains \"mysql\"","name":"Editors2","theme":"#FF5C49","show":"container","origin":"SYSDIG","products":["SDC"],"entryPoint":{"module":"Dashboards"},"properties":{},"dateCreated":1537312025307,"canUseSysdigCapture":false,"canUseCustomEvents":false,"canUseAwsMetrics":false,"default":false,"userRoles":[]}],"syncIntervalMinutes":10,"dryRun":true,"maxAllowedMappedUsers":100,"syncTimeoutSeconds":120}}
                                                                                                                                                            

                                                                                                                                                            Force a Sync -f

                                                                                                                                                            To force an immediate sync operation to apply the mapping roles, invoke the -f option, which performs a PUT on the /api/admin/ldap/syncLdap endpoint:

                                                                                                                                                            # ./mapping_config.sh -f
                                                                                                                                                            Forcing sync
                                                                                                                                                            

                                                                                                                                                            To apply a new setting and force an immediate synchronization, combine the two functions:

                                                                                                                                                            # ./mapping_config.sh -s settings_mapping_simple.json -f
                                                                                                                                                            {"ldapSyncSettings": ... }}
                                                                                                                                                            Forcing sync
                                                                                                                                                            

                                                                                                                                                            Report Current State -r

                                                                                                                                                            To see the mapped users/teams state and changes/problems from the most recent sync operation, view the report using the -r option, which performs a GET on the /api/admin/ldap/syncReport endpoint.

                                                                                                                                                            This same report information is in the system log for every sync operation.

                                                                                                                                                            (Note that the Warning in this report is discussed in the Error Messages section below.)

                                                                                                                                                            # ./mapping_config.sh -r
                                                                                                                                                            {
                                                                                                                                                                "ldapSyncReport": {
                                                                                                                                                                    "changesApplied": true,
                                                                                                                                                                    "conflictingTeamNames": [],
                                                                                                                                                                    "duration": 368,
                                                                                                                                                                    "lastSyncEnd": 1537312224878,
                                                                                                                                                                    "lastSyncEndReadable": "9/18/18 11:10 PM",
                                                                                                                                                                    "lastSyncStart": 1537312224510,
                                                                                                                                                                    "teamsMapped": [
                                                                                                                                                                        "Mixed",
                                                                                                                                                                        "Editors1",
                                                                                                                                                                        "Viewers",
                                                                                                                                                                        "Editors2"
                                                                                                                                                                    ],
                                                                                                                                                                    "teamsToRemove": [],
                                                                                                                                                                    "teamsToSave": [
                                                                                                                                                                        "Mixed",
                                                                                                                                                                        "Editors1",
                                                                                                                                                                        "Viewers",
                                                                                                                                                                        "Editors2"
                                                                                                                                                                    ],
                                                                                                                                                                    "unmappedUser": {},
                                                                                                                                                                    "usersMappings": [
                                                                                                                                                                        {
                                                                                                                                                                            "teams": {
                                                                                                                                                                                "Mixed": "ROLE_TEAM_READ",
                                                                                                                                                                                "Viewers": "ROLE_TEAM_READ"
                                                                                                                                                                            },
                                                                                                                                                                            "username": "jdoe@example.local"
                                                                                                                                                                        },
                                                                                                                                                                        {
                                                                                                                                                                            "teams": {
                                                                                                                                                                                "Mixed": "ROLE_TEAM_EDIT",
                                                                                                                                                                                "Viewers": "ROLE_TEAM_READ"
                                                                                                                                                                            },
                                                                                                                                                                            "username": "mpeterson@example.local"
                                                                                                                                                                        },
                                                                                                                                                                        {
                                                                                                                                                                            "teams": {
                                                                                                                                                                                "Editors1": "ROLE_TEAM_EDIT",
                                                                                                                                                                                "Editors2": "ROLE_TEAM_EDIT",
                                                                                                                                                                                "Mixed": "ROLE_TEAM_EDIT"
                                                                                                                                                                            },
                                                                                                                                                                            "username": "msmith@example.local"
                                                                                                                                                                        }
                                                                                                                                                                    ],
                                                                                                                                                                    "version": 5,
                                                                                                                                                                    "warnings": [
                                                                                                                                                                        "LDAP mapping LdapMapping(ldapFilterSettings=LdapFilterSettings(searchBase=cn=Users, searchFilter=(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*)), groupSearchBase=null, groupSearchFilter=null, groupMembershipFilter=null), teams=[Editors1, Editors2], teamRole=ROLE_TEAM_EDIT, usernameAttribute=mail) matched 2 entities that has no requested username attribute"
                                                                                                                                                                    ]
                                                                                                                                                                }
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Delete Settings -d

                                                                                                                                                            To delete all LDAP mapping settings, invoke the -d option, optionally adding the -f option to force an immediate sync.

                                                                                                                                                            Use with caution! This will trigger the deletion of all mapped teams and removal of mapped users from those teams.

                                                                                                                                                            # /mapping_config.sh -d
                                                                                                                                                            {"ldapSyncSettings":{"version":31,"ldapTeamMapping":[],"syncIntervalMinutes":10,"dryRun":false,"maxAllowedMappedUsers":100}}
                                                                                                                                                            
                                                                                                                                                            # ./mapping_config.sh -d -f
                                                                                                                                                            {"ldapSyncSettings":{"version":4,"ldapTeamMapping":[],"teamDefinitions":[],"syncIntervalMinutes":10,"dryRun":false,"maxAllowedMappedUsers":100,"syncTimeoutSeconds":120}}
                                                                                                                                                            Forcing sync
                                                                                                                                                            

                                                                                                                                                            Sample Use Cases

                                                                                                                                                            The sample settings_mapping_simple.json illustrates some common use cases.

                                                                                                                                                            Consider a minimal Active Directory with the following users:

                                                                                                                                                            sAMAccountDistinguished Name
                                                                                                                                                            msmithCN=Mary Smith,CN=Users,DC=example,DC=local
                                                                                                                                                            mpetersonCN=Mary Peterson,CN=Users,DC=example,DC=local
                                                                                                                                                            jdoeCN=John Doe,CN=Users,DC=example,DC=local

                                                                                                                                                            Presume the groups Sysdig Viewers and Sysdig Editors are defined in the Active Directory with the listed memberships:

                                                                                                                                                            Mapping Users to Teams 1:1

                                                                                                                                                            The first mapping rule shows a simple 1-to-1 mapping of all the users in the Sysdig Viewers group in our directory to a Sysdig team called Viewers in which these users will have Read-only permission.

                                                                                                                                                            {
                                                                                                                                                                "ldapFilterSettings": {
                                                                                                                                                                    "searchBase": "cn=Users",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Viewers,CN=Users,DC=example,DC=local)(sAMAccountName=*))"
                                                                                                                                                                },
                                                                                                                                                                "teamRole": "ROLE_TEAM_READ",
                                                                                                                                                                "teams": [
                                                                                                                                                                    "Viewers"
                                                                                                                                                                ],
                                                                                                                                                                "usernameAttribute": "sAMAccountName"
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Mapping Users in a Group to Multiple Teams

                                                                                                                                                            The second mapping rule illustrates how to map the Sysdig Editors group of users to more than one Sysdig team (Editors1 and Editors2), granting Read/Write access in both teams.

                                                                                                                                                            {
                                                                                                                                                                "ldapFilterSettings": {
                                                                                                                                                                    "searchBase": "cn=Users",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*))"
                                                                                                                                                                },
                                                                                                                                                                "teamRole": "ROLE_TEAM_EDIT",
                                                                                                                                                                "teams": [
                                                                                                                                                                    "Editors1",
                                                                                                                                                                    "Editors2"
                                                                                                                                                                ],
                                                                                                                                                                "usernameAttribute": "sAMAccountName"
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Complex Mapping Example

                                                                                                                                                            The third and fourth rules illustrate the flexibility of how groups are handled by the Sysdig LDAP Mapping feature.

                                                                                                                                                            The third rule shows how users targeted by a mapping rule can ultimately be anything specified by a searchFilter. In this contrived example, we’ve targeted all users with the first name “Mary” and mapped them to a Sysdig team called “Mixed” where they will have Read/Write permissions.

                                                                                                                                                            The fourth rule builds on the third, showing how to combine multiple rules to target different groups of users from the directory and potentially assign them different permissions in the same Sysdig team. Here we target our single “John Doe” user and also map him to the “Mixed” team, but with Read-Only access.

                                                                                                                                                            {
                                                                                                                                                              "ldapFilterSettings": {
                                                                                                                                                                "searchFilter": "(&(objectClass=organizationalPerson)(givenName=Mary))",
                                                                                                                                                                "searchBase": "cn=Users"
                                                                                                                                                              },
                                                                                                                                                              "teams": [
                                                                                                                                                                "Mixed"
                                                                                                                                                              ],
                                                                                                                                                              "teamRole": "ROLE_TEAM_EDIT",
                                                                                                                                                              "usernameAttribute": "sAMAccountName"
                                                                                                                                                            },
                                                                                                                                                            {
                                                                                                                                                              "ldapFilterSettings": {
                                                                                                                                                                "searchFilter": "(&(objectClass=organizationalPerson)(sAMAccountName=jdoe))",
                                                                                                                                                                "searchBase": "cn=Users"
                                                                                                                                                              },
                                                                                                                                                              "teams": [
                                                                                                                                                                "Mixed"
                                                                                                                                                              ],
                                                                                                                                                              "teamRole": "ROLE_TEAM_READ",
                                                                                                                                                              "usernameAttribute": "sAMAccountName"
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            Notes on Mapping Behaviors

                                                                                                                                                            As the examples show, the LDAP mapping configuration is flexible and powerful. However, misconfigurations (such as mistakes in filter syntax) may trigger the unintentional creation/deletion of excess user and/or team data. It is recommended to use the dryRun option extensively, particularly when first becoming familiar with the feature. The following notes about the constraints and side-effects of LDAP mapping should also be considered.

                                                                                                                                                            • During sync, if a user from the directory matches on a mapping rule and does not yet exist in the Sysdig user database, it will be auto-created in the Sysdig database at that time. These will start out as non-Admin users, but could be promoted to Admin by a Sysdig Admin once their record has been auto-created.

                                                                                                                                                            • As with other Sysdig teams, all Sysdig Admin users will automatically be members of all LDAP-mapped teams.

                                                                                                                                                            • During sync, if a mapped team specified in a rule and teamDefinitions array does not yet exist in the Sysdig database, it will be auto-created in the Sysdig database at that time. If a sync would result in the creation of a team that has the same name as a non-mapped team that already exists (i.e. one that was created previously by a Sysdig Admin), the mapped team will not be created and no mapping of users to that team will be performed. This will also be noted in the system log.

                                                                                                                                                            • If an LDAP-mapped user is no longer a match in a particular LDAP-mapped team, they will be removed from that team. Any team-specific data attached to that user (e.g. Dashboards) will not be deleted.

                                                                                                                                                              • Dashboards that were Shared by that user within the team will remain visible to other team members.

                                                                                                                                                              • Personal Dashboards for that user will effectively be hidden, though if the user is mapped to the team again, they will be visible to that user again.

                                                                                                                                                            • An LDAP-mapped user that no longer is a match on their last remaining LDAP-mapped team will be moved to the Default Team. This is to ensure against accidental deletion of the user’s data in the event of configuration mistakes. If desired, a Sysdig Admin can perform a final delete of the user record through the UI or API, which would result in deletion of all data attached to that user in all teams.

                                                                                                                                                            • If a user is mapped to the same team via multiple rules, and the teamRole settings differ between the rules, the most generous setting will apply (i.e. ROLE_TEAM_EDIT).

                                                                                                                                                            • Membership of LDAP-mapped teams is controlled exclusively via mapping rules. The Sysdig web UI will prevent membership changes in such teams.

                                                                                                                                                            • The searchFilter entries in LDAP mapping rules are independent from the base LDAP loginFilter that is used for authentication. It is therefore possible for LDAP mapping rules to trigger creation of Sysdig user records for users that may not yet be able to login to the Sysdig platform.

                                                                                                                                                            • No changes made within the Sysdig database will result in any modifications to the directory being queried via LDAP (i.e. sync is a “one-way” operation from directory to the Sysdig database).

                                                                                                                                                            • See General LDAP Tipsfor more guidance to assist with debugging or perfecting your LDAP configuration.

                                                                                                                                                            Error Messages

                                                                                                                                                            Consider the following LDAP mapping excerpt:

                                                                                                                                                            {
                                                                                                                                                                "ldapFilterSettings": {
                                                                                                                                                                    "searchBase": "cn=Users",
                                                                                                                                                                    "searchFilter": "(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*))"
                                                                                                                                                                },
                                                                                                                                                                "teamRole": "ROLE_TEAM_EDIT",
                                                                                                                                                                "teams": [
                                                                                                                                                                    "Editors1",
                                                                                                                                                                    "Editors2"
                                                                                                                                                                ],
                                                                                                                                                                "usernameAttribute": "mail"
                                                                                                                                                            }
                                                                                                                                                            

                                                                                                                                                            In the Report section above, there was a warning:

                                                                                                                                                            "warnings": [
                                                                                                                                                                "LDAP mapping LdapMapping(ldapFilterSettings=LdapFilterSettings(searchBase=cn=Users, searchFilter=(&(objectClass=organizationalPerson)(memberOf=CN=Sysdig Editors,CN=Users,DC=example,DC=local)(sAMAccountName=*)), groupSearchBase=null, groupSearchFilter=null, groupMembershipFilter=null), teams=[Editors1, Editors2], teamRole=ROLE_TEAM_EDIT, usernameAttribute=mail) matched 2 entities that has no requested username attribute"
                                                                                                                                                            ]
                                                                                                                                                            

                                                                                                                                                            This was because two of the user records that matched our searchFilter (that is, they were members of the “Sysdig Editors” group in Active Directory) each had an empty mail attribute in AD. The LDAP Mapping configuration would have ordinarily resulted in the creation of these user records in the Sysdig platform user database, but since the usernameAttribute setting pointed the Sysdig platform at these empty mail values, the error message alerts us to this fact.

                                                                                                                                                            If these sort of empty attributes are typical for your AD environment, the error message can be ignored.

                                                                                                                                                            Similarly, if such attributes were not unique (i.e., multiple Mapped users were found to have the same email address), the error message would be:

                                                                                                                                                            "warnings": [
                                                                                                                                                                "Duplicate username founds. They will be ignored in mapping: [duplicates@example.local]"
                                                                                                                                                            ]
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            5.7.4.4 -

                                                                                                                                                            LDAP/SAML Hybrid Authentication

                                                                                                                                                            This is an advanced option wherein LDAP Mapping is used to trigger the creation of user records in Sysdig, but authentication of those users is actually performed via SAML (with LDAP-based authentication disabled). In this configuration, if a user successfully authenticates via SAML, and the platform finds a user record with a matching email address in the Sysdig platform, they will be permitted to log in.

                                                                                                                                                            The process involves:

                                                                                                                                                            1. Enable SAML login and disable automatic user creation via SAML.

                                                                                                                                                            2. Enable LDAP user creation using LDAP mapping, but employ the _hybrid, rather than the _simple json configuration file.

                                                                                                                                                            3. (Optional) Disable user creation via API.

                                                                                                                                                            4. (Optional) Disable simple password login, to ensure SAML SSO is always used.

                                                                                                                                                            5. Ensure SAML has been enabled in the UI as the chosen authentication method.

                                                                                                                                                            Enable SAML Log In

                                                                                                                                                            1. Follow the instructions for SAML (On-Prem) configuration for your IdP. Use the UI in Sysidg Platform version 3.5.0, or the script-based option for earlier versions.

                                                                                                                                                            2. To ensure that user records are created solely via LDAP mapping, disable user-creation-on-demand and (optionally) password authentication.

                                                                                                                                                              1. UI-based option: Use the toggles in the UI to disable “create user on login” and “user name and password login.”

                                                                                                                                                              2. Script-based option: Use the -n option of the saml_config.sh script, as described in the Optional: Auto-creation of user records section.

                                                                                                                                                            3. User experience:

                                                                                                                                                              With this configuration, if a user successfully logs in via SAML but does not have an existing username/email record in the Sysdig database, they will receive an error message.

                                                                                                                                                            Enable LDAP User Creation using LDAP Mapping

                                                                                                                                                            1. Configure the settings_mapping_hybrid.json file.

                                                                                                                                                              The only difference between the _simple and the _hybrid files is the userAttributeName value. In _hybrid, this is set to email, because SAML-derived usernames in the Sysdig platform area always based on email address.

                                                                                                                                                            2. Apply the settings using the mapping_config.sh script:

                                                                                                                                                              mapping_config.sh -s settings_mapping_hybrid.json
                                                                                                                                                              

                                                                                                                                                              See also: Options for Applying mapping_config.sh.

                                                                                                                                                            Optional: Disable User-Creation via API

                                                                                                                                                            If you want to ensure your user records are derived only from LDAP hybrid mapping, then use the -d option with the api_user_creation.sh script, as described in the Readme.

                                                                                                                                                            Optional: Disable Password Login

                                                                                                                                                            You may have pre-existing records in your Sysdig platform database for users who have previously authenticated via simple email/password. If you want to prevent such logins and ensure 100% authentication via SAML, you can disable password login.

                                                                                                                                                            In this configuration, only the “super” Admin can still login via email/password.

                                                                                                                                                            See Disable Password Authentication.

                                                                                                                                                            Ensure SAML is Enabled in the UI

                                                                                                                                                            When all configurations are complete, log in to the Settings in the Sysdig user interface and Select SAML for SSO, if it is not already selected.

                                                                                                                                                            5.7.5 -

                                                                                                                                                            Disable Password Authentication

                                                                                                                                                            Sysdig Platform supports disabling password-based authentication on both SaaS and on-prem deployments. As an administrator (super administrator for on-prem), you can use an API to achieve it. This configuration is applicable to those who use single sign-on.

                                                                                                                                                            For SaaS environments, see Disable Password Authentication (SaaS) .

                                                                                                                                                            On-Prem Deployments

                                                                                                                                                            As a super administrator, perform the following:

                                                                                                                                                            1. Get the Sysdig Platform settings:

                                                                                                                                                              GET https://<URL-installation>/api/admin/auth/settings
                                                                                                                                                              

                                                                                                                                                              Replace <URL-installation> with the URL of your on-prem deployment.

                                                                                                                                                            2. Retrieve the specific settings associated with the SSO setup. In a typical scenario, only one IDP exists per deployment.

                                                                                                                                                              GET https://<URL-installation>/api/auth/settings/{id}
                                                                                                                                                              

                                                                                                                                                              The setting is displayed in a JSON file.

                                                                                                                                                            3. In the JSON file, change the following from false to true:

                                                                                                                                                              settings/forbidPasswordLogin: True
                                                                                                                                                              
                                                                                                                                                            4. Update the setting with a request to the same URL with the same JSON, with the changed parameter. URL depends on the type of deployment.

                                                                                                                                                              PUT https://app.sysdigcloud.com/api/admin/auth/settings/{id}
                                                                                                                                                              

                                                                                                                                                            Migrating from the ConfigMap Method

                                                                                                                                                            Previously, the sysdigcloud.restrict.password.login parameter in the Kubernetes ConfigMap has been used to disable password authentication. After installing 3.2.0, deployments utilizing the sysdigcloud.restrict.password.login settings will be automatically migrated to use the new settings.

                                                                                                                                                            5.7.6 -

                                                                                                                                                            Configure Split DNS

                                                                                                                                                            Split Domain Name System (Split DNS) is a configuration in which two DNS servers (sub-domains) are created for the same domain, one for the internal network and the other for the external, as a means to tighten the security. In this setting, internal hosts are directed to an internal domain name server and external hosts are directed to an external domain name server for name resolution.

                                                                                                                                                            In environments where Sysdig Platform is available through an Identity Provider (IDP) on two DNS records (split DNS), one set of users may not be able to log in to Sysdig, as the IDP redirects them only to a single DNS. In order to redirect users to the original DNS name they have requested, configure your deployment as given below.

                                                                                                                                                            Prerequisites

                                                                                                                                                            • You have the administrator privileges to configure Split DNS.

                                                                                                                                                            • Sysdig Platform is installed on-premises.

                                                                                                                                                            • Sysdig Platform is available on two or more DNS names. 

                                                                                                                                                            • Users are accessing the Sysdig Platform by using two DNS names.

                                                                                                                                                            • Users are required to be redirected to the original DNS name.

                                                                                                                                                            Supported IDP Protocols

                                                                                                                                                            • SAML

                                                                                                                                                            • OpenID Connect

                                                                                                                                                            Sysdig Platform Configuration

                                                                                                                                                            The topic assumes the request flows through the following setup: Browser > Application Load Balancer (optional) > Kubernetes Ingress Controller > Sysdig NGINX > Sysdig API.

                                                                                                                                                            1. Configure the Ingress Controller.

                                                                                                                                                              1. Open the Ingress Controller.

                                                                                                                                                                kubectl get ingress -o yaml > ingress.yaml
                                                                                                                                                                
                                                                                                                                                              2. Edit the ingress.yaml file as follows:

                                                                                                                                                                apiVersion: extensions/v1beta1
                                                                                                                                                                kind: Ingress
                                                                                                                                                                metadata:
                                                                                                                                                                annotations:
                                                                                                                                                                ingress.kubernetes.io/affinity: cookie
                                                                                                                                                                ingress.kubernetes.io/session-cookie-name: INGRESSCOOKIEAPI
                                                                                                                                                                kubernetes.io/ingress.class: haproxy
                                                                                                                                                                creationTimestamp: "2019-12-23T14:45:07Z"
                                                                                                                                                                generation: 1
                                                                                                                                                                labels:
                                                                                                                                                                app.kubernetes.io/managed-by: ingress-config
                                                                                                                                                                app.kubernetes.io/name: ingress-config
                                                                                                                                                                app.kubernetes.io/part-of: sysdigcloud
                                                                                                                                                                role: ingress-config
                                                                                                                                                                tier: infra
                                                                                                                                                                name: sysdigcloud-api-ingress
                                                                                                                                                                namespace: sysdigcloud
                                                                                                                                                                resourceVersion: "156675"
                                                                                                                                                                selfLink: /apis/extensions/v1beta1/namespaces/sysdigcloud/ingresses/sysdigcloud-api-ingress
                                                                                                                                                                uid: 891a0a46-ce64-41e0-906b-31627306a844
                                                                                                                                                                spec:
                                                                                                                                                                rules:
                                                                                                                                                                - host: <REPLACE WITH EXTERNAL DNS FQDN>
                                                                                                                                                                http:
                                                                                                                                                                paths:
                                                                                                                                                                - backend:
                                                                                                                                                                serviceName: sysdigcloud-api
                                                                                                                                                                servicePort: 8080
                                                                                                                                                                path: /
                                                                                                                                                                - backend:
                                                                                                                                                                serviceName: sysdigcloud-scanning-api
                                                                                                                                                                servicePort: 80
                                                                                                                                                                path: /api/scanning
                                                                                                                                                                - host: <REPLACE WITH INTERNAL DNS FQDN>
                                                                                                                                                                http:
                                                                                                                                                                paths:
                                                                                                                                                                - backend:
                                                                                                                                                                serviceName: sysdigcloud-api
                                                                                                                                                                servicePort: 8080
                                                                                                                                                                path: /
                                                                                                                                                                - backend:
                                                                                                                                                                serviceName: sysdigcloud-scanning-api
                                                                                                                                                                servicePort: 80
                                                                                                                                                                path: /api/scanning
                                                                                                                                                                tls:
                                                                                                                                                                - hosts:
                                                                                                                                                                - <REPLACE WITH EXTERNAL DNS FQDN>
                                                                                                                                                                - <REPLACE WITH INTERNAL DNS FQDN>
                                                                                                                                                                secretName: sysdigcloud-ssl-secret
                                                                                                                                                                status:
                                                                                                                                                                loadBalancer:
                                                                                                                                                                ingress:
                                                                                                                                                                - {}
                                                                                                                                                                
                                                                                                                                                              3. Apply the changes:

                                                                                                                                                                kubectl apply -f ingress.yaml
                                                                                                                                                                
                                                                                                                                                            2. Configure Nginx in the Kubernetes API pod.

                                                                                                                                                              1. Open the configuration file corresponding to the sysdig-api deployment.

                                                                                                                                                              2. Add the following snippet to the Nginx environment variables section:

                                                                                                                                                                 - name: NGINX_NOT_ON_EDGE
                                                                                                                                                                   value: "true"
                                                                                                                                                                
                                                                                                                                                              3. Apply the changes.

                                                                                                                                                              4. Ensure that the following snippet is added to the Ngnix configuration file at /etc/nginx/conf.d/api.conf:

                                                                                                                                                                proxy_set_header X-Forwarded-Host $host:$server_port;
                                                                                                                                                                proxy_set_header X-Forwarded-Server $host;
                                                                                                                                                                

                                                                                                                                                            IDP Configuration

                                                                                                                                                            1. Ensure that Single Sign On (SSO) configuration is completed on the Sysdig Platform side.

                                                                                                                                                            2. Retrieve the current SSO settings with the API:

                                                                                                                                                              curl -v  -X GET -H "Accept: application/json" -H "Content-type: application/json" -H 'Authorization: bearer XXXXXX' https://<API ENDPOINT>/api/admin/auth/settings/{{settingsID}}| jq
                                                                                                                                                              
                                                                                                                                                            3. In the JSON file obtained with the authenticationSettings object , add the following lines:

                                                                                                                                                              "splitDnsSupport": true,
                                                                                                                                                              "splitDnsOriginHostHeader": "x-forwarded-server",
                                                                                                                                                              "splitDnsOriginSchemeHeader": "x-forwarded-proto"
                                                                                                                                                              
                                                                                                                                                            4. (optional) If you are using OpenID Connect protocol for SSO, include settings.clientSecret , because it’s not returned with the API call:

                                                                                                                                                              "clientSecret": "<Replace with your clientSecret>"
                                                                                                                                                              
                                                                                                                                                            5. Update the authenticationSettings object with a PUT request to the same endpoint with the changes introduced in the previous steps. For example:

                                                                                                                                                              curl -v -X PUT -H "Accept: application/json" -H "Content-type: application/json" -H 'Authorization: bearer xxxxxxx' https://<API ENDPOINT>/api/admin/auth/settings/1 -d'
                                                                                                                                                              {
                                                                                                                                                                "authenticationSettings": {
                                                                                                                                                                  "id": 1,
                                                                                                                                                                  "version": 5,
                                                                                                                                                                  "createdOn": 1577285950000,
                                                                                                                                                                  "modifiedOn": 1577350608000,
                                                                                                                                                                  "type": "openid",
                                                                                                                                                                  "scope": "SYSTEM",
                                                                                                                                                                  "settings": {
                                                                                                                                                                    "createUserOnLogin": true,
                                                                                                                                                                    "forbidPasswordLogin": false,
                                                                                                                                                                    "issuer": "https://<Replace with your issuer>.com",
                                                                                                                                                                    "clientId": "<Replace with your client_id>",
                                                                                                                                                                    "clientSecret": "<Replace with your client_secret>",
                                                                                                                                                                    "metadata": null,
                                                                                                                                                                    "splitDnsSupport": true,
                                                                                                                                                                    "splitDnsOriginHostHeader": "x-forwarded-server",
                                                                                                                                                                    "splitDnsOriginSchemeHeader": "x-forwarded-proto",
                                                                                                                                                                    "metadataDiscovery": true
                                                                                                                                                                  }
                                                                                                                                                                }
                                                                                                                                                              }'
                                                                                                                                                              

                                                                                                                                                              Replace <issuer>, <client_id>, and <client_secret> with your own.

                                                                                                                                                            6 -

                                                                                                                                                            Get Help | Using Sysdig Support

                                                                                                                                                            Sysdig provides a rich variety of support and help options to users.

                                                                                                                                                            Click the Intercom icon in the Sysdig Monitor or Sysdig Secure UI to access them.

                                                                                                                                                            Check Status of Scheduled Maintenance

                                                                                                                                                            Users of the Sysdig SaaS Platform can check the status of scheduled maintenance and subscribe for updates.

                                                                                                                                                            Status page: https://sysdig.statuspage.io/

                                                                                                                                                            Click the Subscribe button to receive automated notifications.

                                                                                                                                                            6.1 -

                                                                                                                                                            Self-Help

                                                                                                                                                            This page describes the tools Sysdig offers to help its users solve potential issues on their own.

                                                                                                                                                            Access Self-Help Tools

                                                                                                                                                            Click the icon in the Sysdig Monitor UI to access the self-help tools (boxed in green, below).

                                                                                                                                                            Try these before reaching out to Support.

                                                                                                                                                            Documentation (Support Website)

                                                                                                                                                            When in doubt, check the user guides first.

                                                                                                                                                            Within the Sysdig Monitor menu, click Support Website to reach a landing page for each of the documentation sets, as well as a link to submit a support ticket.

                                                                                                                                                            Walkthroughs

                                                                                                                                                            Sysdig Monitor has several built-in walkthroughs available to acquaint users with the interface and to get started creating dashboards and alerts.

                                                                                                                                                            Click Walkthroughs to access them from within the Sysdig Monitor menu.

                                                                                                                                                            The current walkthroughs include:

                                                                                                                                                            • Dashboards Overview

                                                                                                                                                            • Alerts In-Depth

                                                                                                                                                            • Dashboards In-Depth

                                                                                                                                                            • Explore Overview

                                                                                                                                                            Training Sessions

                                                                                                                                                            Sysdig provides regular training webinars to assist new and experienced users with Sysdig products. To review and sign up for upcoming training sessions:

                                                                                                                                                            1. Click the Information (question mark) icon in the management section of the left-hand sidebar:

                                                                                                                                                            2. Select Training Session to open the webinar list in a new browser tab.

                                                                                                                                                            Support Chat

                                                                                                                                                            Sysdig Monitor users can access chat support with Sysdig employees through the web interface.

                                                                                                                                                            To access the chat function:

                                                                                                                                                            1. Click the Chat (message bubble) icon in the bottom right corner of the Sysdig Monitor interface:

                                                                                                                                                            2. Click the New conversation button to start a new chat, or the See previous link to review previous chat logs.

                                                                                                                                                            Troubleshooting Tips

                                                                                                                                                            Before calling Sysdig support, check for agent connectivity problems yourself, using on the tips on this page.

                                                                                                                                                            Problem: A host is not showing up in the user interface

                                                                                                                                                            Problem: You see “Error, connection_manager: Lost connection” messages in the agent’s log file.

                                                                                                                                                            Possible Cause: Suspect agent connectivity problems and troubleshoot for those.

                                                                                                                                                            The agent log file is located at /opt/draios/logs/draios.log.

                                                                                                                                                            Perform the following checks and see if it solves your problem:

                                                                                                                                                            Check Licenses

                                                                                                                                                            Confirm that you have not used all available agent licenses.

                                                                                                                                                            The agent license count is available in the Settings > Subscription tab. Administrators can purchase additional agent licenses from that tab if needed.

                                                                                                                                                            Check Firewall

                                                                                                                                                            Confirm basic connectivity through your firewall:

                                                                                                                                                            ping collector.sysdigcloud.com
                                                                                                                                                            

                                                                                                                                                            Check Ports

                                                                                                                                                            Confirm the correct port is open through your firewall:

                                                                                                                                                            telnet collector.sysdigcloud.com 6443
                                                                                                                                                            

                                                                                                                                                            In earlier versions, the Sysdig Agent connected to port 6666. This behavior has been deprecated, as the Sysdig agent now connects to port 6443.

                                                                                                                                                            Check MAC Addresses

                                                                                                                                                            Check for duplicate MAC addresses in your hosts.

                                                                                                                                                            When the agent starts, an entry in the /opt/draios/logs/draios.log file reports the host’s MAC:

                                                                                                                                                            2016-09-26 10:20:25.982, 2363, Information, machine id: a2:11:0b:84:11:21
                                                                                                                                                            

                                                                                                                                                            Compare the logged MAC address to any existing reporting agents in the Explore tab using the Hosts & Containers hierarchy.

                                                                                                                                                            Check Access Key

                                                                                                                                                            Go to Settings > Agent Install to see the access key and confirm it is correct.

                                                                                                                                                            The Sysdig agent key is configured in the agent config file ( opt/draios/etc/dragent.yaml ). See also Understanding the Agent Config Files.

                                                                                                                                                            Upgrade the Sysdig Agent

                                                                                                                                                            The agent is routinely updated to include new features and resolve bugs. Many times problems can be resolved by upgrading the agent.

                                                                                                                                                            If Self-Help Fails

                                                                                                                                                            If you still experience issues, Contact Support.

                                                                                                                                                            6.2 -

                                                                                                                                                            Contact Support

                                                                                                                                                            If troubleshooting and documentation haven’t helped, Contact Support .

                                                                                                                                                            Submit a Support Ticket

                                                                                                                                                            Provide essential details on your ticket for Sysdig support to help resolve your issues.

                                                                                                                                                            Ticket Details to Include

                                                                                                                                                            Add details in the Description box (see below for tips on what to enter):

                                                                                                                                                            Operating System:
                                                                                                                                                            
                                                                                                                                                            Orchestrator:
                                                                                                                                                            
                                                                                                                                                            Agent Version:
                                                                                                                                                            
                                                                                                                                                            
                                                                                                                                                            Company Name:
                                                                                                                                                            

                                                                                                                                                            Operating System

                                                                                                                                                            Review Host Requirements for Agent Installation to confirm that your operating system is supported.

                                                                                                                                                            Submitting the output of uname -a and lsb_release -a will help Sysdig support determine if the kernel is supported.

                                                                                                                                                            If you have a custom kernel and the kernel development headers are not available, you will not be able to install our agent.

                                                                                                                                                            Also note if the Linux distribution used inside your application’s container is not the same as the host.

                                                                                                                                                            lsb_release is part of a software package called the LSB core, which is not necessarily installed on your system by default. If it is not installed, see https://wiki.itcollege.ee/index.php/Lsb_release.

                                                                                                                                                            Orchestrator Details

                                                                                                                                                            When using the Sysdig agent in an orchestration infrastructure (Kubernetes, GKE, Mesos, etc.), submit the details of how the the infrastructure was installed.

                                                                                                                                                            For example:

                                                                                                                                                            • Which Kubernetes version

                                                                                                                                                            • The cloud provider being run under (AWS, GKE, etc)

                                                                                                                                                            • The number of nodes

                                                                                                                                                            • The authentication method configured for the API server

                                                                                                                                                            Agent Version

                                                                                                                                                            To verify which agent version you are running, either:

                                                                                                                                                            1. Use the following command:

                                                                                                                                                              Non-Container agent:

                                                                                                                                                              /opt/draios/bin/dragent --version
                                                                                                                                                              

                                                                                                                                                              Container agent:

                                                                                                                                                              ~$ sudo docker exec -it <container_id> /opt/draios/bin/dragent --version
                                                                                                                                                              

                                                                                                                                                              or

                                                                                                                                                            2. Check the Sysdig Monitor UI, by applying the Host & Containers > Sysdig Agent Summary view in the Explore tab.

                                                                                                                                                            Known issues may be resolved by upgrading to the latest agent version.

                                                                                                                                                            Adding Files

                                                                                                                                                            If basic ticket information is insufficient to resolve the issue, a Sysdig support engineer may ask you to upload additional log files or support bundles.

                                                                                                                                                            The following sections describe how to collect and deliver them to Sysdig support.

                                                                                                                                                            File Upload Tips

                                                                                                                                                            • Attach files rather than cutting/pasting logs or config files into the email body. Important formatting will be preserved.

                                                                                                                                                            • Compress large files before attaching. Files over 20MB will require Sysdig support to supply you with a download link.

                                                                                                                                                            • Include the host name the files came from.

                                                                                                                                                            Add files as applicable:

                                                                                                                                                            6.2.1 -

                                                                                                                                                            Add Agent Files

                                                                                                                                                            Sysdig support may request additional files related to the agents.

                                                                                                                                                            After generating the files, add them to the Support ticket you created. Review the file upload tips on that page.

                                                                                                                                                            Debug the Agent Start Command or Manifest File

                                                                                                                                                            Many agent connection problems are due to transcription errors in the agent start command or manifest files.

                                                                                                                                                            This is especially true with truncated access keys and when using the Additional_Conf parameter in a container agent installation. Always cut and paste and then modify the Sysdig example commands or manifest files.

                                                                                                                                                            The docker start and native agent run commands are available in the Settings > Agent Installation tab of the user interface.

                                                                                                                                                            If you are not an Admin level user you will not see the installation tab, in this case, please request the instructions from the admin.

                                                                                                                                                            • Try running the agent from the command line using the ‘docker start’ or curl command.

                                                                                                                                                              1. Ensure that you have the agent container ID.

                                                                                                                                                                $ docker ps -a
                                                                                                                                                                
                                                                                                                                                              2. Stop the container.

                                                                                                                                                                $ docker stop <container_id>
                                                                                                                                                                
                                                                                                                                                              3. Debug the container. To do so, create a directory and copy log files to that directory.

                                                                                                                                                                $ mkdir test_log
                                                                                                                                                                $ docker cp sysdig-agent:/opt/draios/logs ./test_log/
                                                                                                                                                                
                                                                                                                                                              4. Once debugging is complete, start the agent container.

                                                                                                                                                                $ docker start <container_id>
                                                                                                                                                                
                                                                                                                                                            • Send in the command used and initial agent output.

                                                                                                                                                            • Tip: if using docker start to debug the agent live, remove the ‘-d' option so the output will display on the console.

                                                                                                                                                            Sysdig Agent Configuration File and Logs

                                                                                                                                                            It’s helpful to attach the config file and latest log to your support request if you see metrics not reporting or have agent connection issues. Since the agent logs critical startup information when initializing, restarting the agent and then collecting the logs is desirable. For a container agent you can use: docker restart sysdig-agent For a native Linux service agent use: service dragent restart.

                                                                                                                                                            The Sysdig agent reads the user-settings configuration file /opt/draios/etc/dragent.yaml. It generates log entries in /opt/draios/logs/draios.log .

                                                                                                                                                            The agent will rotate out the log file when it reaches 10MB in size keeping the 10 most recent log files archived with a date-stamp appended to the filename.

                                                                                                                                                            Include the host name that the files came from.

                                                                                                                                                            Debug log level available

                                                                                                                                                            Docker Commands

                                                                                                                                                            To copy the configuration file and most recent log file out of an agent running in a container use these Docker commands:

                                                                                                                                                            docker cp sysdig-agent:/opt/draios/logs/draios.log  ./draios.log
                                                                                                                                                            docker cp sysdig-agent:/opt/draios/etc/dragent.yaml ./dragent.yaml
                                                                                                                                                            

                                                                                                                                                            Kubernetes Commands

                                                                                                                                                            To get the dragent.yaml config information, run the command:

                                                                                                                                                            kubectl -n NAMESPACE describe configmap sysdig-agent > configmap.out
                                                                                                                                                            

                                                                                                                                                            To get the log files, run the command:

                                                                                                                                                            kubectl -n NAMESPACE cp sysdig-agent-AGENT_ID:/opt/draios/logs/. .
                                                                                                                                                            

                                                                                                                                                            The above command will grab ALL the log files (including the rollovers) and place them in the directory where the command was run.

                                                                                                                                                            Kubernetes: Check for Delegated Agents

                                                                                                                                                            With agents deployed in a Kubernetes environment, it can be useful to know which agents are “delegated” to poll the Kubernetes API server.

                                                                                                                                                            To do this, you must generate agent log files (see above) and search for ‘delegated’.

                                                                                                                                                            Logs are stored in /opt/draios/logs/draios.log.

                                                                                                                                                            • For agent versions 0.77.0 or later: you will see log entries stating whether your agent is/is not the delegated node and the exact address of the delegated node.

                                                                                                                                                              Search for the string “Delegated’.

                                                                                                                                                            • For agents before version 0.77.0: issue the command:

                                                                                                                                                              kubectl get nodes
                                                                                                                                                              

                                                                                                                                                              By default, the top two addresses automatically became delegated polling agents.

                                                                                                                                                            • Alternatively, enabling debug mode in agent versions 0.64.0 and beyond will show the node list in any agent logs as well.

                                                                                                                                                            Docker Swarm: Find the Docker Swarm Master

                                                                                                                                                            When using a Sysdig agent inside a Docker Swarm, metadata (information about inventory, labels, ext..) is collected from the Docker Swarm masters.

                                                                                                                                                            Effort should be made to collect the logs from the masters, and more specifically the “leader” when a problem with Docker Swarm inventory is suspected.

                                                                                                                                                            To determine which Docker Swarm nodes are masters and leaders:

                                                                                                                                                            1. Run the command:

                                                                                                                                                              docker node ls
                                                                                                                                                              

                                                                                                                                                              Example:

                                                                                                                                                              $ docker node ls
                                                                                                                                                              ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
                                                                                                                                                              789sgbfdbtcdtn9npbnkuz worker1 Ready Active
                                                                                                                                                              76avknaakzbvmwlnh5jr3g * manager1 Ready Active Leader
                                                                                                                                                              
                                                                                                                                                            2. Under the Manager Status column, you can note which node is the “Leader”.

                                                                                                                                                            6.2.2 -

                                                                                                                                                            Add Browser Files

                                                                                                                                                            Sysdig support may request additional files related to the browser.

                                                                                                                                                            After generating the files, add them to the Support ticket you created. Review the file upload tips on that page.

                                                                                                                                                            Submit a Web Browser Log Using HAR Files

                                                                                                                                                            Use a HAR file to log a web browser’s interaction with Sysdig Monitor or Sysdig Secure.

                                                                                                                                                            When debugging issues (particularly for On-Premises installations) you may be asked to provide a HAR file to Sysdig Support to help isolate the root cause of an issue.

                                                                                                                                                            NOTE: HAR files contain sensitive information from your browser session while recording, such as the content of the pages you downloaded, cookies, or other personal details.

                                                                                                                                                            See below for browser-specific steps to gathering HAR files.

                                                                                                                                                            Chrome

                                                                                                                                                            Record your session using the Network tab in the Developer Tools in Chrome. Follow the steps 1-6 below to prepare for recording and steps 7-9 to record your problematic operation.

                                                                                                                                                            1. Login to Sysdig Monitor and navigate to a page where you are experiencing an issue

                                                                                                                                                            2. Open the Developer Tools from the Chrome menu (Menu > More Tools > Developer tools)

                                                                                                                                                            3. Click on the Network tab

                                                                                                                                                            4. Look for a round button at the top left of the Network tab. Make sure it is red. If it is grey, click it once to start recording.

                                                                                                                                                            5. Make sure the box next to “Preserve log” is unchecked and next to “Disable cache” is checked

                                                                                                                                                            6. In the main browser window, refresh the page in the Sysdig Monitor application

                                                                                                                                                            7. Reproduce your issue in as few steps as possible

                                                                                                                                                            8. Click the red Record button to stop the recording.

                                                                                                                                                            9. Save the capture by right-clicking anywhere within the on the grid and choosing “Save All as HAR with Content

                                                                                                                                                            10. Close Developer Tools by pressing the in the upper-right of the console

                                                                                                                                                            Firefox

                                                                                                                                                            Record your HTTP session using the Network option in the Developer Tools in Firefox. Follow the steps 1-4 below to prepare for recording and steps 5-6 to record your problematic operation.

                                                                                                                                                            1. Login to Sysdig Monitor and navigate to a page where you are experiencing an issue

                                                                                                                                                            2. Open the Developer Tools from the menu in the upper-right of your Firefox window

                                                                                                                                                            3. Click on Network in the Developer menu

                                                                                                                                                            4. In the main browser window, refresh the page in the Sysdig Monitor application

                                                                                                                                                            5. Reproduce your issue in as few steps as possible

                                                                                                                                                            6. Save the capture by right-clicking anywhere within the on the grid and choosing “Save All As HAR

                                                                                                                                                            7. Close Developer Tools by pressing the in the upper-right of the console

                                                                                                                                                            Other Browsers

                                                                                                                                                            Chrome and Firefox are the only browsers for which Sysdig currently provides steps for gathering HAR file data. If you have an issue that requires reproducing with a different browser, contact Sysdig Support.

                                                                                                                                                            6.2.3 -

                                                                                                                                                            Add Backend Files (On-Premises Only)

                                                                                                                                                            A support request for an on-premises installation may include support bundle files and application logs.

                                                                                                                                                            Both Replicated and Kubernetes orchestrators have facilities to create useful support bundle files. Create a bundle file using the appropriate section below and send it to Sysdig Support for suspected backend problems.

                                                                                                                                                            After generating the files, add them to the Support ticket you created. Review the file upload tips on that page.

                                                                                                                                                            For a Replicated Installation

                                                                                                                                                            If you are running the Sysdig Platform on-premises Replicated version, you can generate a complete support bundle from the Replicated Management Console Support tab.

                                                                                                                                                            • Option 1:

                                                                                                                                                              Go to the Support tab and click Download Support Bundle.

                                                                                                                                                              It can take a minute or two for larger installations or those with more history.

                                                                                                                                                              You should be prompted to save a file “replicated-support<#####>.tar.gz”.

                                                                                                                                                            • **Option 2:**Issue the following shell command from the management host:

                                                                                                                                                              replicated support-bundle `replicated apps | awk 'FNR == 2 {print $1}'`
                                                                                                                                                              

                                                                                                                                                              Collect the resulting tar.gzfile from the/tmpfolder.

                                                                                                                                                            For a Kubernetes Installation

                                                                                                                                                            If you are running the Sysdig Platform on-premises Kubernetes version, generate the application support bundle via a script that is provided in the Sysdig GitHub repository at

                                                                                                                                                            https://github.com/draios/sysdigcloud-kubernetes/blob/master/scripts/get_support_bundle.sh

                                                                                                                                                            Prerequisite: The script uses jq (downloadable here).

                                                                                                                                                            Supply the script with the namespace, and optionally the context where Sysdig is deployed, and it will generate a tarball with backend logs and configuration information.

                                                                                                                                                            ./scripts/get_support_bundle.sh sysdigcloud
                                                                                                                                                            

                                                                                                                                                            The version of the Sysdig Application is visible in the application’s container image files:

                                                                                                                                                            kubectl -n sysdigcloud get deployment sysdigcloud-api | grep sysdigcloud-backend
                                                                                                                                                            
                                                                                                                                                            

                                                                                                                                                            6.3 -

                                                                                                                                                            Terms of Use

                                                                                                                                                            Your access to and use of the documentation located on this site is subject to the following terms and conditions and all applicable laws.

                                                                                                                                                            By accessing and using this documentation, you accept the following terms and conditions, without limitation or qualification. Unless otherwise stated, the contents of this site including, but not limited to, the text and images contained herein and their arrangement are the property of Sysdig, Inc.. All trademarks used or referred to in this website are the property of their respective owners. Nothing contained in this site shall be construed as conferring, by implication or otherwise, any license or right to any copyright, patent, trademark or other proprietary interest of Sysdig or any third party.

                                                                                                                                                            This site and the content provided in this site, including, but not limited to, graphic images, audio, video, html code, buttons, and text, may not be copied, reproduced, republished, uploaded, posted, transmitted, or distributed in any way, without the prior written consent of Sysdig, except that you may download, display, and print one copy of the materials on any single computer solely for your personal, non-commercial use, provided that you do not modify the material in any way and you keep intact all copyright, trademark, and other proprietary notices.

                                                                                                                                                            The information provided on this site is in most cases free of charge and for informational purposes only, and does not create a business or professional-services relationship between you and Sysdig. Links on this site may lead to services or sites not operated by Sysdig. No judgment or warranty is made with respect to such other services or sites and Sysdig takes no responsibility for such other sites or services. A link to another site or service is not an endorsement of that site or service. Any use you make of the information provided on this site, or any site or service linked to by this site, is at your own risk.

                                                                                                                                                            This site and its contents are provided “as is” and Sysdig makes no representation or warranty of any kind with respect to the documentation, any site or service accessible through this site. Sysdig expressly disclaims all express and implied warranties including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, title, and non-infringement. In no event will Sysdig be liable to any party for any direct, indirect, incidental, special, exemplary, consequential, or other damages (including, but not limited to, lost profits, business interruption, loss of programs or data) without regard to the form of action and whether in contract, tort, negligence, strict liability, or otherwise, arising out of or in connection with this documentation, any content on or accessed through this documentation or any site service linked to, or any copying, displaying, or use thereof.

                                                                                                                                                            Sysdig maintains this site in California, U.S.A. and you agree that these terms of use and any legal action or proceeding relating to this site shall be governed by the laws of the State of California without reference to its choice of law rules. You are responsible for complying with the laws of the jurisdiction from which you are accessing this site and you agree that you will not access or use the information on this site in violation of such laws.

                                                                                                                                                            Unless expressly stated otherwise herein, any information submitted by you through this site shall be deemed non-confidential and non-proprietary. You represent that you have the lawful right to submit such information and agree that you will not submit any information unless you are legally entitled to do so. Because of the open nature of the Internet, we recommend that you not submit information you consider confidential.

                                                                                                                                                            Sysdig does not accept unauthorized idea submissions outside of established business relationships. To protect the interests of our current clients and ourselves, we must treat the issue of such submissions with great care. Importantly, without a clear business relationship, Sysdig cannot and does not treat any such submissions in confidence. Accordingly, please do not communicate unauthorized idea submissions to Sysdig through this website. Any ideas disclosed to Sysdig outside a pre-existing and documented confidential business relationship are not confidential and Sysdig may therefore develop, use and freely disclose or publish similar ideas without compensating you or accounting to you. Sysdig will make every reasonable effort to return or destroy any unauthorized idea submissions without detailed review of them. However, if a review is necessary in Sysdig’s sole discretion, it will be with the understanding that Sysdig assumes no obligation to protect the confidentiality of your idea or compensate you for its disclosure or use. By submitting an idea or other detailed submission to Sysdig through this website, you agree to be bound by the terms of this stated policy.