Customer-managed keys (CMK) (2024)

Note: This functionality is not currently available for FedRAMP customers / government entities. Additionally, CMKis currently not offered as part of the Relativity PayGo model.

Customer Managed Keys (CMK) provide you with control over the keys used to encrypt data at rest in RelativityOne. This allows you to own and manage your own keys through third-party key management solutions. Customer Managed Keys enable you to maintain control over the encryption of persistent data within RelativityOne.

Business or contractual obligations may require periodic key rotation. If your Key Management Service (KMS) supports automated key rotation, leverage this feature. Otherwise, manually initiate the key rotation processes as needed.

The scope of the feature covers RelativityOne services that retain persistent data, which includes:

  • File
  • SQL
  • Audit
  • Analytics
  • Secret Store

Note: If you have any issues, please contact Relativity Support with “R1 – CMK – ” in the subject.

Adding a new CMK administrator

To add a new CMK administrator for your organization, you must submit a ticket requesting the new CMK administrator via the Customer Support form.

Note: The number of CMK administrators that can be created is limited to 10.

Once your new CMK administrator account is created, you will receive three emails:

  • Email from Relativity containing the following important values (which you will use when executing the supplied runbooks and PowerShell scripts) and instructions to follow.
    • AadTenantId
    • ApiHost
  • Invitation from Microsoft to create a guest user in the RelativityOne (Production) directory.

Getting started with CMK

To get started for the first time, perform the following tasks:

  • Create your account - follow the instructions in the email invitation from Microsoft to create a guest user in the RelativityOne (Production) directory. If you already have an Azure account, we recommend that you link the guest user to your existing account.
  • Generate service principal credentials - see Managing guest service principal keys.
  • Manage your root encryption key - Your program or HSM will authenticate as the service principal created in the previous step. When managing your key, you will use the AadTenantId and ApiHost values provided to you by Relativity in the introductory email. You can perform the following operations with your key:
    • Customer-managed keys (CMK) - when a customer changes a key, all new data is encrypted with that new key.
    • Customer-managed keys (CMK) – when disabling your RelativityOne instance.
    • Customer-managed keys (CMK) - when you ran Customer-managed keys (CMK) and want to recover your RelativityOne instance.

Note: To maintain the performance of RelativityOne during normal operations, a root encryption key is utilized only to encrypt a data encryption key, which in turn is used to encrypt data at rest within RelativityOne. The data encryption key that is currently in use is cached for up to one hour. In the event that you need to revoke this key, please be aware that it will take up to an hour for the revocation to take effect and RelativityOne may become unavailable during this time. Additionally, both Soft Delete and Do Not Purge features are enabled on the environment key vault, which means that you will have a 90-day window to restore a revoked key. It is important to note that Relativity staff will not be able to restore a key that you have deleted.

Managing guest service principal keys

