From 928f3483cc9cdb0ee9f88e65b5c8e775f63a48eb Mon Sep 17 00:00:00 2001 From: pballai Date: Mon, 28 Oct 2024 11:44:52 -0400 Subject: [PATCH] commit --- .../src/embedding_16_JWT/assets/jwt6.png | Bin 0 -> 88126 bytes .../src/embedding_16_JWT/embedding_16_JWT.md | 242 ++++++++++++------ 2 files changed, 163 insertions(+), 79 deletions(-) create mode 100644 site/sigmaguides/src/embedding_16_JWT/assets/jwt6.png diff --git a/site/sigmaguides/src/embedding_16_JWT/assets/jwt6.png b/site/sigmaguides/src/embedding_16_JWT/assets/jwt6.png new file mode 100644 index 0000000000000000000000000000000000000000..692861a3c2d56afad43cc4d0d458dc2bc725ce35 GIT binary patch literal 88126 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 literal 0 HcmV?d00001 diff --git a/site/sigmaguides/src/embedding_16_JWT/embedding_16_JWT.md b/site/sigmaguides/src/embedding_16_JWT/embedding_16_JWT.md index 6421e30b..d4db5c64 100644 --- a/site/sigmaguides/src/embedding_16_JWT/embedding_16_JWT.md +++ b/site/sigmaguides/src/embedding_16_JWT/embedding_16_JWT.md @@ -6,7 +6,7 @@ environments: web status: published feedback link: https://github.com/sigmacomputing/sigmaquickstarts/issues tags: default -lastUpdated: 2024-09-27 +lastUpdated: 2024-10-24 # Embedding 16: Secure Embedding with JWT @@ -15,9 +15,10 @@ Duration: 5 Many customers want a simple, but secure way to embed content that can be accessed by both external (users who do not have a registered account in Sigma) and internal user (users who access Sigma only through an embed, inside a parent application). -To enable this, Sigma supports authenticating secure embeds using JSON Web Tokens (JWTs). Signing your secure embed URLs with JWTs has several advantages, but a few limitations too: +To enable this, Sigma supports authenticating secure embeds using JSON Web Tokens (JWT). ### Benefits of JWT +Signing your secure embed URLs with JWTs has several advantages: - JWTs are compact, URL-safe tokens that can be digitally signed, ensuring that the data they contain is tamper-proof. @@ -27,28 +28,100 @@ To enable this, Sigma supports authenticating secure embeds using +REPLAY ATTACK PREVENTION:
Existing embed customers are likely familiar with Sigma’s "signed URL" embed-API, which uses a nonce to ensure that the constructed URL is for one-time use only. Similarly, JWTs are also for one-time use. -- Only admins will be able to impersonate other users (including embed users). Non-admins can only login as themselves. +

-- You cannot test an JWTs in the embed sandbox. - -### What is JWT? -JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted. +### Target Audience +Developers evaluating Sigma embedding and the security options. + +### Prerequisites + +
    +
  • A computer with a current browser. It does not matter which browser you want to use.
  • +
  • Access to your Sigma environment.
  • +
  • Some familiarity with Sigma is assumed. Not all steps will be shown as the basics are assumed to be understood.
  • +
  • A development environment of choice. We will demonstrate with Microsoft VSCode and related extensions.
  • +
