diff --git a/ciphertrust/.gitignore b/ciphertrust/.gitignore deleted file mode 100644 index b2d6de3..0000000 --- a/ciphertrust/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/ciphertrust/.gitpod.yml b/ciphertrust/.gitpod.yml deleted file mode 100644 index ea44972..0000000 --- a/ciphertrust/.gitpod.yml +++ /dev/null @@ -1,9 +0,0 @@ -# This configuration file was automatically generated by Gitpod. -# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file) -# and commit this file to your remote git repository to share the goodness with others. - -tasks: - - init: npm install && npm run build - command: npm run start - - diff --git a/ciphertrust/README.md b/ciphertrust/README.md deleted file mode 100644 index 5eb0832..0000000 --- a/ciphertrust/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# CipherTrust Learn - -CipherTrust Learn is the repository with open source tutorials and demos that guide developers through their journey of building secure applications. \ No newline at end of file diff --git a/ciphertrust/babel.config.js b/ciphertrust/babel.config.js deleted file mode 100644 index e00595d..0000000 --- a/ciphertrust/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/ciphertrust/blog/2022-10-08-encryption-architectures.md b/ciphertrust/blog/2022-10-08-encryption-architectures.md deleted file mode 100644 index 09fa31c..0000000 --- a/ciphertrust/blog/2022-10-08-encryption-architectures.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -slug: a-guide-to-encryption-architectures -title: A Guide to Data Security Architectures -authors: pranav -tags: [data-encryption, data-protection-gateway] ---- - -# A Guide to Data Security Architectures — Encryption at Rest and in-Transit - -Building and deploying applications and services is super exciting. Still, when your security team prevents your application from going into production due to a lack of data encryption — this can be very annoying. - -Let’s take a look at the different data encryption methods that are most commonly used and how we can implement some of them. - -Data encrypted at-rest vs in-transit? -===================================== - -Well, it’s often hard to choose between encrypting a complete Postgres database or encrypting only specific fields of data in the database right before it gets written to a table. - -The key difference between the two is that encrypting a database **after** data is written to it is called **data encryption at rest** and encrypting data **before** data is written to a database is called data encryption **in-transit**. - -The illustration below should give you a good high-level understanding of the difference. Although data encryption at-rest was a standard encryption practice followed for many years, it involves developers writing and maintaining various different scripts or applications to ensure that the encryption is up to company standards. It is still useful while encrypting file systems and storage. On the other hand, data encryption in-transit is a lot more beneficial at times when you want to make your infrastructure database agnostic and provide high-security standards with significantly low developer effort. - -![Data Encryption at REST Architecture](https://miro.medium.com/max/720/1*7sOyc7n62Mxsq0cfKsLL0Q.png) - -Note that from the above diagram we can see that the method of encrypting data in-transit uses a **side-car container** which is a proxy used to intercept every request with sensitive fields or encrypted data and encrypt or decrypt the same respectively. - -![Data Encryption in-transit Architecture](https://miro.medium.com/max/720/1*9PC9Nv4j_L2LIoWsR4ZIeg.png) - -Advantages of Data Encryption in-Transit ----------------------------------------- - -**✅ No change to applications** - -The beauty of doing data-encryption in transit is that you don’t need to worry about changing any of your frontend apps, APIs, or databases. Since the side-car container does field-level encryption, you can granularly control all the data that needs to be encrypted and decrypted by remotely setting access policies from your key manager. - -**✅ Easy to deploy** - -Deploying a [Data Protection Gateway](https://cpl.thalesgroup.com/encryption/ciphertrust-data-protection-gateway) side-car container is as easy to deploy as logging agents such as DataDog or Prometheus. You can just update your docker-compose, Kubernetes config files or just use Helm to install it. - -**✅ Developers can stop implementing data security policies** - -Now you can shift the responsibility of setting and implementing data security policies from developers over to InfoSec teams. This significantly helps prevent data breaches or unauthorized data access. - -Disadvantages of Data Encryption in-Transit -------------------------------------------- - -❌ **Data encryption is only as strong as policies set** - -This applies to any method of data encryption. However, when we perform field-level encryption and decryption, InfoSec teams need to be aware of all data flowing through various API routes to prevent data breaches and unauthorized access to unencrypted data. - ---- - -How Do I Implement Data Encryption in-Transit? ----------------------------------------------- - -You’re in luck 🙌 because I have a tutorial showing you how to easily implement data encryption in-transit with any of your containerized applications. - -In this tutorial, I have used [CipherTrust Manager](https://ciphertrust.io/)’s Data Protection Gateway product which is extremely easy to set up and free to start using👇 - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - ---- - -Now go ahead and encrypt data in-transit from all your applications using side-car containers. - -If you have any issues with implementation or questions about data encryption in-transit, feel free to leave a comment, tweet [@snpranav](https://twitter.com/snpranav), or raise a [GitHub issue](https://github.com/ThalesGroup/learn-ciphertrust/issues/new) :) \ No newline at end of file diff --git a/ciphertrust/blog/2022-11-17-how-to-choose-a-key-manager-for-orgs.md b/ciphertrust/blog/2022-11-17-how-to-choose-a-key-manager-for-orgs.md deleted file mode 100644 index f730671..0000000 --- a/ciphertrust/blog/2022-11-17-how-to-choose-a-key-manager-for-orgs.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -slug: choosing-a-key-manager -title: A Guide to Picking the Right Key Manager for Your Org -authors: pranav -tags: [data-encryption, key-management] ---- - -# Key Managers 🔐 — How Do I Pick the Right One for My Org?! - -Your company has a ton of daily active users and you have this amazingly efficient architecture to process requests at scale, but your InfoSec team asks you to use a key manager — there are so many out there, which one do you choose? - -There are various different types of key managers, but in this post, we’ll cover the three most common key managers: - -* Native Cloud Key Managers (Ex — AWS KMS, GCP KMS, Azure Key Vault, etc.) - -* External Key Managers (Ex — Thales CipherTrust Manager, etc.) - -* Hybrid Key Managers (Use the best of both worlds — Cloud managed services and external key managers) - -## First, the literal key to security — HSMs - -HSM stands for “[Hardware Security Module](https://en.wikipedia.org/wiki/Hardware_security_module)”. These are physical devices that are usually tamper resistant which store keys and perform encrypt, decrypt and other cryptographic operations. - -HSMs are needed in secure environments such as healthcare or financial institutions where you need to pass compliances such as PCI DSS. - -## Now Let’s Compare - -Let’s look at the pros and cons of each to help you decide what would work best for your organization. - -### Cloud Key Managers - -✅ **Easy Integration with Cloud Managed Services** - -When using cloud key managers like [AWS KMS (Key Management Service)](https://aws.amazon.com/kms/) it can be advantageous as you get the flexibility of AWS managing your keys as well as direct integration into your existing AWS managed services such as [AWS S3](https://aws.amazon.com/s3/), or [AWS RDS (Relational Database Service)](https://aws.amazon.com/rods/), etc. - -✅ **HSMs provisioned and managed by a cloud provider (most of the time 🤞)** - -Most famous cloud providers have HSMs that they use in their data centers which store your keys, so you don’t have to worry about renting an HSM. - -**❌ No Separation of Trust 🕵️‍♀️** - -Since your cloud provider now hosts and controls your data and encryption keys. Your user data might not be as safe anymore as the cloud provider with malicious intent could easily decrypt your user data. This does not help in creating a **zero-trust architecture**. While it’s true that your cloud provider has your best interest; there are always hackers lurking around the internet trying to get malicious access to your data, so it’s best to store data in an isolated environment. - -### External Key Managers - -**✅ Complete Separation of Trust** - -When running a product such as CipherTrust Manager, your architectures are zero-trust by default as 2 different entities have access to either your data or your keys and **NOT both**. - -**❌ Build your own custom integrations** - -Unless the key manager service has connectors, many-a-times, you would need to build your own connectors which could put a lot of engineering debt on your teams. - -⚠️** Need to rent out your own HSM** - -You’d need to manage your own HSM, but fortunately, there are service providers that will rent out and manage the HSMs (just like a cloud provider) — so this is neither a pro nor a con. A great example of a hosted HSM is the [Luna HSM](https://cpl.thalesgroup.com/encryption/data-protection-on-demand/services/luna-cloud-hsm). - -## **Best of Both Worlds 🤔** - -Yes, it’s possible! To implement the best data security practices, you would want the ease of integration with cloud-managed services as well as complete separation of trust to isolate encryption keys from data. This method is also called **BYOK **(bring your own key). - -You can do this with products such as CipherTrust Manager [Cloud Key Manager](https://cpl.thalesgroup.com/encryption/key-management/ciphertrust-cloud-key-manager). This offers: - -**✅ Direct connection with cloud-managed KMS account** - -Once you connect your AWS or GCP or Azure account to CipherTrust Manager as shown in the tutorial linked below, you will be able to manage keys directly from CipherTrust Manager and encrypt data on cloud-managed services. - -**✅ Key Lifecycle Management in a few clicks** - -In just a few clicks you can setup key rotation which will rotate your keys every few months and provide the best data security standards for your organization. - -### How do I implement this? - -Luckily, it’s easy to implement in 3 simple steps. Here’s a tutorial I made that demos connecting CipherTrust Manager to my AWS KMS (Key Management Service) account and encrypt my AWS managed services such as S3 and RDS. - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -Now go ahead and encrypt all your cloud-managed services using this hybrid BYOK approach! - -If you have any issues with implementation or questions about data encryption, go to the CipherTrust community and post [a quesiton](https://supportportal.thalesgroup.com/community). \ No newline at end of file diff --git a/ciphertrust/blog/2023-04-18-data-security-without-DevOps-disruption.md b/ciphertrust/blog/2023-04-18-data-security-without-DevOps-disruption.md deleted file mode 100644 index 5aa3cc8..0000000 --- a/ciphertrust/blog/2023-04-18-data-security-without-DevOps-disruption.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -slug: Data-Security-in-DevOps -title: Data Security without DevOps Disruption -authors: hal -tags: [data-encryption, devops, data-security] ---- - -# Data Security without DevOps Disruption! - -Note - this article was originally posted on Hal's blog on March 24, 2023 under the title "CipherTrust Transparent Encryption." - -In many organisations, IT departments are sometimes required to delegate some of their responsibilities to other teams, but at the same time, also required to keep control of the company security. Wait! In the world of security, can data security become a delegated responsibility? If that is a yes, then how? - -Five years ago, I was pulled into the DevOps team culture and mindset. Since then, I have been lucky enough to manage the building of several DevOps teams. One of the many attributes of the DevOps culture is their autonomy. DevOps teams build in a way that can execute a task from end to end. The teams build up while working through the requirements and functions of the project or product, and with this knowledge, go on to find the most effective way of breaking the silos encountered by traditional teams. - -### Introduction - -The previous paragraph described DevOps as being about speed of delivery and autonomy, which also requires the team to access resources that are not always managed within the team; Active Directory, file shares, and so on are examples of these resources. So, how can you keep your DevOps team focused, but not affect the company processes? - -### Scenario - -Let’s put the DevOps information above into context using a real scenario I came across last week with one of the teams I help to build two years ago. - -Company A was working on a confidential application for a client; the client was concerned that a breach of their code data would expose their intellectual property to competitors, or would become general knowledge. - -The client asked that the following hierarchy be implemented to help mitigate their risk: - -* Each Team has it own encrypted directory -* Only the specific team can access and read the code -* Admin can manage the files within all the directories, but cannot read the code - -### The Challenge - -From those requirements, Company A faces the following challenges: - -* How to implement access management and encryption at the same time -* How to avoid disruption of the DevOps team concept -* Delegate security manageability to the DevOps team without affecting the wider company policy - -### Solution - -Access management can be controlled using the company Active Directory; but doing so will complicate the workflow of the DevOps team and will slow the delivery. At the same time, Active Directory and Group Policies do not offer encryption, so the IT department turned to Thales CipherTrust Manager to solve this challenge. - -### Implementation - -To achieve all the security requirements, Company A decided to use CipherTrust Manager with the Transparent Encryption feature. Using Transparent Encryption Live Data Transformation (LDT), Company A can delegate the code data management to the DevOps team, but at the same time, encrypt the data and also keep Admin in control of managing and backing up the code files without compromising security. - -So let’s learn how company A uses CipherTrust Manager to keep each team in control. - -### CipherTrust User and Domain - -To delegate responsibilities, the Company A IT team was looking for a multi-tenanted system that can help the department to easily create and assign multiple teams to manage their own security requirements, while remaining isolated from each other. This requirement can be met with Thales CTM by creating a Domain to allow the DevOps team to manage their access control and security needs. - -To create a Domain, you first create a user by browsing to **“Access Management -> Users -> Add User“:** -![Add_User](img/adduser.webp) - -After you have added the user, apply the user to **CTE Admins and Clients** by going to **Edit/view** the user. Under **Groups**, Search **CTE** and add to **Admin/Client**: -![CTE_Groups](img/CTE_Groups.webp) - -The next step is to browse to “**Admin Settings -> Domains**” and click “**Add Domain**“: - -* Name: DevOps -* Admins: devops (the user you just created) -* Choose the default CA -* Save -![Add_Domain](img/Add_Domain.webp) - -Now you are ready to logout and then login with the user you just created. After logging in again, change the domain to the new domain at the top right corner – **Switch Domains**: -![Switch_Domains](img/switchdomains.webp) - -### Create a Key - -To be able to encrypt the data, we must create a key. Creating a key is very simple with CipherTrust Manager, all you need is to browse to the keys at the left menu and press the “**Add key**“. The next step is to provide a Key name: for example we will create a key name: **LDT_Key** and then press”**Add Key**” to save it. - -At the next window, expand the “**Key Access**” option. On the search bar, type “**CTE**” with show all groups, then tick the check boxes for all the Admins and Clients permissions. Press **Update**: -![Key_Access](img/keyaccess.webp) - -Next, browse to “**Key Labels -> CTE**“. Choose **CBC** from the drop down menu”. Press **Update**: -![Key_Label](img/Keylable.webp) - -### Install the Transparent Encryption Agent - -To be able to install and use the Transparent Encryption feature, you must install an agent. The first step is to create a “**Registration Token**“; this will be used during the agent installation to add the agent to the CipherTrust Manager. To create the Token, browse to “**Access Management -> Registration Tokens**” and click on “**Add Registration Token**” and complete the following entries: - -* Provide a Name Prefix: on my case DevOps_token -* Local CA: choose the default -* Create a token: Base64 -![Create_Token](img/createToken.webp) - -Copy the token; then go to your Windows or Linux machine to run the agent installation. During the installation, you will be asked to provide: - -* Componant to register: File System -* CipherTrust Manager IP/Hostname -* Enable LDT Feature (FS agent only) -* Token - -After the installation is completed and you have successfully rebooted, you will be able to see the registered client on your CipherTrust Manager under: **Transparent Encryption -> Clients**: -![CTE_Client](img/CTE_Client.webp) - -Creating Policies: - -After deploying the agent and connecting it to the CTM, we can focus on creating our polices. As we have four different teams in our example, lets create four policies as shown below: - -* DevOps_Admin_Team: Access and manage files and directories but can read files content -* DevOps_Dev_Team: access only Development directory -* DevOps_Ops_Policy: access only operation directory -* DevOps_QA_Team: access only QA diretory - -Let’s create first policy, the **DevOps_Admin_Team** policy by browsing to “**Transparent Encryption -> Policies -> Create policy**“: - -* Name: DevOps_Admin_Team -* Policy Type: Live Data Transformation -* Security Rules: + Create Security Rule - * User Set – Select – Create User Set: - * Name: Admin_Team - * Create User - * Agent – select Agent - * User Type: LDAP - * Member Choice: User or Group (on my case I choose group) - * gname: group name - * Note: repeat the above steps to create all the users for each group (i.e: Admin, Dev, Ops and QA team. on each time you need to create a policy you can easily choose the appropriate group or user) - * Action – Select - * All_Ops - * Effect – Select - * select permit - * ApplyKey only of other group but not Admin group as the admin will not be able to unencrypt the data so a key not required -* Key Rules: Create key Rule - * Current Key Name: Select – “clear_key” - * Tranformation Key Name: Select – LTD_Key - * Add -* Next – Confirmation – Save - -Note: repeat the above steps for all the groups - -### Create GuardPoint - -Our last step is to apply these policies to our folders or client. In this example, I will be using a Windows client. So let’s get started: - -As we have different teams and policies, each with different access, we must create a different client **GuardPoint**. Browse to **Transparent Encryption -> Clients**. Choose the client – “**Create GuardPoint**“: - -* Select Policy: choose DevOps_QA_Team -* Path: browse to the QA directory and select “select Path” -* Create - -Note: repeat for each team and select the appropriate directory -![Create_GuardPoint](img/createguardpoint.webp) - -After all the directories are assigned to a group – on each GuardPoint – press the policy name and add the right action for each team as shown below; for example: - -* Development_Team can access, and apply key -* Operation_Team no access -* Admin_Team access but no key -![DevOps_Permission_Group](img/devops_permission_group.webp) - -Note: repeat for all other GuardPoints - -### Summary - -After Following the steps described above, you can check that your new configuration works by accessing your Windows machine with a different user; for example, QA, dev, ops or admin, then check to see if you can access or read the files. The above steps are a little involved, more than Active Directory Group Policies; but with CipherTrust you also get the encryption aspect with a full and controlled separation of responsibilities. - -Company A was able to achieve their client’s security request; but at the same time, did not affect the team processes, autonomy, and control. At both levels, Company A IT and DevOps, it was a win – win situation. diff --git a/ciphertrust/blog/2023-06-30-ciphertrust and active directory b/ciphertrust/blog/2023-06-30-ciphertrust and active directory deleted file mode 100644 index cef8663..0000000 --- a/ciphertrust/blog/2023-06-30-ciphertrust and active directory +++ /dev/null @@ -1,43 +0,0 @@ ---- -slug: CipherTrust and Active Directory -title: CipherTrust and Active Directory -authors: hal -tags: [data-encryption, devops, data-security] ---- - -# CipherTrust and Active Directory - -Note - this article was originally posted on Hal's blog on March 21, 2023 under the title "Thales CipherTrust & Active Directory." - -![Into Image](./img/Multi-cloud-key-management-onboarding.webp) Why should you integrate Thales CipherTrust with your Microsoft Active Directory? What are the benefits of integration, and how is it done? Does Thales CipherTrust Manager (CTM) replace your Active Directory Group policy? - -In the previous blog post, we went through the deployment of the CipherTrust Manager in our VMware environment. In today’s post, we will focus our discussion on how to integrate the newly provisioned OVA with the company Active Directory, a necessary step for activities we will discuss in our future posts. - -## The Why - -To streamline the management of your company’s security requirements, and to easily manage your access and control of the company files and directories, it is a good idea to integrate CTM with Active Directory as a source of user management. By doing this, you can assign your policies more easily by basing them on the company AD Users and Groups. - -## The How - -Now let’s focus on the fun technical part, the integration. The first step before we start the configuration is to get some information from AD; so, let’s run the following PowerShell command to retrieve the necessary information for our configuration: ![Get ADuser](./img/get_aduser.png) - -CThe output will be as shown below: -![AD Info](./img/AD_Info.webp) - -After you have retrieved the above information, we are ready to head back to our CTM and browse to: Access Management -> LDAP. From the top right corner, select “+ Add LDAP“: -![CTM_LDAP](./img/CTM_LDAP.webp) - -On the pop-up config windows, provide the following information: -* Connection Name: any -* Server URL: your AD IP/DNS name -* Bind DN: CN=Administrator,CN=Users,DC=oasis,DC=org -* Server Bind Password: account password -* Rood DN: DC=oasis,DC=org -* User login name attribute: sAMAccountName -![AD_Bind-1](./img/CAD_Bind-1.webp) - -After you have tested the configurations to be correct and are ready to accept it, click on the “Add LDAP” button at the bottom right corner. - -## Conclusion - -Today’s blog is very important; this post is setting the foundation for our next exciting topic, Thales Transparent Encryption feature. As you may have noticed, to integrate the CTM with AD is a very simple, but important operation. Next week, we going to use the configuration setup today to access and encrypt the company’s critical data. \ No newline at end of file diff --git a/ciphertrust/blog/2023-06-30-ciphertrust-and-active-directory.md b/ciphertrust/blog/2023-06-30-ciphertrust-and-active-directory.md deleted file mode 100644 index d3329b5..0000000 --- a/ciphertrust/blog/2023-06-30-ciphertrust-and-active-directory.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -slug: CipherTrust and Active Directory -title: CipherTrust and Active Directory -authors: hal -tags: [data-encryption, devops, data-security] ---- - -# CipherTrust and Active Directory - -Note - this article was originally posted on Hal's blog on March 21, 2023 under the title "Thales CipherTrust & Active Directory." - -![Into Image](./img/Multi-cloud-key-management-onboarding.png) Why should you integrate Thales CipherTrust with your Microsoft Active Directory? What are the benefits of integration, and how is it done? Does Thales CipherTrust Manager (CTM) replace your Active Directory Group policy? - -In the previous blog post, we went through the deployment of the CipherTrust Manager in our VMware environment. In today’s post, we will focus our discussion on how to integrate the newly provisioned OVA with the company Active Directory, a necessary step for activities we will discuss in our future posts. - -## The Why - -To streamline the management of your company’s security requirements, and to easily manage your access and control of the company files and directories, it is a good idea to integrate CTM with Active Directory as a source of user management. By doing this, you can assign your policies more easily by basing them on the company AD Users and Groups. - -## The How - -Now let’s focus on the fun technical part, the integration. The first step before we start the configuration is to get some information from AD; so, let’s run the following PowerShell command to retrieve the necessary information for our configuration: ![Get ADuser](./img/get_aduser.png) - -The output will be as shown below: - -![AD Info](./img/AD_Info.webp) - -After you have retrieved the above information, we are ready to head back to our CTM and browse to: Access Management -> LDAP. From the top right corner, select “+ Add LDAP“: - -![CTM_LDAP](./img/CTM_LDAP.webp) - -On the pop-up config windows, provide the following information: -* Connection Name: any -* Server URL: your AD IP/DNS name -* Bind DN: CN=Administrator,CN=Users,DC=oasis,DC=org -* Server Bind Password: account password -* Rood DN: DC=oasis,DC=org -* User login name attribute: sAMAccountName -![AD_Bind-1](./img/AD_Bind-1.webp) - -After you have tested the configurations to be correct and are ready to accept it, click on the “Add LDAP” button at the bottom right corner. - -## Conclusion - -Today’s blog is very important; this post is setting the foundation for our next exciting topic, Thales Transparent Encryption feature. As you may have noticed, to integrate the CTM with AD is a very simple, but important operation. Next week, we going to use the configuration setup today to access and encrypt the company’s critical data. \ No newline at end of file diff --git a/ciphertrust/blog/2023-08-15-hold-your-own-keys-in-azue.md b/ciphertrust/blog/2023-08-15-hold-your-own-keys-in-azue.md deleted file mode 100644 index 2aa41cb..0000000 --- a/ciphertrust/blog/2023-08-15-hold-your-own-keys-in-azue.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -slug: HYOK-in-Azure -title: HYOK Cloud Key Management Solution for Azure -authors: scotti -tags: [HYOK, Cloud key Management, devops, Azure] ---- - -# HYOK Cloud Key Management Solution for Azure - -Note - this article was originally posted as a Thalesgroup blog on August 3, 2023 under the title "Cloud Key Management Solution for Azure, Azure Stack and M365." The video was added for this post. - -### Uncover Your Cybersecurity Blind Spots - -Cybersecurity is a strategic risk that should be managed at the highest levels of an organization. In fact, the World Economic Forum’s Global Risk Report 2023 again ranked wide-spread cybercrime as a top-ten critical global threat. Of all the potential global risks to economies and societies including natural disasters, geopolitical conflict, energy supply, global debt and rising inflation, widespread cybercrime ranks #8 on both short term and long-term outlooks. - -Ranking in the top ten critical global threats is eye-opening! To help mitigate the risk and unshroud organizational blind spots, today’s enterprises must look for leading-edge solutions that help with data governance and compliance. - -### Thales Solutions for Microsoft Azure, Azure Stack and M365 - -You can simplify the way your organization discovers, protects, and controls your sensitive data. With our platform, Thales has integrated the CipherTrust Cloud Key Management (CCKM) solution with Microsoft Azure, Azure Stack and Microsoft 365. - -CCKM reduces your operational burden and increases efficiency. CCKM manages and synchronizes native keys, even if you have already created thousands of native cloud keys at your cloud provider. CCKM can help customers demonstrate compliance with internal, industry and national regulatory requirements so that you have the confidence to unblock sensitive workloads that may be stuck on-premises and move them to Azure. - -#### CCKM Benefits: -* Simplify compliance by taking control of your encryption keys and your data -* Achieve cost savings using automated key lifecycle management -* Single pane of glass to help eliminate security holes introduced by human error -- set policies to be applied consistently wherever data is stored -* Support strategies for workload portability to increase operational resilience as part of a robust business continuity and disaster recovery plan -* Support all major public clouds -* Flexible deployment options: on-premises, hybrid cloud, and as a Service - -“Thales is a global Microsoft partner focused on delivering solutions for Azure Cloud, Azure Stack and M365, on-premises storage systems, intelligent edge appliances, and cloud-based Microsoft Azure Services. They are working to help customers transform their businesses to drive digital transformation for people, organizations, and industries worldwide. CipherTrust Cloud Key Management has been verified against Microsoft key products, is available on the Azure Marketplace and is simple to adopt for Azure customers.” – David Nunez Tejerina, Principal Product Manager, Microsoft - -### Bring Your Own Key -With Thales’ Bring Your Own Key (BYOK) functionality, customers can maintain control of sensitive data using external key management services ensuring full encryption capabilities, key lifecycle management, and centralized key management across clouds, regions, accounts, subscriptions, projects, applications, org ids and more. CCKM helps manage native Azure keys, Standard/Premium Key Vaults as well as Managed HSM pools, in addition to BYOK. CipherTrust Manager as well as Luna Network HSM can be used as a key source. - - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - - -### Single Pane of Glass, Single Vendor -According to the Thales 2023 Data Threat Report, 93% of organizations use four or more key management solutions (includes enterprise key manager vendors and cloud provider key managers). CCKM manages all of your encryption keys across clouds and services with a single pane of glass from a trusted vendor. - -CCKM integrated with Microsoft Azure, Azure Stack and Microsoft 365 increases efficiency by reducing the operational burden. Giving customers lifecycle control, centralized management within and among clouds, and unparalleled visibility of cloud encryption keys reduces key management complexity and operational costs. Thousands of keys and native key stores are difficult to manage manually, and organizations may be stretched to consistently apply key lifecycle management policies such as rotation, backup and role-based access management across their entire digital estate -- leading to security holes and failed audits. 99% of data breaches occur because of human error. You can shrink the threat surface introduced by human error when you use centralized automated key lifecycle management provided by CCKM. - -### Multi-Cloud Support -Organizations with multi-cloud are struggling to protect their sensitive data, because while cloud delivers a multitude of benefits these can often be offset by a multitude of challenges. It can also be very time consuming to manage the different native stores and native key management tools across different clouds and on-premises since there is no industry standard. Based on customer testimonials, CCKM can provide a 30x savings in time and cost in managing thousands of native key stores across hybrid multi-cloud environments which can free up IT teams to focus on other urgent business priorities. -Operational Sovereignty - -CCKM helps organizations to control their digital sovereignty across major public and government clouds including Microsoft Azure, Azure Government, Amazon Web Services, Google Cloud, Oracle Cloud, Salesforce and SAP. The solution enables you to run in different environments to support a strong business continuity plan. CCKM can provide an organization with a holistic view of where all key workloads and sensitive data are located. - -Free Trial -Try [**Data Protection On Demand - 30-Day Free Evaluation!**](https://cpl.thalesgroup.com/encryption/data-protection-on-demand/marketplace) - -For more information see the [**Product Brief**](https://cpl.thalesgroup.com/resources/encryption/microsoft-azure-advanced-data-protection-solution-brief) and [**Solution Brief**](https://cpl.thalesgroup.com/resources/encryption/cloud-key-management-ms-azure-solution-brief). \ No newline at end of file diff --git a/ciphertrust/blog/authors.yml b/ciphertrust/blog/authors.yml deleted file mode 100644 index 5f3aabd..0000000 --- a/ciphertrust/blog/authors.yml +++ /dev/null @@ -1,15 +0,0 @@ -pranav: - name: Pranav Shikarpur - title: Developer Advocate @ Thales - url: https://twitter.com/snpranav - image_url: https://pbs.twimg.com/profile_images/1615654854642503680/AZA332Xo_400x400.jpg - -hal: - name: Hal Yaman (B.Sc) - title: Sales Engineering Manager @ Thales - image_url: https://i0.wp.com/cloudoasis.com.au/wp-content/uploads/2019/09/IMG_0054-30x40.jpg?resize=225%2C300&ssl=1 - -scotti: - name: Scotti Woolery-Price - title: Partner Marketing Manager, Thales - image_url: https://cpl.thalesgroup.com/sites/default/files/content/author/field_image/2022-09/scotti-woolery-price.jpg \ No newline at end of file diff --git a/ciphertrust/blog/img/2052171.svg b/ciphertrust/blog/img/2052171.svg deleted file mode 100644 index e4f89af..0000000 --- a/ciphertrust/blog/img/2052171.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - -Created by potrace 1.15, written by Peter Selinger 2001-2017 - - - - - diff --git a/ciphertrust/blog/img/AD_Bind-1.webp b/ciphertrust/blog/img/AD_Bind-1.webp deleted file mode 100644 index e9bd18c..0000000 Binary files a/ciphertrust/blog/img/AD_Bind-1.webp and /dev/null differ diff --git a/ciphertrust/blog/img/AD_Info.webp b/ciphertrust/blog/img/AD_Info.webp deleted file mode 100644 index 9c4dc18..0000000 Binary files a/ciphertrust/blog/img/AD_Info.webp and /dev/null differ diff --git a/ciphertrust/blog/img/Add_Domain.webp b/ciphertrust/blog/img/Add_Domain.webp deleted file mode 100644 index a091fcf..0000000 Binary files a/ciphertrust/blog/img/Add_Domain.webp and /dev/null differ diff --git a/ciphertrust/blog/img/Add_Domain1.webp b/ciphertrust/blog/img/Add_Domain1.webp deleted file mode 100644 index a091fcf..0000000 Binary files a/ciphertrust/blog/img/Add_Domain1.webp and /dev/null differ diff --git a/ciphertrust/blog/img/CTE_Client.webp b/ciphertrust/blog/img/CTE_Client.webp deleted file mode 100644 index 9977236..0000000 Binary files a/ciphertrust/blog/img/CTE_Client.webp and /dev/null differ diff --git a/ciphertrust/blog/img/CTE_Groups.webp b/ciphertrust/blog/img/CTE_Groups.webp deleted file mode 100644 index 603811f..0000000 Binary files a/ciphertrust/blog/img/CTE_Groups.webp and /dev/null differ diff --git a/ciphertrust/blog/img/CTE_Groups1.webp b/ciphertrust/blog/img/CTE_Groups1.webp deleted file mode 100644 index 603811f..0000000 Binary files a/ciphertrust/blog/img/CTE_Groups1.webp and /dev/null differ diff --git a/ciphertrust/blog/img/CTM_LDAP.webp b/ciphertrust/blog/img/CTM_LDAP.webp deleted file mode 100644 index 139db8c..0000000 Binary files a/ciphertrust/blog/img/CTM_LDAP.webp and /dev/null differ diff --git a/ciphertrust/blog/img/Keylable.webp b/ciphertrust/blog/img/Keylable.webp deleted file mode 100644 index ab6ead9..0000000 Binary files a/ciphertrust/blog/img/Keylable.webp and /dev/null differ diff --git a/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.png b/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.png deleted file mode 100644 index 239bc79..0000000 Binary files a/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.png and /dev/null differ diff --git a/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.webp b/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.webp deleted file mode 100644 index 31eca83..0000000 Binary files a/ciphertrust/blog/img/Multi-cloud-key-management-onboarding.webp and /dev/null differ diff --git a/ciphertrust/blog/img/adduser.webp b/ciphertrust/blog/img/adduser.webp deleted file mode 100644 index aa995c4..0000000 Binary files a/ciphertrust/blog/img/adduser.webp and /dev/null differ diff --git a/ciphertrust/blog/img/adduser1.webp b/ciphertrust/blog/img/adduser1.webp deleted file mode 100644 index aa995c4..0000000 Binary files a/ciphertrust/blog/img/adduser1.webp and /dev/null differ diff --git a/ciphertrust/blog/img/createToken.webp b/ciphertrust/blog/img/createToken.webp deleted file mode 100644 index 0f4492b..0000000 Binary files a/ciphertrust/blog/img/createToken.webp and /dev/null differ diff --git a/ciphertrust/blog/img/createguardpoint.webp b/ciphertrust/blog/img/createguardpoint.webp deleted file mode 100644 index 8a70705..0000000 Binary files a/ciphertrust/blog/img/createguardpoint.webp and /dev/null differ diff --git a/ciphertrust/blog/img/devops_permission_group.webp b/ciphertrust/blog/img/devops_permission_group.webp deleted file mode 100644 index c03089a..0000000 Binary files a/ciphertrust/blog/img/devops_permission_group.webp and /dev/null differ diff --git a/ciphertrust/blog/img/docusaurus.png b/ciphertrust/blog/img/docusaurus.png deleted file mode 100644 index f458149..0000000 Binary files a/ciphertrust/blog/img/docusaurus.png and /dev/null differ diff --git a/ciphertrust/blog/img/dpg-icon.png b/ciphertrust/blog/img/dpg-icon.png deleted file mode 100644 index c1a665d..0000000 Binary files a/ciphertrust/blog/img/dpg-icon.png and /dev/null differ diff --git a/ciphertrust/blog/img/favicon.ico b/ciphertrust/blog/img/favicon.ico deleted file mode 100644 index 4535d28..0000000 Binary files a/ciphertrust/blog/img/favicon.ico and /dev/null differ diff --git a/ciphertrust/blog/img/get_aduser.png b/ciphertrust/blog/img/get_aduser.png deleted file mode 100644 index ed240a7..0000000 Binary files a/ciphertrust/blog/img/get_aduser.png and /dev/null differ diff --git a/ciphertrust/blog/img/keyaccess.webp b/ciphertrust/blog/img/keyaccess.webp deleted file mode 100644 index 020f5b6..0000000 Binary files a/ciphertrust/blog/img/keyaccess.webp and /dev/null differ diff --git a/ciphertrust/blog/img/keyaccess1.webp b/ciphertrust/blog/img/keyaccess1.webp deleted file mode 100644 index 020f5b6..0000000 Binary files a/ciphertrust/blog/img/keyaccess1.webp and /dev/null differ diff --git a/ciphertrust/blog/img/logo.png b/ciphertrust/blog/img/logo.png deleted file mode 100644 index f817ef8..0000000 Binary files a/ciphertrust/blog/img/logo.png and /dev/null differ diff --git a/ciphertrust/blog/img/screenshot-ciphertrust-manager-dashboard.png b/ciphertrust/blog/img/screenshot-ciphertrust-manager-dashboard.png deleted file mode 100644 index b542d34..0000000 Binary files a/ciphertrust/blog/img/screenshot-ciphertrust-manager-dashboard.png and /dev/null differ diff --git a/ciphertrust/blog/img/screenshot-ciphertrust-manager-key-management.png b/ciphertrust/blog/img/screenshot-ciphertrust-manager-key-management.png deleted file mode 100644 index 118b7d2..0000000 Binary files a/ciphertrust/blog/img/screenshot-ciphertrust-manager-key-management.png and /dev/null differ diff --git a/ciphertrust/blog/img/screenshot-transparent-encyption1.png b/ciphertrust/blog/img/screenshot-transparent-encyption1.png deleted file mode 100644 index 8de27d5..0000000 Binary files a/ciphertrust/blog/img/screenshot-transparent-encyption1.png and /dev/null differ diff --git a/ciphertrust/blog/img/switchdomains.webp b/ciphertrust/blog/img/switchdomains.webp deleted file mode 100644 index e1cf035..0000000 Binary files a/ciphertrust/blog/img/switchdomains.webp and /dev/null differ diff --git a/ciphertrust/blog/img/switchdomains1.webp b/ciphertrust/blog/img/switchdomains1.webp deleted file mode 100644 index e1cf035..0000000 Binary files a/ciphertrust/blog/img/switchdomains1.webp and /dev/null differ diff --git a/ciphertrust/docs/connectors/_category_.json b/ciphertrust/docs/connectors/_category_.json deleted file mode 100644 index d288446..0000000 --- a/ciphertrust/docs/connectors/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Connectors", - "position": 4, - "link": { - "type": "generated-index" - } -} diff --git a/ciphertrust/docs/connectors/cte-for-k8s.md b/ciphertrust/docs/connectors/cte-for-k8s.md deleted file mode 100644 index 256a35a..0000000 --- a/ciphertrust/docs/connectors/cte-for-k8s.md +++ /dev/null @@ -1,224 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Transparent Encryption for Kubernetes - -To get started with running CipherTrust's Transparent Encryption connector with Kubernetes, you would need to first have a deployed CipherTrust Manager instance. To learn about how to deploy CipherTrust Manager, check out our [guides](../deploy/azure.mdx). - -## Kuberenetes Setup -There are some pre-requisites we need to check. Our VM must have installed versions of: -* KVM -* Docker -* Kubernetes -* helm -* Minikube -* Git -* A Kubernetes cluster health monitoring tool - -Note: If you prefer, you could also perform this deployment with microK8s. This would remove the need to install services like MiniKube, KVM, Kubernetes, etc - -## Deploy CTE for Kubernetes -Once you have confirmed you have the pre-requisites to deploy CTE for K8s. You can run a test setup with an [open-source demo](https://github.com/thalescpl-io/ciphertrust-transparent-encryption-kubernetes) by Thales. Run, - -```bash -git clone https://github.com/thalescpl-io/ciphertrust-transparent-encryption-kubernetes.git -cd ciphertrust-transparent-encryption-kubernetes/ -./deploy.sh -``` - -## Configuring CipherTrust to talk to the Kubernetes Cluster -First, we need to generate a new registration token on the CipherTrust platform. We can do this by going to `Access Management -> Registration Token -> "Add Registration Token"` - -We also need to enable the CipherTrust trial license, we can do this by going to `Licensing -> "Add CipherTrust Platform Evaluation"` to enable the evaluation license. - -# Setup the K8s Client -* Go to `Clients -> K8s Storage Group`. Create a new K8s storage group. -![Setup K8s Storage Group](./img/setup-k8s-storage-group.png) - -* Go to `Policies -> Create Policy` named `policy1` -![Create a K8s Policy](./img/new-k8s-sg-policy.png) - -* Permissions to set - * Action: `all_ops` - * Effect: `permit, audit, applykey` - -* Create a new `CBC-CS1` key, and bind it to the resource set `cte-k8s-resource-set` -![Policy list](./img/policy-list-k8s.png) - -Finally, click on Create Policy! - -## Configure an NFS volume to protect your file system - -* Create a shared folder for the NFS -```bash -sudo mkdir –p /usr/nfs/cte-k8s -``` - -* Specify the share location to export -```bash -sudo vim /etc/exports - -## Add the following line to the file -/usr/nfs/cte-k8s *(rw,sync,no_root_squash) -``` - -Save the file and run -```bash -sudo exportfs –a -``` - -## Start the NFS service -```bash -sudo systemctl enable nfs && \ -sudo systemctl start nfs && \ -sudo systemctl enable rpcbind && \ -sudo systemctl start rpcbind -``` - - -## Configure the NFS volume in the Kubernetes cluster -Create the following files -```yaml title="nfs-pv.yml" -apiVersion: v1 -kind: PersistentVolume -metadata: - name: nfs-test-pv -spec: - capacity: - storage: 1Gi - accessModes: - - ReadWriteMany - storageClassName: nfs - persistentVolumeReclaimPolicy: Retain - mountOptions: - - hard - - nfsvers=4.0 - nfs: - path: /usr/nfs/cte-k8s/ - server: 10.10.10.7 - ``` - - ```yaml title="nfs-claim.yml" -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nfs-test-claim -spec: - storageClassName: nfs - accessModes: - - ReadWriteMany - resources: - requests: - storage: 1Gi -``` - -Update the following files accordingly -```yaml title="cte-csi-storageclass.yaml" -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: cte-k8s-storage-class -provisioner: csi.cte.cpl.thalesgroup.com -reclaimPolicy: Delete -volumeBindingMode: Immediate -allowVolumeExpansion: true -parameters: - # Domain name or IP address of the CiperTrust Manager (Required) - key_manager_addr: #This IP address is the CM internal IP address - # Name of the CipherTrust Manager K8s Storage Group. (Required) - k8_storage_group: cte-k8s-storage-group - # Kubernetes Secret with CM registration token (Required) - registration_token_secret: demo #This name needs to be the same name of the registration token in CM - - client_description: "Azure CTE k8s client" - # Time in minutes to wait before unregistering from the CiperTrust Manager - # once all volumes have been unguarded. Parameter must be added as a string - # integer value. Default "10" minute. (Optional) - registration_period: "10" -``` - - -```yaml title="cte-csi-regtoken.yaml" -apiVersion: v1 -kind: Secret -metadata: - name: demo #This is the name of the registration tokens from CM dashboard for CTE k8s -type: Opaque -data: - # This is a base64 encoded registration token. To generate: - # echo | base64 -w 0 - registration_token: -``` - -```yaml -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: cte-claim - annotations: - # CTE for Kubernetes GuardPolicy name. This GuardPolicy is located on the - # CipherTrust Manager and should match a policy name available on the - # storage class for this PVC. (Required) - csi.cte.cpl.thalesgroup.com/policy: policy1 - # Name of the unprotected source PVC that will be protected by this CTE-PVC. - # (Required) - csi.cte.cpl.thalesgroup.com/source_pvc: nfs-test-claim -spec: - storageClassName: cte-k8s-storage-class - accessModes: - - ReadWriteMany - resources: - requests: - # This parameter is required by Kubernetes but ignored by CTE-CSI. - storage: 1Gi -``` - -```yaml title="cte-csi-demo-pod.yml" -apiVersion: v1 -kind: Pod -metadata: - name: cte-csi-demo -spec: - volumes: - - name: test-vol - persistentVolumeClaim: - claimName: cte-claim - containers: - - name: ubuntu - image: ubuntu - volumeMounts: - - mountPath: "/data" - name: test-vol - command: - - "sleep" - - "604800" - imagePullPolicy: IfNotPresent - restartPolicy: Always -``` - -## Deploy all YAML files -```bash -kubectl apply -f nfs-pv.yaml -kubectl apply -f nfs-claim.yaml -kubectl apply -f cte-csi-regtoken.yaml -kubectl apply -f cte-csi-storageclass.yaml -kubectl apply -f cte-csi-claim.yaml -kubectl apply -f cte-csi-demo-pod.yaml -``` - -### Verify deployment status -```bash -kubectl get all -kubectl get pod, pv, pvc -kubectl get pod –namespace=kube-system -``` - -### Get Pod, PV, and PVC details -```bash -kubectl describe pod -kubectl describe pv -kubectl describe pvc -``` - -Now your data should be secured by CTE for K8s connector. You can verify this by going into the pod and creating a new file in the `/data` folder and verify that it is encrypted on the NFS from your local system. \ No newline at end of file diff --git a/ciphertrust/docs/connectors/data-encryption-in-transit-docker.mdx b/ciphertrust/docs/connectors/data-encryption-in-transit-docker.mdx deleted file mode 100644 index 7ff7616..0000000 --- a/ciphertrust/docs/connectors/data-encryption-in-transit-docker.mdx +++ /dev/null @@ -1,51 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Data Protection Gateway - -This demo shows how you can use a tool like CipherTrust Data Protection Gateway and do field level data encryption with **no change** to your application's code. - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -## Pre-requisites -- [Deployed Ciphertrust Manager instance](../category/deploy-ciphertrust-platform) - -## How does it work? -### Step 1 - Add side-car container -You need to deploy a sidecar container or an agent that proxies all your requests to your container. - -It looks something like this if you use [docker-compose](https://docs.docker.com/compose/). -Note - You can use DPG and CipherTrust manager with any other Kubernetes or Helm deployment. -```yaml title="docker-compose.yml" -version: '3.1' - -services: - ciphertrust: - image: thalesgroup/ciphertrust-data-protection-gateway:latest - container_name: ciphertrust - environment: - - REG_TOKEN= - - DESTINATION_URL=http://nextjs:3000 - - DPG_PORT=9005 - - TLS_ENABLED=false - - KMS= - ports: - - 80:9005 -``` - -### Step 2 - Configure DPG policies -Setup [DPG policies](https://thalesdocs.com/ctp/cm/latest/admin/adp_ag/adp-prtcn-policy/create-prtcn-policy/index.html) in CipherTrust Manager to encrypt the fields that are encrypted for your POST requests and add a decrypt policy for your HTTP "GET" requests. - -This ensures that the proxy takes care of the encryption and decryption and the database finally ONLY gets encrypted data. - -![dpg policy example](img/dpg-policy.png) - -### Step 3 - Sit Back and Relax -Let CipherTrust Manager do all the magic for you while you focus on building great applications. - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/connectors/img/ciphertrust-transparent-encryption-kubernetes-diagram.png b/ciphertrust/docs/connectors/img/ciphertrust-transparent-encryption-kubernetes-diagram.png deleted file mode 100644 index 945ea58..0000000 Binary files a/ciphertrust/docs/connectors/img/ciphertrust-transparent-encryption-kubernetes-diagram.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/docsVersionDropdown.png b/ciphertrust/docs/connectors/img/docsVersionDropdown.png deleted file mode 100644 index 97e4164..0000000 Binary files a/ciphertrust/docs/connectors/img/docsVersionDropdown.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/dpg-policy.png b/ciphertrust/docs/connectors/img/dpg-policy.png deleted file mode 100644 index 1c2edf7..0000000 Binary files a/ciphertrust/docs/connectors/img/dpg-policy.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/localeDropdown.png b/ciphertrust/docs/connectors/img/localeDropdown.png deleted file mode 100644 index e257edc..0000000 Binary files a/ciphertrust/docs/connectors/img/localeDropdown.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/new-k8s-sg-policy.png b/ciphertrust/docs/connectors/img/new-k8s-sg-policy.png deleted file mode 100644 index 231cc08..0000000 Binary files a/ciphertrust/docs/connectors/img/new-k8s-sg-policy.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/policy-list-k8s.png b/ciphertrust/docs/connectors/img/policy-list-k8s.png deleted file mode 100644 index db6fb29..0000000 Binary files a/ciphertrust/docs/connectors/img/policy-list-k8s.png and /dev/null differ diff --git a/ciphertrust/docs/connectors/img/setup-k8s-storage-group.png b/ciphertrust/docs/connectors/img/setup-k8s-storage-group.png deleted file mode 100644 index f4626c4..0000000 Binary files a/ciphertrust/docs/connectors/img/setup-k8s-storage-group.png and /dev/null differ diff --git a/ciphertrust/docs/deploy/_category_.json b/ciphertrust/docs/deploy/_category_.json deleted file mode 100644 index 8125410..0000000 --- a/ciphertrust/docs/deploy/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Deploy CipherTrust Platform", - "position": 2, - "link": { - "type": "generated-index", - "description": "Deploy CipherTrust Manager in under 5 minutes on any cloud platform." - } -} diff --git a/ciphertrust/docs/deploy/aws.mdx b/ciphertrust/docs/deploy/aws.mdx deleted file mode 100644 index 805786c..0000000 --- a/ciphertrust/docs/deploy/aws.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Amazon Web Services - -Deploy CipherTrust Manager CE on Amazon Web Services in under 5 mins - -Get started with CipherTrust Manager Community Edition on Azure you must first deploy the server from the AWS cloud marketplace using [Terraform](##using-terraform) - -## Using Terraform - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -### Pre-requisite Installations -You need to install the following packages to follow along with this tutorial. -* [Git](https://gitscm.org) -* [Terraform CLI](https://terraform.io/downloads) -* [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) - -```bash title="Terminal" -git clone https://github.com/ThalesGroup/learn-ciphertrust.git -cd learn-ciphertrust/deploy/terraform/aws/ -``` - -### 2. Login to AWS CLI -```bash title="Terminal" -aws configure -``` - -### 3. Initialize Terraform Modules -```bash title="Terminal" -terraform init -``` - -### 4. Plan and Apply Terraform Configurations -```bash title="Terminal" -terraform apply -``` - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/deploy/azure.mdx b/ciphertrust/docs/deploy/azure.mdx deleted file mode 100644 index fb75477..0000000 --- a/ciphertrust/docs/deploy/azure.mdx +++ /dev/null @@ -1,44 +0,0 @@ ---- -sidebar_position: 1 ---- -# Azure - -Deploy CipherTrust Manager CE on Azure in under 5 mins - -To get started with CipherTrust Manager Community Edition on Azure you must first deploy the server from the Azure cloud marketplace either using [Terraform](##using-terraform) or directly through the [Azure Web Console](##web-ui) - -## Using Terraform - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -### Pre-requisite Installations -You need to install the following packages to follow along with this tutorial. -* [Git](https://gitscm.org) -* [Terraform CLI](https://terraform.io/downloads) -* [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) - -```bash title="Terminal" -git clone https://github.com/ThalesGroup/learn-ciphertrust.git -cd learn-ciphertrust/deploy/terraform/aws/ -``` - -### 2. Login to Azure CLI -```bash title="Terminal" -az login -``` - -### 3. Initialize Terraform Modules -```bash title="Terminal" -terraform init -``` - -### 4. Plan and Apply Terraform Configurations -```bash title="Terminal" -terraform apply -``` - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/deploy/gcp.mdx b/ciphertrust/docs/deploy/gcp.mdx deleted file mode 100644 index 5b45119..0000000 --- a/ciphertrust/docs/deploy/gcp.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Google Cloud Platform - -Deploy CipherTrust Manager CE on Google Cloud Platform in under 5 mins - -Get started with CipherTrust Manager Community Edition on Azure you must first deploy the server from the GCP cloud marketplace using [Terraform](##using-terraform) - -## Using Terraform - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -### Pre-requisite Installations -You need to install the following packages to follow along with this tutorial. -* [Git](https://gitscm.org) -* [Terraform CLI](https://terraform.io/downloads) -* [GCloud CLI](https://cloud.google.com/sdk/docs/install-sdk#installing_the_latest_version) - -```bash title="Terminal" -git clone https://github.com/ThalesGroup/learn-ciphertrust.git -cd learn-ciphertrust/deploy/terraform/aws/ -``` - -### 2. Login to GCloud CLI -```bash title="Terminal" -gcloud init -``` - -### 3. Initialize Terraform Modules -```bash title="Terminal" -terraform init -``` - -### 4. Plan and Apply Terraform Configurations -```bash title="Terminal" -terraform apply -``` - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/intro.md b/ciphertrust/docs/intro.md deleted file mode 100644 index 05994c1..0000000 --- a/ciphertrust/docs/intro.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Getting Started - -Let's discover **CipherTrust Manager in less than 5 minutes**. - -## Deploy CipherTrust Manager CE - -To be able to start using CipherTrust Manager, you must first deploy the product on any cloud platform. -Follow the following guides to deploy CipherTrust Manager on: -- [Amazon Web Services (AWS)](deploy/aws) -- [Google Cloud Platform (GCP)](deploy/gcp) -- [Azure](deploy/azure) - -## After deploying CipherTrust Manager -After deploying CipherTrust Manager, you can immediately start integrate data encryption into your applications using: -- CipherTrust Manager API -- Data Protection Gateway -- Transparent Encryption for Kubernetes - - -## Some Demos to Check Out -- [Client Side Object Storage Encryption for AWS S3](key-manager/cs-object-storage) -- [Data Encryption in-Transit in a Docker Deployment](connectors/data-encryption-in-transit-docker) - -Go to the next page to learn how to deploy CipherTrust manager on your Cloud Provider. \ No newline at end of file diff --git a/ciphertrust/docs/key-manager/_category_.json b/ciphertrust/docs/key-manager/_category_.json deleted file mode 100644 index f6c6010..0000000 --- a/ciphertrust/docs/key-manager/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Key Manager", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/ciphertrust/docs/key-manager/aws-kms.md b/ciphertrust/docs/key-manager/aws-kms.md deleted file mode 100644 index 4f02fbb..0000000 --- a/ciphertrust/docs/key-manager/aws-kms.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Encrypt RDS with AWS KMS - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -## Pre-requisites -- [Deployed Ciphertrust Manager instance](../category/deploy-ciphertrust-platform) - -### Goals -- Setup CipherTrust Cloud Key Manager (CCKM) with AWS KMS -- Create Keys on CipherTrust Manager -- Encrypt RDS and S3 with the secure external key manager - CCKM - - -### Step 1 - Create IAM User Policies -Select the IAM user you want to use to connect with CipherTrust Manager. -![Select IAM user](img/select-user-aws-iam.png) - -Go to the permissions tab and create a new policy with the following permissions. -```json title="AWS IAM Permission JSON" -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "kms:DisableKey", - "kms:ListAliases", - "kms:ListKeyPolicies", - "kms:ListKeys", - "kms:ListResourceTags", - "kms:DescribeKey", - "kms:GetKeyPolicy", - "kms:GetKeyRotationStatus", - "kms:GetParametersForImport", - "kms:GetPublicKey", - "kms:TagResource", - "kms:UntagResource", - "kms:CancelKeyDeletion", - "kms:CreateAlias", - "kms:CreateKey", - "kms:DeleteAlias", - "kms:DeleteImportedKeyMaterial", - "kms:DisableKey", - "kms:DisableKeyRotation", - "kms:EnableKey", - "kms:EnableKeyRotation", - "kms:ImportKeyMaterial", - "kms:ScheduleKeyDeletion", - "kms:UpdateAlias", - "kms:UpdateKeyDescription", - "kms:PutKeyPolicy", - "iam:ListGroups", - "iam:ListRoles", - "iam:ListUsers", - "logs:DescribeLogGroups", - "logs:FilterLogEvents", - "ec2:DescribeRegions" - ], - "Resource": "*" - } - ] -} -``` - -Create security credentials for the user you just gave permissions to. More information on how to get security credentials of an IAM user [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). - -### Step 2 - Setup CipherTrust <-> AWS connection -Now in CipherTrust Manager. Go to "Access Management -> Connections -> + New Connection". Click on the button to create a new connection. - -Select the `AWS` option in the given choices. -![AWS CipherTrust Connection](./img/connection-aws-setup.png) - -Add your security credentials in to the form and click on `Test Connection` to make sure the credentials provided work. -![Add AWS Credentials in](./img/setup-iam-creds.png) - - -### Step 3 - Create keys using new CipherTrust connection -Under the add products section select the `Cloud Key Manager` option to enable CipherTrust Cloud Key Manager features to apply to your new connection. -![Cloud Key Manager Location Information](./img/select-cckm-click.png) - -Under the `containers` tab on the left panel, click on the `AWS Accounts` button and add a new `AWS Account`. Now select the AWS connection we just created in the drop down and select the regions you want this key to be accessible. -![Add CCKM AWS Account](./img/add-cckm-aws-account-options.png) - -You should have successfully added your KMS account to CipherTrust! - -Now, head over to `Cloud Keys` -> `AWS` to create a new key. Click on create key and walk through the options to create the type of key you need for your use-case. \ -Once you've successfully created the key, you should see a screen similar to this. -![CCKM AWS success key creation image](./img/success-key-creation-aws-cckm.png) - -That's it, now you can use this newly created key in any AWS services. - -### (Optional) Step 4 - Encrypt AWS S3 bucket with the keys from CipherTrust -When you create a new AWS S3 bucket on the AWS console, under `Encryption` configuration, you should see the new key we just created on CipherTrust -![Select Encryption Key AWS S3](./img/s3-select-encryption-key.png) - -That's it, now every file uploaded to the newly created S3 bucket will be encrypted with our key managed on CipherTrust Manager. - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/key-manager/build-a-totp-tutorial.mdx b/ciphertrust/docs/key-manager/build-a-totp-tutorial.mdx deleted file mode 100644 index 0fd9eed..0000000 --- a/ciphertrust/docs/key-manager/build-a-totp-tutorial.mdx +++ /dev/null @@ -1,142 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Build a TOTP service - -Use the top-notch security that CipherTrust Manager provides to build a time-based OTP service for your users' multi-factor authentication. - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; - - - -Time-based OTPs are a popular version of multi-factor authentication (MFA) used in many services today. The concept of generating them is simple, yet a single blunder could risk all your user's accounts. - -## How do Time-based OTPs work? -![Source Twilio.com](https://assets.cdn.prod.twilio.com/images/totp-diagram_Cw3JZsA.width-800.png) -Image Source: twilio.com - -Time-based OTP's work on a simple concept. When a users sets it up, the device (such as Google Authenticator, Authy, etc) and the server share a secret key. The key is then hashed with the time and the same code can be generated on the server and the user's client device. - -### Single Point of Failiure -If a bad actor gains access to the servers or databases where you store all the secret keys used to generate the OTPs, now all your users accounts could get compromised! - -### How do we fix this 👉 Use a KEY MANAGER -Key Managers like the [CipherTrust Platform](https://ciphertrust.io/) are designed to store cryptographic keys very securely. This demo is an example where I use the CipherTrust platform to store keys and generate time based OTP codes. - -## Quick Start -This tutorial assumes that you've already setup the CipherTrust Platform. If not, check out our other [step-by-step tutorials](../category/deploy-ciphertrust-platform) that show you how to deploy CipherTrust. -### Step 1 - Clone the demo -Clone the demo project from the learn-ciphertrust repository -```bash title="Terminal" -git clone https://github.com/ThalesGroup/learn-ciphertrust.git && cd learn-ciphertrust/learn/key-management/totp-demo/ -``` - -### Step 2 - Install the required packages -The important packages that are necessary for this demo: -- `jsonwebtoken` - helps authenticate with the CipherTrust Platform's APIs. -- `otplib` - JavaScript implementation of the cryptographic timebased-otp standard (AKA - the library that calculates the one time code for the next 30 secs) -```bash title="Terminal" -npm install -``` - -### Step 3 - Configure your CipherTrust credentials in the .env file -```bash title="Terminal" -cp .env.example .env -``` -Now update the `.env` file with your CipherTrust credentials. - -### Step 3 - Run dev server -Spin up the demo -```bash title="Terminal" -npm run dev -``` - -## Breaking down the demo -Now that you've got the demo setup and played around with it, let's understand how it works. The demo application involves 3 important code-blocks. - - -### Autheticating with CipherTrust Platform's APIs -Create a JWT (JSON Web Token) to be able to authenticate and communicate with the CipherTrust Platform's APIs. - -```js title="./src/utils/create-jwt.js" -import axios from "axios"; - -// `createJWT` is a helper function that creates a JWT. -// This function must only called on the server. -// If you call it on the client-side you will expose your username and password in every request. DO NOT DO THIS. Just use it in a server-side API call. -async function createJWT() { - const response = await axios.post( - `${process.env.CTM_URL}/api/v1/auth/tokens`, - { - username: process.env.CTM_USERNAME, - password: process.env.CTM_PASSWORD, - } - ).catch(err => { - console.error(err); - res.status(502).send(err.toString()); - }); - - const token = response.data.jwt; - - return token -} - -export default createJWT; -``` - -:::info - -Remember to replace `process.env.CTM_USERNAME` and `process.env.CTM_PASSWORD` with your CipherTrust Manager username and password or update it in your the `.env` file - -::: - -### Creating and Exporting Cryptographic keys -To initiate the time-based OTP setup, a symmetric key (such as AES256) would be needed, so over here, we create and export a new key on the CipherTrust Platform using the API. -```js title="./src/utils/create-jwt.js" -import axios from 'axios'; - -async function createKey(keyname, jwt) { - // /api/create-key-proxy rewrites to https:///api/v1/vault/keys2 - // This is done to avoid CORS errors thrown by the browser in the client side. - const response = await axios.post( - `/api/create-key-proxy`, - { - "name": keyname, - "algorithm": "aes", - }, - { - headers: { - "Authorization": `Bearer ${jwt}` - } - } - ).catch(err => { - console.error("Error creating key: ", err); - return false - }) - - // Export key from CipherTrust Manager - // /api/export-key-proxy/ rewrites to https:///api/v1/vault/keys2//export - // This is done to avoid CORS errors thrown by the browser in the client side. - const exportResponse = await axios.post( - `/api/export-key-proxy/${keyname}`, - {}, - { - headers: { - "Authorization": `Bearer ${jwt}` - } - } - ).catch(err => { - console.error("Error exporting key: ", err); - return false; - }) - - return exportResponse.data.material; - - -} - -export { createKey }; -``` - -Then we load that key into a QR code using the `otplib` library. Now we have finished setting up a TOTP service using the secure CipherTrust platform as our key manager. \ No newline at end of file diff --git a/ciphertrust/docs/key-manager/cs-object-storage.mdx b/ciphertrust/docs/key-manager/cs-object-storage.mdx deleted file mode 100644 index b44c9fe..0000000 --- a/ciphertrust/docs/key-manager/cs-object-storage.mdx +++ /dev/null @@ -1,95 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Client Side Object Storage Encryption for S3 - -Encrypt your files on the client side before sending them to your S3 buckets with just 3 blocks of code. - -import YoutubeEmbed from '@site/src/components/YoutubeEmbed'; -import GroupButtons from '@site/src/components/VideoButtons/GroupButtons'; - - - - -## Step 1: Authenticate with CipherTrust Manager -```jsx title="/api/get-jwt.js" -// `createJWT` is a helper function that creates a JWT. -// This function must only called on the server. -// If you call it on the client-side you will expose your username and password in every request. DO NOT DO THIS. Just use it in a server-side API call. -async function createJWT() { - const response = await axios.post( - `${process.env.CTM_URL}/api/v1/auth/tokens`, - { - username: process.env.CTM_USERNAME, // Add CipherTrust manager username to environment - password: process.env.CTM_PASSWORD, // Add CipherTrust manager password to environment - } - ).catch(err => { - console.error(err); - // res.status(502).send(err.toString()); - }); - - const token = response.data.jwt; - - return token -} -``` - -:::info - -Remember to replace `process.env.CTM_USERNAME` and `process.env.CTM_PASSWORD` with your CipherTrust Manager username and password. - -::: - -## Step 2: Encrypt Data using CipherTrust Manager API - -```jsx title="/api/encrypt.js" -async function encryptData(file, jwt) { - const fileBase64 = (await getBase64(file)).split(",")[1]; - const cipherText = await axios.post( - // We are using an encrypt proxy because calling the API from the browser will cause a CORS error. The encrypt proxy will point your API request to the Ciphertrust manager Crypto API. - `/api/encrypt-proxy`, { - id: "s3-encrypt-symmetric-key", - plaintext: fileBase64, - add: "YXV0aGVudGljYXRl" - }, { - // Pass the JWT as a Bearer token. - headers: { - Authorization: `Bearer ${jwt}` - } - }).catch(err => { - console.error(err); - res.status(502).send(err.toString()); - }); - - return cipherText.data; -} -``` - -*Now you can upload this cipher text to AWS S3, Azure Blob Storage or any other object storage.* - -## Step 3: Decrypt Data -```jsx title="/api/decrypt.js" -async function decryptData(encryptedData, jwt) { - const plainText = await axios.post( - `/api/decrypt-proxy`, { - ...encryptedData, - add: "YXV0aGVudGljYXRl" - }, { - // Pass the JWT as a Bearer token. - headers: { - Authorization: `Bearer ${jwt}` - } - }).catch(err => { - console.error(err); - }); - - - return plainText.data; -} -``` - - -import TutorialFooter from '@site/src/components/TutorialFooter'; - - \ No newline at end of file diff --git a/ciphertrust/docs/key-manager/demos/_category_.json b/ciphertrust/docs/key-manager/demos/_category_.json deleted file mode 100644 index 893311a..0000000 --- a/ciphertrust/docs/key-manager/demos/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Demos", - "position": 5, - "link": { - "type": "generated-index" - } -} diff --git a/ciphertrust/docs/key-manager/img/add-cckm-aws-account-options.png b/ciphertrust/docs/key-manager/img/add-cckm-aws-account-options.png deleted file mode 100644 index 3369f3d..0000000 Binary files a/ciphertrust/docs/key-manager/img/add-cckm-aws-account-options.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/connection-aws-setup.png b/ciphertrust/docs/key-manager/img/connection-aws-setup.png deleted file mode 100644 index 4270ee6..0000000 Binary files a/ciphertrust/docs/key-manager/img/connection-aws-setup.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/s3-select-encryption-key.png b/ciphertrust/docs/key-manager/img/s3-select-encryption-key.png deleted file mode 100644 index 1623666..0000000 Binary files a/ciphertrust/docs/key-manager/img/s3-select-encryption-key.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/select-cckm-click.png b/ciphertrust/docs/key-manager/img/select-cckm-click.png deleted file mode 100644 index 502c69b..0000000 Binary files a/ciphertrust/docs/key-manager/img/select-cckm-click.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/select-user-aws-iam.png b/ciphertrust/docs/key-manager/img/select-user-aws-iam.png deleted file mode 100644 index 50cc875..0000000 Binary files a/ciphertrust/docs/key-manager/img/select-user-aws-iam.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/setup-iam-creds.png b/ciphertrust/docs/key-manager/img/setup-iam-creds.png deleted file mode 100644 index 5969b29..0000000 Binary files a/ciphertrust/docs/key-manager/img/setup-iam-creds.png and /dev/null differ diff --git a/ciphertrust/docs/key-manager/img/success-key-creation-aws-cckm.png b/ciphertrust/docs/key-manager/img/success-key-creation-aws-cckm.png deleted file mode 100644 index df53ca5..0000000 Binary files a/ciphertrust/docs/key-manager/img/success-key-creation-aws-cckm.png and /dev/null differ diff --git a/ciphertrust/docusaurus.config.js b/ciphertrust/docusaurus.config.js deleted file mode 100644 index e52e894..0000000 --- a/ciphertrust/docusaurus.config.js +++ /dev/null @@ -1,153 +0,0 @@ -// @ts-check -// Note: type annotations allow type checking and IDEs autocompletion - -const lightCodeTheme = require('prism-react-renderer/themes/github'); -const darkCodeTheme = require('prism-react-renderer/themes/dracula'); - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: 'CipherTrust Learn', - tagline: 'Data Protection in Minutes', - url: 'https://thalesgroup.github.io', - baseUrl: '/ciphertrust/', - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', - favicon: 'img/favicon.ico', - - // GitHub pages deployment config. - // If you aren't using GitHub pages, you don't need these. - organizationName: 'ThalesGroup', // Usually your GitHub org/user name. - projectName: 'ThalesGroup.github.io', // Usually your repo name. - - // Even if you don't use internalization, you can use this field to set useful - // metadata like html lang. For example, if your site is Chinese, you may want - // to replace "en" with "zh-Hans". - i18n: { - defaultLocale: 'en', - locales: ['en'], - }, - - presets: [ - [ - 'classic', - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - sidebarPath: require.resolve('./sidebars.js'), - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - `https://github.com/thalesgroup/ThalesGroup.github.io/tree/main/ciphertrust/`, - }, - blog: { - showReadingTime: true, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - `https://github.com/thalesgroup/ThalesGroup.github.io/tree/main/ciphertrust/`, - }, - theme: { - customCss: require.resolve('./src/css/custom.css'), - }, - }), - ], - ], - - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ - navbar: { - title: '', - logo: { - alt: 'Thales CPL Logo', - src: 'img/logo.png', - }, - items: [ - { - type: 'doc', - docId: 'intro', - position: 'left', - label: 'Tutorial', - }, - { to: '/blog', label: 'Blog', position: 'left' }, - { - href: 'https://github.com/thalesgroup/ThalesGroup.github.io/tree/main/ciphertrust/', - label: 'GitHub', - position: 'right', - }, - ], - }, - footer: { - style: 'dark', - links: [ - { - title: 'Docs', - items: [ - { - label: 'Tutorial', - to: '/docs/intro', - }, - ], - }, - { - title: 'Community', - items: [ - { - label: 'Community', - href: 'https://supportportal.thalesgroup.com/community', - }, - { - label: 'Twitter', - href: 'https://twitter.com/ThalesCloudSec', - }, - ], - }, - { - title: 'More', - items: [ - { - label: 'Blog', - to: '/blog', - }, - { - label: 'GitHub', - href: 'https://github.com/ThalesGroup', - }, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} Thales Group`, - }, - prism: { - // theme: lightCodeTheme, - theme: require('prism-react-renderer/themes/dracula'), - darkTheme: darkCodeTheme, - }, - }), - plugins: [ - async function myPlugin(context, options) { - return { - name: 'docusaurus-tailwindcss', - configurePostCss(postcssOptions) { - // Appends TailwindCSS and AutoPrefixer. - postcssOptions.plugins.push(require('tailwindcss')); - postcssOptions.plugins.push(require('autoprefixer')); - return postcssOptions; - }, - }; - }, - [ - '@docusaurus/plugin-client-redirects', - { - redirects: [ - { - to: '/docs/connectors/data-encryption-in-transit-docker', - from: '/docs/connectors/dpg', - }, - ] - }, - ], - ], -}; - -module.exports = config; diff --git a/ciphertrust/package.json b/ciphertrust/package.json deleted file mode 100644 index 2632024..0000000 --- a/ciphertrust/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "docusaurus", - "version": "0.0.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "dev": "docusaurus start" - }, - "dependencies": { - "@docusaurus/core": "^2.4.1", - "@docusaurus/plugin-client-redirects": "^2.4.1", - "@docusaurus/preset-classic": "^2.4.1", - "@mdx-js/react": "^1.6.22", - "autoprefixer": "^10.4.12", - "clsx": "^1.2.1", - "postcss": "^8.4.31", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-icons": "^4.6.0", - "react-player": "^2.11.0", - "tailwindcss": "^3.1.8" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^2.4.1" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "engines": { - "node": ">=16.14" - }, - "description": "Docusaurus example project" -} diff --git a/ciphertrust/sandbox.config.json b/ciphertrust/sandbox.config.json deleted file mode 100644 index d6a14e8..0000000 --- a/ciphertrust/sandbox.config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "infiniteLoopProtection": true, - "hardReloadOnChange": true, - "view": "browser", - "template": "docusaurus", - "node": "16", - "container": { - "node": "16" - } -} diff --git a/ciphertrust/sidebars.js b/ciphertrust/sidebars.js deleted file mode 100644 index 9ab54c2..0000000 --- a/ciphertrust/sidebars.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - // By default, Docusaurus generates a sidebar from the docs folder structure - tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], - - // But you can create a sidebar manually - /* - tutorialSidebar: [ - 'intro', - 'hello', - { - type: 'category', - label: 'Tutorial', - items: ['tutorial-basics/create-a-document'], - }, - ], - */ -}; - -module.exports = sidebars; diff --git a/ciphertrust/src/components/HomepageFeatures/index.js b/ciphertrust/src/components/HomepageFeatures/index.js deleted file mode 100644 index 056768e..0000000 --- a/ciphertrust/src/components/HomepageFeatures/index.js +++ /dev/null @@ -1,73 +0,0 @@ -import React from 'react'; -import clsx from 'clsx'; -import styles from './styles.module.css'; -import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; - -const FeatureList = [ - { - title: 'Data In-Transit (using Data Protection Gateway)', - Img: "img/screenshot-ciphertrust-manager-key-management.png", - description: ( - <> - Learn how CipherTrust with the Data Protection Gateway (DPG) connector can keep data in transit secure without the need to edit application source code. - - ), - }, - { - title: 'CipherTrust Transparent Encryption for Kubernetes (CTE for K8’s)', - Img: "img/screenshot-transparent-encyption1.png", - description: ( - <> - See how to quickly encrypt data on the client side and upload it to your favorite cloud storage provider without worrying about cloud key management solutions. - - ), - }, - { - title: 'Centralize Management of Keys and Policies', - Img: "img/screenshot-ciphertrust-manager-key-management.png", - description: ( - <> - Extend or customize your website layout by reusing React. Docusaurus can - be extended while reusing the same header and footer. - - ), - }, -]; - -function Feature({ Img, Svg, title, description }) { - const { siteConfig } = useDocusaurusContext(); - - return ( -
-
- {Img ? - - : - - } -
-
-