Use this operation in the following situations:

  • On initial CMK setup.
  • When wanting to create additional guest service principal keys to access CMK.
  • When wanting to retrieve a list of ids, start dates, and end dates for service principal keys.
  • When wanting to revoke service principal keys.

  • Service principals are accounts for machines. It is recommended to use a set of unique credentials for each machine.
  • Authenticate as your guest user account when managing service principals.
  • The PowerShell scripts mentioned in the runbook are attached to the Relativityinvitation email.
  • Retrieving access tokens

    Retrieve an access token by executing Get-UserToken.ps1. A login prompt will pop up. By default, tokens expire one hour from the time they are retrieved.

    $token = .\Get-UserToken.ps1 -AadTenantId $AadTenantId

  • The parameter for the AadTenantId is located in the CMK invitation email sent to the principal administrator.
  • If a user has already logged in through Microsoft's login portal in the current PowerShell session (i.e., when running Connect-AzureAD or Connect-AzureRmAccount), then a login prompt will not display and the last logged in user will be used.
  • Get-UserToken uses AzureRm module version 5.7.0 and AzureAD module version 2.0.1.6. If a newer version of either module is already loaded in the current PowerShell session prior to running this script, errors may result.
  • Get guest service principal id

    To get a guest service principal id, please execute the following script:

    .\Get-UserToken.ps1 -AadTenantId $AadTenantId | .\Get-ClientId.ps1 -ApiHost $ApiHost

    Creating guest service principal secret

    To create a guest service principal key, call Create-Key.ps1 and enter the token retrieved in Retrieving access tokens. The key name that is passed in must be unique and no more than 16 characters long.

    .\Get-UserToken.ps1 -AadTenantId $AadTenantId | .\Create-Key.ps1 -ApiHost $ApiHost -keyName $KeyName

  • The key value is not stored.
  • The parameter for the ApiHost can also be found in the CMK invitation template email sent to the principal administrator.
  • Retrieving the key list

    To retrieve a list of keys for a guest service principal, call Get-Keys.ps1 and enter the token retrieved in Retrieving access tokens.

    .\Get-UserToken.ps1 -AadTenantId $AadTenantId | .\Get-Keys.ps1 -ApiHost $ApiHost

  • Only the start date, end date, keyName, and keyId are returned.
  • Key values are not stored and cannot be retrieved.
  • Revoking a key

    To remove a key for a guest service principal, call Remove-Key.ps1, entering in the token retrieved in Retrieving access tokens and specifying the keyId of the key that should be revoked.

    .\Get-UserToken.ps1 -AadTenantId $AadTenantId | .\Remove-Key.ps1 -ApiHost $ApiHost -KeyId $KeyId

    Key management operations

    There are three key management operations used to safely store data at rest. These operations include key rotation, pulling, and restoration. Each of these operations can be performed in a manual (basic) or automated (advanced) fashion.

    Key rotation

    Periodically replace the root encryption key to mitigate security risks. This process is typically initiated when the key exceeds its recommended lifespan (e.g., two years) or as mandated by security policies.

    Note: There is a CMK syncer automation account deployed to every subscription that runs on an interval of every 15 minutes and ensures the storage account is using the latest encryption key. All old data is re-encrypted when the data is accessed.

    Key pulling

    In cases of suspected data corruption or other critical security concerns, you can disable the RelativityOne instance by pulling the encryption key. This process introduces a 15-20 minute delay due to key caching.

    Key restoration

    To restore a RelativityOne instance after a key pull operation, initiate the key restoration process.

    Rotating the key (manual):

    1. Login to portal.azure.com as the user invited during setup.
    2. Click the Directory + Subscription icon on menu bar at the top of the page and select the Relativity Directory if not already selected.
    3. Navigate to the CMK key vault.
      1. Use the search bar at the top of the page. This can be done by:
        • Entering the key vault name. The matching key vault will show up under the Resources section of the result pane.
        • Entering the phrase "key vault". Then go to "Key Vaults" from the Services section.
      2. Alternately, navigate to the All Resources tab, and then filter for the CMK key vault by name. Note that now the list of the keys is empty.
    4. Select the Keys tab and select the data-at-rest-rsa2048 key.
    5. Select New Version.
    6. Set the default options:
      • Options = Generate
      • Key Type = RSA-HSM
      • RSA Key Size = 2048

    Note: Microsoft only supports the RSA 2048 key size for encryption at rest.

    1. Click Create to create a new version of the key.The new key version will show up under the Current Version section. The old key is currently in the Older Version section and it does not have the expiration date set.
    1. Select the old version, check Set expiration date, and set the expiration date of the old version to any time prior to the current time, and then click Save.
      • Note that the date is two years in advance.
      • Change the date as well as the time.
      • If you try to use the pop-up picker, you cannot type in the box.

  • DO NOT DISABLE THE OLD KEY VERSION.
  • The old key version is still in use, and disabling it right now will prevent RelativityOne from migrating to the new key version.
  • Disabling a key that is in use will crash your instance.
  • When you are done, portal's key list will look like this:

    Pulling the key (manual)

    1. Login to portal.azure.com as the user invited during setup.
    2. Click the Directory + Subscription icon on menu bar at the top of the page and select the Relativity Directory if not already selected.
    3. Navigate to the CMK key vault.
      1. Use the search bar at the top of the page. This can be done by:
        • Entering the key vault name. The matching key vault will show up under the Resources section of the result pane.
        • Entering the phrase "key vault". Then go to "Key Vaults" from the Services section.
      2. Alternately, navigate to the All Resources tab, and then filter for the CMK key vault by name. Note that now the list of the keys is empty.
    4. Select the Keys tab, and then select the data-at-rest-rsa2048 key.
    5. Click Delete to delete the key.

    Restoring the key (manual)

    1. Login to portal.azure.com as the user invited during setup.
    2. Click the Directory + Subscription icon on the menu bar at the top of the page and select the Relativity Directory if not already selected.
    3. Navigate to the CMK key vault.
      1. Use the search bar at the top of the page. You can find the CMK key vault by:
        • Entering the key vault name. The matching key vault will show up under the Resources section of the result pane.
        • Entering the phrase "key vault" and then going to "Key Vaults" from the Services section.
      2. Alternatively, navigate to the All Resources tab, and then filter for the CMK key vault by name. The list of the keys will be empty at this point.
    4. Select Manage deleted keys at the top of the list.
    5. On the right pane, you will see a list containing the previously deleted key vaults.

    6. Select the checkbox next to the deleted key name, and click Recover at the bottom of the pane.
    7. Click Refresh in the "Keys vaults" view. The data-at-rest-rsa2048 key should be on the list again.
    8. There may be a slight delay. If the key is not visible, wait several seconds and then click Refresh again.
    9. Select the key and you should see all the versions being restored.

    Rotating the key (programmatic):

    1. Connect to AzureRM as a service principal or as the user invited during setup using Connect-AzureRmAccount.
      • If connecting as a service principal, specify -TenantId $AadTenantId -SubscriptionId $SubscriptionId.
    2. Enter the following commands.
    3. $keyVault = (Get-AzureRmKeyVault)[0]$currentKey = Get-AzureKeyVaultKey -VaultName $keyVault.VaultName -Name data-at-rest-rsa2048Add-AzureKeyVaultKey -VaultName $keyVault.VaultName -Name $currentKey.Name -Destination HSMUpdate-AzureKeyVaultKey -VaultName $keyVault.VaultName -Name $currentKey.Name -Version $currentKey.Version -Expires (Get-Date).ToUniversalTime()

    Note: This command is not available in AzureRM 5.7.0. It is, however, available in AzureRM 6.13.0. If unable to run this command and unable to Import version 6.13.0, the old key can be expired manually by following step 8 of Rotating the key (manual):.

    Pulling the key (programmatic)

    • Connect to AzureRM as a service principal or as the user invited during setup using Connect-AzureRmAccount.

      Note: If connecting as a service principal, specify -TenantId $AadTenantId -SubscriptionId $SubscriptionId.

    • Enter the following commands.
    $keyVault = (Get-AzureRmKeyVault)[0]
    Remove-AzureKeyVaultKey -VaultName $keyVault.VaultName -Name data-at-rest-rsa2048

    Restoring the key (programmatic)

    To restore the key:

    • Connect to AzureRM as a service principal or as the user invited during setup using Connect-AzureRmAccount.

      Note: If connecting as a service principal, specify -TenantId $AadTenantId -SubscriptionId $SubscriptionId.

    • Enter the following commands.
    $keyVault = (Get-AzureRmKeyVault)[0]
    Undo-AzureKeyVaultKeyRemoval -VaultName $keyVault.VaultName -Name data-at-rest-rsa2048

    Security Logs API

    Programmatic access to logging around CMK operations is provided upon request. This API service provides transparency into users who have access to your keys and auditing of key CMK operations.

    If you need access to CMK security logs, please submit a request via the Customer Support form and include "CMK-Security Log" in the description.

    Customer-managed keys (CMK) (2024)

    FAQs

    What is customer managed CMK? ›

    Customer Managed Keys, or CMK, is a cloud architecture that gives customers ownership of the encryption keys that protect some or all of their data stored in SaaS applications. It is per-tenant encryption where your customers can independently monitor usage of their data and revoke all access to it if desired.

    What is customer master key cmk? ›

    Customer master keys are logical representations of a master key. They are the primary resources in AWS KMS. The CMK contains the key material used to encrypt and decrypt data. It also contains metadata such as the key ID, creation date, description, and key state.

    What is the difference between Google managed keys and customer managed keys? ›

    Like Google's default encryption, CMEK is server-side, symmetric, envelope encryption of customer data. The difference from Google's default encryption is that CMEK protection uses a key that a customer controls. CMEK keys created manually or automatically using Autokey operate the same way during service integration.

    Are customer managed keys more secure? ›

    For highly sensitive data, many commonly used Azure services allow customers to implement double encryption using Customer-Managed Keys (CMK). Implementing customer managed keys in Azure services can help customers protect the data that is stored in those services from unauthorized access.

    What does CMK mean security? ›

    Customer Managed Keys, or CMK, goes by a few different names. Sometimes called Bring Your Own Key (BYOK), Enterprise Key Management (EKM), or Bring Your Own Encryption (BYOE), CMK is an architectural pattern that allows you to use your own Key Management Server (KMS) to manage the security of your sensitive data.

    What is the difference between AWS managed keys and customer managed keys? ›

    Customer keys and AWS keys. The KMS keys that you create are customer managed keys. AWS services that use KMS keys to encrypt your service resources often create keys for you. KMS keys that AWS services create in your AWS account are AWS managed keys.

    What is the difference between data key and customer master key? ›

    A master key, also called a Customer Master Key or CMK, is created and used to generate a data key. The data key is then used to encrypt a disk file. The encrypted data key is stored within the encrypted file. To decrypt the file, the data key is decrypted and then used to decrypt the rest of the file.

    What is an example of a master key? ›

    A master key is a key that opens several different locks, related in some way, within a master key system. For example, an elementary school may have a master key which will open all classroom doors. Classroom doors would each also be opened by a key which would only open that one classroom door.

    Where is CMK stored? ›

    CMK encryption depends on Azure Key Vault. You can create your own encryption keys and store them in a key vault, or you can use Azure Key Vault APIs to generate encryption keys. Azure Key Vault must be in the same subscription and tenant as Azure AI Search.

    Why use CMKs? ›

    However, some organizations may require more control over their encryption keys, and for that, they can use CMK. CMK provides an added layer of security as the customer has complete control over the keys. The keys are not visible or accessible to anyone else, and the customer is responsible for managing them.

    What is the difference between bring your own key and customer managed key? ›

    Keys stored in a customer-owned key vault or hardware security module (HSM) are CMKs. Bring Your Own Key (BYOK) is a CMK scenario in which a customer imports (brings) keys from an outside storage location into an Azure key management service (see the Azure Key Vault: Bring your own key specification).

    When to use CMEK? ›

    CMEK can be used to protect data at rest in a wide range of GCP services, helping to ensure that sensitive data remains confidential and secure. Ex. Google compute disks, Google cloud storage, BigQuery,Cloud SQL,Cloud Spanner ,GKE etc.

    What are the limitations of CMEK? ›

    Limitations. Analytics is disabled for agents with CMEK enabled. Data store agents don't support key rotation. Dialogflow CX agents without data stores do support key rotation whereby new data is encrypted with the new key version.

    Which storage can use customer managed keys? ›

    Azure Storage wraps the account encryption key with the customer-managed key in Azure Key Vault. For read/write operations, Azure Storage sends requests to Azure Key Vault to unwrap the account encryption key to perform encryption and decryption operations.

    What can you control with the customer managed key feature? ›

    Customer-managed key overview

    You can encrypt data using your own key in Azure Key Vault, for control over the key lifecycle, and ability to revoke access to your data.

    What does CMK mean in AWS? ›

    If you decide to use a Customer Managed Key (CMK), or if your default Amazon EBS encryption key is a CMK, you will need to add additional permissions to the key to allow AWS Application Migration Service (AWS MGN) to use it.

    What is CMK in marketing? ›

    Consumer & Market Knowledge. P&G Function Introduction. Consumer & Market Knowledge. CMK's Aspiration in Support of P&G's Vision. CMK is the voice of the world's consumers and shoppers, articulating their needs and dreams to profitably grow the brands they love.

    What is the difference between CMK and PMK? ›

    Overall, CMK provides greater control, compliance flexibility, and tailored security compared to PMK, making it ideal for robust encryption strategies.

    What is the difference between CMK and AMK? ›

    From a cryptographic perspective, both CMK and AMK are used to encrypt data and objects in the same way and provide the same level of encryption. The primary difference is who manages the keys and has access to them.

    Top Articles
    Assessing mental capacity - The MDU
    Find your reviews as a guest or Host
    Frases para un bendecido domingo: llena tu día con palabras de gratitud y esperanza - Blogfrases
    Exclusive: Baby Alien Fan Bus Leaked - Get the Inside Scoop! - Nick Lachey
    Le Blanc Los Cabos - Los Cabos – Le Blanc Spa Resort Adults-Only All Inclusive
    Gabrielle Abbate Obituary
    Parks in Wien gesperrt
    Corporate Homepage | Publix Super Markets
    Jessica Renee Johnson Update 2023
    DIN 41612 - FCI - PDF Catalogs | Technical Documentation
    DoorDash, Inc. (DASH) Stock Price, Quote & News - Stock Analysis
    Fool’s Paradise movie review (2023) | Roger Ebert
    Craigslist Free Stuff Santa Cruz
    Idaho Harvest Statistics
    Charter Spectrum Store
    Roof Top Snipers Unblocked
    Army Oubs
    Daylight Matt And Kim Lyrics
    Persona 5 Royal Fusion Calculator (Fusion list with guide)
    Popular Chinese Restaurant in Rome Closing After 37 Years
    Understanding Gestalt Principles: Definition and Examples
    Essence Healthcare Otc 2023 Catalog
    Devotion Showtimes Near Regency Buenaventura 6
    Strange World Showtimes Near Savoy 16
    Snohomish Hairmasters
    2023 Ford Bronco Raptor for sale - Dallas, TX - craigslist
    Maine Racer Swap And Sell
    Combies Overlijden no. 02, Stempels: 2 teksten + 1 tag/label & Stansen: 3 tags/labels.
    Kaliii - Area Codes Lyrics
    Helpers Needed At Once Bug Fables
    Ff14 Sage Stat Priority
    The value of R in SI units is _____?
    "Pure Onyx" by xxoom from Patreon | Kemono
    Hattie Bartons Brownie Recipe
    Suspect may have staked out Trump's golf course for 12 hours before the apparent assassination attempt
    RUB MASSAGE AUSTIN
    How Much Is Mink V3
    Crystal Mcbooty
    Frank 26 Forum
    Mars Petcare 2037 American Italian Way Columbia Sc
    Firestone Batteries Prices
    Cocorahs South Dakota
    John Wick: Kapitel 4 (2023)
    Menu Forest Lake – The Grillium Restaurant
    Mega Millions Lottery - Winning Numbers & Results
    Www.homedepot .Com
    Smoke From Street Outlaws Net Worth
    Tanger Outlets Sevierville Directory Map
    28 Mm Zwart Spaanplaat Gemelamineerd (U999 ST9 Matte | RAL9005) Op Maat | Zagen Op Mm + ABS Kantenband
    Latest Posts
    Article information

    Author: Madonna Wisozk

    Last Updated:

    Views: 5859

    Rating: 4.8 / 5 (48 voted)

    Reviews: 87% of readers found this page helpful

    Author information

    Name: Madonna Wisozk

    Birthday: 2001-02-23

    Address: 656 Gerhold Summit, Sidneyberg, FL 78179-2512

    Phone: +6742282696652

    Job: Customer Banking Liaison

    Hobby: Flower arranging, Yo-yoing, Tai chi, Rowing, Macrame, Urban exploration, Knife making

    Introduction: My name is Madonna Wisozk, I am a attractive, healthy, thoughtful, faithful, open, vivacious, zany person who loves writing and wants to share my knowledge and understanding with you.