+ + + + + +![Footer](assets/sigma_footer.png) + +## How JWT Works +Duration: 5 + +JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. It is a product of the Internet Engineering Task Force (IETF) [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519). + +The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted. The remaining discussion in this section is intended for those less familiar with JWT, how it is structured, the transaction flow and benefits. Feel free to jump to the next section if you just want a demonstration of JWT in Sigma. +In the typical workflow, a client requests embedded content using a JSON Web Token (JWT), and the server processes, validates, and serves the embedded content based on user credentials and environment variables. + +#### Step-by-Step JWT Flow: + +**1. Client Request (ie: end user's web browser):**
+The client (e.g., a web application or another service) sends a request to the server to obtain a URL for accessing embedded Sigma content. This request may include user-related information, such as identity or a general request for access to Sigma content. + +**2. Server-Side JWT Generation (ie: customer created embed-API):** +***Credential Handling:***
+The server securely manages the necessary credentials to generate the JWT, such as the secret key (EMBED_SECRET) and client ID (EMBED_CLIENT_ID). These credentials ensure that the JWT is properly signed and trusted by Sigma. + +***User Claims:***
+The server retrieves or determines relevant claims about the user, such as their email (sub), roles, or team memberships. These claims are vital for defining what the user can do in the embedded Sigma content and ensure that permissions are enforced correctly. + +***JWT Creation:***
+The server combines these user claims with the necessary credentials to create a JWT. The JWT is signed using the server’s secret key, ensuring its integrity and authenticity. The JWT contains claims that specify key information, including: + +- Who the user is (email, user roles) +- What permissions they have +- How long the JWT is valid (expiry or exp claim) + +This process ensures that each JWT is unique, secure, and reflects the user's specific access rights. + +**3. Response with Signed URL:**
+The server responds to the client with a signed URL, which contains the JWT as a query parameter. For example, the URL might look like: +```code +https://app.sigmacomputing.com/?jwt= +``` + +This URL includes the signed JWT that will be used to authenticate and authorize the user when they access the embedded Sigma content. + +**4. Client Accesses the Signed URL:**
+When the client (e.g., the end-user's browser or a web app) loads the signed URL, Sigma verifies the JWT. Sigma ensures that: + +- The JWT signature is valid, confirming that the token hasn’t been tampered with. +- The claims (like sub, roles, exp) are still valid, checking whether the user is authorized and whether the token is within its allowed time frame. +- Replay protection is enforced by validating the jti (JWT ID) claim, ensuring that the token is not reused maliciously. + +**5. Sigma Provides Embedded Content:**
+If the JWT passes all verification checks (valid claims, signature, jti uniqueness, etc.), Sigma serves the requested embedded content. The content provided matches the user’s permissions and scope, ensuring that users can only access what they are authorized to view. + +This workflow ensures secure, one-time use access to Sigma’s embedded content, protecting both user data and application integrity. + ### Structure of JWT: -A JWT is composed of three parts: `Header`, `Payload`, and `Signature`, which are concatenated with dots (.) to form a single string: +An actual JWT is composed of three parts: `Header`, `Payload`, and `Signature`, which are concatenated with dots (.) to form a single string: -**Header:** Typically consists of two parts: the type of token (JWT) and the signing algorithm (e.g., HMAC SHA256). +**Header:** Typically consists of two parts: the type of token (JWT) and the signing algorithm (e.g., [HMAC SHA256](https://en.wikipedia.org/wiki/HMAC)). **Payload:** Contains the claims. Claims are statements about an entity (typically, the user) and additional data. There are three types of claims: registered, public, and private claims. @@ -78,67 +151,22 @@ Examples:
- custom user attributes - eval_connection_id - - For more information on JWT claims in Sigma, [see here.](https://help.sigmacomputing.com/docs/create-an-embed-api-with-json-web-tokens) -### How JWT Works in Sigma -Let’s walk through a typical workflow where a client requests an embedded content using a JSON Web Token (JWT) and how the server handles this request, validates it, and serves the embedded content based on the credentials and environment variables. - -Upon receiving a request from the client for a URL to access embedded Sigma content, the server securely generates a JWT by combining the configured embed client credentials with known user claims (such as email, account type, and team). This signed and encrypted JWT is then embedded into the URL returned to the client, enabling secure and authorized access to the content. - -Expanding on this description a bit more: - -#### 1: Client Request: -The client (e.g., a web application or another service) sends a request to the server to obtain a URL for accessing embedded Sigma content. -This request might include minimal information, such as the user’s identity or a general request for access. - -#### 2: Server-Side JWT Generation: -**Credential Handling:** The server securely manages the necessary credentials, such as the secret key (EMBED_SECRET) and client ID (EMBED_CLIENT_ID), that are required to generate the JWT. - -**User Claims:** The server retrieves or determines relevant claims about the user, such as their email address (sub), roles, or teams. These claims are crucial for defining the user’s permissions and the scope of access within the embedded content. - -**JWT Creation:** The server uses the credentials and claims to create a JWT. This JWT is signed with the secret key, ensuring its authenticity. The JWT includes claims that specify who the user is, what they are allowed to do, and how long their access is valid. - -#### 3: Response with Signed URL: -The server constructs a signed URL that includes the JWT as a query parameter. This URL is then sent back to the client. - -**Authorization:** When the client uses this URL to access the embedded content, the JWT is used by the Sigma server to verify the user’s identity and permissions, granting or denying access accordingly. - - -### Target Audience -Developers evaluating Sigma embedding and the security options. - -### Prerequisites - -
    -
  • A computer with a current browser. It does not matter which browser you want to use.
  • -
  • Access to your Sigma environment.
  • -
  • Some familiarity with Sigma is assumed. Not all steps will be shown as the basics are assumed to be understood.
  • -
  • A development environment of choice. We will demonstrate with Microsoft VSCode and related extensions
  • -
- - - - - ![Footer](assets/sigma_footer.png) -## Clone the Git Repository Project Folder +## Making it Work In Sigma Duration: 5 +### Clone the Git Repository Project Folder +We have made sample project code available in a public GitHub repository to save time. + While you may clone the entire repository (it is not that large), we want to avoid cloning sections of the repository that are not of immediate interest. Instead, we will use VSCode and terminal to perform a git `sparse-checkout` of the specific project folder we are interested in. A few extra steps, but cleaner local project folder. @@ -205,6 +233,31 @@ We can now see the project called `sigma_secure_embed_JWT`: +### Additional node.js packages +We need to install two additional node packages that provide us some additional "convenience functionality". + +**1: nodemon:**
+This package is a development tool that automatically restarts our Node.js application whenever it detects changes in specific code files. This helps streamline development by eliminating the need to manually restart the server after each change we make. + +**2: jsonwebtoken**
+We use this package to decode a JWT in the VSCode console. This allows us to read the payload and header data from the token without verifying its authenticity. This is helpful when you need to access the information embedded within the token for non-secure contexts or for inspection/debugging purposes. + +To install these two packages, open a new terminal window in VSCode in the project folder. + +Run the command: +```code +npm install jsonwebtoken +``` + +and +```code +npm install nodemon +``` + +The expected output is: + + + The project has almost everything we need, but we will need some embedded content and credentials from Sigma before we can test this out. ![Footer](assets/sigma_footer.png) @@ -238,7 +291,7 @@ Remember to keep your credentials in a secure location, as losing them requires If you lose your credentials, you must regenerate new credentials. -If this happens, your existing embeds will be rendered invalid until the API is updated with the new embed credentials. +If this happens, your existing embeds will be rendered invalid until the embed API is updated with the new credentials. ### Client Credentials Creation @@ -280,14 +333,14 @@ Paste the credentials into a text file for now, we will use them later. ![Footer](assets/sigma_footer.png) -## Select Something to Embed +## Something to Embed Duration: 5 This embedding method allows you to use any Sigma URL to embed, assuming the proper permissions are passed along with it as parameters. Sigma is very flexible and has different workflows for creating content, based on source data. -For example, we could first create a [data model](https://help.sigmacomputing.com/docs/intro-to-data-models), set permission on it, and then save it off for later use in a workbook(s). We would then create a workbook with a table, that shows data from the data model we saved earlier. +For example, we could first create a [data model](https://help.sigmacomputing.com/docs/intro-to-data-models), set permission on it, and then save it off for later use in a workbook. We would then create a workbook with a table, that shows data from the data model we saved earlier.