{title}

-

{description}

-
-
- ); -} - -export default function HomepageFeatures() { - return ( -
-
- -

- Tools Built to Reduce Drag on Velocity -

-
- {FeatureList.map((props, idx) => ( - - ))} -
-
-
- ); -} diff --git a/ciphertrust/src/components/HomepageFeatures/styles.module.css b/ciphertrust/src/components/HomepageFeatures/styles.module.css deleted file mode 100644 index b248eb2..0000000 --- a/ciphertrust/src/components/HomepageFeatures/styles.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureSvg { - height: 200px; - width: 200px; -} diff --git a/ciphertrust/src/components/StepProcess/index.js b/ciphertrust/src/components/StepProcess/index.js deleted file mode 100644 index 9cbb480..0000000 --- a/ciphertrust/src/components/StepProcess/index.js +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; -import clsx from 'clsx'; -import Link from '@docusaurus/Link'; - - -export default function StepProcessComponent() { - return ( -
-

- 3 Steps To Secure Data -

-
    -
  • -
    -
    - -
    -
    -
    -
    -

    Deploy on Any Cloud Provider

    - {/* */} -

    We have marketplace images and terraform configurations for AWS, Google Cloud Platform and Azure.

    - -
    -
  • -
  • -
    -
    - -
    -
    -
    -
    -

    Centralize Key Management

    - {/* */} -

    Use our extensive platform to store and centralize your key management.

    - -
    -
  • -
  • -
    -
    - -
    -
    -
    -
    -

    Integrate Connectors and Secure Data

    - {/* */} -

    Use our vast set of connectors to start securing your data seamlessly

    - -
    -
  • -
-
- ); -} \ No newline at end of file diff --git a/ciphertrust/src/components/TutorialFooter/index.js b/ciphertrust/src/components/TutorialFooter/index.js deleted file mode 100644 index 4ec42f2..0000000 --- a/ciphertrust/src/components/TutorialFooter/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; -import Link from '@docusaurus/Link'; - -export default function TutorialFooter() { - return ( - <> -
-

- For any questions or to request a tutorial check out our community forum. -

- - ); -} diff --git a/ciphertrust/src/components/VideoButtons/GithubButton.js b/ciphertrust/src/components/VideoButtons/GithubButton.js deleted file mode 100644 index 01f9efe..0000000 --- a/ciphertrust/src/components/VideoButtons/GithubButton.js +++ /dev/null @@ -1,17 +0,0 @@ - -import React from "react"; -import PropTypes from "prop-types"; -import {AiFillGithub} from "react-icons/ai" -import Link from "@docusaurus/Link"; - -const GithubButton = ({href}) => ( -
- - - -
-) - -export default GithubButton; diff --git a/ciphertrust/src/components/VideoButtons/GroupButtons.js b/ciphertrust/src/components/VideoButtons/GroupButtons.js deleted file mode 100644 index 2144b42..0000000 --- a/ciphertrust/src/components/VideoButtons/GroupButtons.js +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import GithubButton from "./GithubButton"; -import ViewDemoButton from "./ViewDemoButton"; - -const GroupButtons = ({href, demourl}) => ( -
- {href ? - - : <> } - {demourl ? - - : <>} -
-) - -GroupButtons.propTypes = { - href: PropTypes.string.isRequired, - demourl: PropTypes.string -}; - -export default GroupButtons; diff --git a/ciphertrust/src/components/VideoButtons/ViewDemoButton.js b/ciphertrust/src/components/VideoButtons/ViewDemoButton.js deleted file mode 100644 index 28f400d..0000000 --- a/ciphertrust/src/components/VideoButtons/ViewDemoButton.js +++ /dev/null @@ -1,17 +0,0 @@ - -import React from "react"; -import PropTypes from "prop-types"; -import {AiOutlineArrowRight} from "react-icons/ai" -import Link from "@docusaurus/Link"; - -const ViewDemoButton = ({href}) => ( -
- - - -
-) - -export default ViewDemoButton; diff --git a/ciphertrust/src/components/YoutubeEmbed.js b/ciphertrust/src/components/YoutubeEmbed.js deleted file mode 100644 index cd4d9ac..0000000 --- a/ciphertrust/src/components/YoutubeEmbed.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import PropTypes from "prop-types"; -import GroupButtons from "./VideoButtons/GroupButtons"; - -const YoutubeEmbed = ({ embedId, github, demourl }) => ( - <> -
-