Skip to main content

We've Moved!

Product Documentation has moved to docs.hitachivantara.com
Hitachi Vantara Knowledge

Security

The System Management application supports configuring system security features, including user authentication.

Granting access to users

These are the general steps you need to take to grant users access to the system:

  1. Add one or more identity providers to the system.
  2. Add one or more groups from your identity providers to the system.
  3. Create a role that contains the system permissions you want to associate with a group of users.
  4. Associate roles with groups.

Setting the session timeout limit

You can use the Admin App, CLI commands, or REST API methods to set the system session timeout limit. This limit affects user sessions in all applications that your system runs and also affects the length of time that REST API authorization tokens are valid.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Settings tab, type a number of minutes in the Session Timeout field.

  4. Click Update.

Related CLI commands

editSecuritySettings

Related REST API methods

PUT /security/settings

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Setting the refresh token timeout limit

You can use the Admin App, CLI commands, or REST API methods to set the refresh token timeout limit. The refresh token timeout limit must be greater than the session timeout limit so that if the access token expires, the refresh token will still be active and you can request a new session token. When your refresh token expires, you will need to resubmit your credentials to access your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Settings tab, type a number of minutes in the Refresh Token Timeout field.

  4. Click Update.

Related CLI commands

editSecuritySettings

Related REST API methods

PUT /security/settings

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Setting the CORS Allowed Origins

You can use the Admin App, CLI commands, or REST API methods to set CORS (cross-origin resource sharing) origins that are allowed on your system. Specifying multiple origins allows you to access restricted resources.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Settings tab, type a list of origins in the CORS Allowed Origins field.

  4. Click Update.

Related CLI commands

editSecuritySettings

Related REST API methods

PUT /security/settings

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Identity providers

The system supports these identity provider types for user authentication:

  • Active Directory (AD)
  • OpenLDAP
  • 389 Directory Server
  • LDAP Compatible: Other LDAP-compatible identity providers not listed above

To use one of these systems to authenticate users with your system, you need to first add your identity provider to the system.

Adding identity providers

Admin App instructions

Procedure

  1. Select the Configuration window.

  2. Click Security.

  3. On the Identity Providers tab, click Create.

  4. Select and configure an identity provider type.

  5. Click Create.

Related CLI commands

createIdentityProvider

Related REST API methods

POST /security/identityProviders

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Identity provider configuration settings

The following sections describe the configuration settings for each type of identity provider that the system supports.

All types

Security Realm Name - The name by which to identify this identity provider in the system. The name appears as an option in the Security Realm list on Admin App login pages.

TipTo ensure that users can easily log into the system, pick security realm names that users will recognize and understand.
Active Directory
  • Identity Provider Hostname - Host name or IP address for the identity provider.
  • Transport Security - The protocol to use for securing communications between the system and the identity provider. Options are:
    • None
    • TLS Security (Transport Layer Security)
      • Use Suffix For Hostname Verification - When enabled, if the client host name doesn’t match the certificate host name, host name verification will instead verify whether the ending of the client host name matches the provided suffix.
        WARNINGThis option can impact security and should only be enabled if the client host name is expected to differ from the certificate host name.
      • Hostname Suffix - The suffix used for host name verification if the default host name verification fails.
    • SSL (Secure Sockets Layer)
    NoteWhen selecting TLS Security, the setting Use Suffix For Hostname Verification appears.
  • Identity Provider Host Port - Network port used to communicate with the identity provider. The default value depends on the Transport Security setting:
    • For None or TLS Security (Transport Layer Security), 389
    • For SSL (Secure Sockets Layer), 636
  • User Name - A user account on the identity provider. The system uses this user account to read information from the identity provider.
  • Password - The user account password.
  • Domain - The AD domain in which the user account is defined.
    NoteUse the short name for the AD domain. For example, use MYACTIVEDIRECTORY instead of MYACTIVEDIRECTORY.local.
  • Search Base DN - The distinguished name (DN) of the identity provider location where you want the system to begin its searches for users and groups.

    For example, if you specify a value of OU=Users,DC=corp,DC=example,DC=com, the system searches for users and groups in the organization unit called Users in the corp.example.com domain.

  • Default Domain Name - The default domain for users logging into the Admin App and Search App. For example, if you specify a default domain name of east.example.com, the user jdoe@east.example.comneeds to specify only jdoe when logging into either app.
LDAP Compatible
  • Identity Provider Hostname - Host name or IP address for the identity provider.
  • Transport Security - The protocol to use for securing communications between the system and the identity provider. Options are:
    • None
    • TLS Security (Transport Layer Security)
      • Use Suffix For Hostname Verification - When enabled, if the client host name doesn’t match the certificate host name, host name verification verifies whether the ending of the client host name matches the provided suffix.
        CautionThis option can impact security and should only be enabled if the client host name is expected to differ from the certificate host name.
      • Hostname Suffix - The suffix used for host name verification if the default host name verification fails.
    • SSL (Secure Sockets Layer)
  • Identity Provider Host Port - Network port used to communicate with the identity provider. The default value depends on the Transport Security setting:
    • For None or TLS Security (Transport Layer Security), 389
    • For SSL (Secure Sockets Layer), 636
  • User Name - A user account on the identity provider. Your system uses this account to read information from the identity provider.
  • Password - The user account password.
  • User DN Template - A template on the LDAP server. When a user logs into their system, the provided username is inserted into this template to determine the user's LDAP distinguished name (DN).
  • Unique ID - The unique identifier of this user on this identity provider (for example, an entryUUID).
  • Member Name Attribute - The name of the attribute that each group on the identity provider uses to list its members.
  • Search Base DN - The distinguished name (DN) of the identity provider location where you want the system to begin searching for users and groups.

    For example, if you specify a value of OU=Users,DC=corp,DC=example,DC=com, the system searches for users and groups in the organization unit called Users in the corp.example.com domain.

  • Group Object Class - The objectClass value for groups on the LDAP server.
OpenLDAP and 389 Directory Server
  • Identity Provider Hostname - Host name or IP address for the identity provider.
  • Transport Security - The protocol to use for securing communications between the system and the identity provider. Options are:
    • None
    • TLS Security (Transport Layer Security)
      • Use Suffix For Hostname Verification - When enabled, if the client host name doesn’t match the certificate host name, host name verification verifies whether the ending of the client host name matches the provided suffix.
        WARNINGThis option can impact security and should only be enabled if the client host name is expected to differ from the certificate host name.
      • Hostname Suffix - The suffix used for host name verification if the default host name verification fails.
    • SSL (Secure Sockets Layer)
  • Identity Provider Host Port - Network port used to communicate with the identity provider. The default value depends on the Transport Security setting:
    • For None or TLS Security (Transport Layer Security), 389
    • For SSL (Secure Sockets Layer), 636
  • User Name - The distinguished name of the user or role, used by HCP for cloud scale to query the identity provider.
  • Password - The user account password.
  • User DN Template - A template on the LDAP server. When a user logs into their system, the provided username is inserted into this template to determine the user's LDAP distinguished name (DN).
  • Unique ID - The unique identifier of this user on this identity provider (for example, an entryUUID).
  • Member Name Attribute - The name of the attribute that each group on the identity provider uses to list its members.
  • Search Base DN - The distinguished name (DN) of the identity provider location where you want the system to begin searching for users and groups.

    For example, if you specify a value of OU=Users,DC=corp,DC=example,DC=com, the system searches for users and groups in the organization unit called Users in the corp.example.com domain.

User information caching

The system caches the following information from each of your identity providers:

  • The names of users who access the system.
  • The groups that each user belongs to.

As long as this information is in the system's cache, your users can perform any activities for which they have permissions, without the system needing to reconnect to the identity provider.

LDAP user information remains in the cache for four hours.

Clearing the cache

Any changes that you make on the identity provider are not reflected in the system until the information is removed from the cache. For example, if you add a user to an LDAP identity provider, that user cannot access the system for up to four hours, or until the cache is cleared. If you delete a user from an LDAP identity provider, that user will be able to access the system for up to four hours, or until the cache is cleared.

To ensure that a change is reflected immediately, use the clearCache command or API.

Related CLI commands

clearCache

Related REST API methods

POST /security/clearCache

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Viewing identity providers

You can use the Admin App, CLI commands, or REST API methods to view the identity providers that have been added to your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Identity Providers tab.

Related CLI commands

getIdentityProvider

listIdentityProviders

Related REST API methods

GET /security/identityProviders/{uuid}

GET /security/identityProviders

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Deleting identity providers

When you delete an identity provider from your system, all users from that provider lose access to the system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Identity Providers tab, click the delete icon (The delete icon resembles a stylized trash can) for the server you want to remove.

Related CLI commands

deleteIdentityProvider

Related REST API methods

DELETE /security/identityProviders/{uuid}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Groups

To allow user access to your system, you need to add groups to your system. These groups are defined on your organization's identity providers. After you add a group to your system, you can specify what roles its members have.

Adding groups

You use the Admin App, CLI commands, or REST API methods to add groups from your identity providers to your system.

NoteOnly groups with the attribute objectClass=groupOfNames are supported.
Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Groups tab, click Create.

  4. Select an identity provider and type a string on which to query the identity provider for groups.

  5. Click Discover Groups.

  6. Click Continue.

  7. Select one or more roles to associate with the group.

  8. Click Create.

Related CLI commands

createGroup

Related REST API methods

POST /security/groups

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Viewing groups

You use the Admin App, CLI commands, or REST API methods to view all the groups that have been created for your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Groups tab.

Related CLI commands

getGroup

listGroups

Related REST API methods

GET /security/groups/{uuid}

GET /security/groups

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Assigning roles to groups

You use the Admin App, CLI commands, or REST API methods to assign roles to the groups that you've added your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Groups tab, select the group you want to edit.

  4. On the Roles tab, select one or more roles to enable for the group.

  5. Click Update.

Related CLI commands

editGroup

Related REST API methods

PUT /security/groups/{uuid}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Deleting groups

When you delete a group, all users in the group lose access to your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Groups tab.

  4. Click the delete icon (The delete icon resembles a stylized trash can) for the group you want to remove.

Related CLI commands

deleteGroup

Related REST API methods

DELETE /security/groups/{uuid}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Roles

Roles determine what actions a group of users can perform. You create your own roles, each of which can grant permission to perform any combination of actions.

Creating roles

You can use the Admin App, CLI commands, or REST API methods to create roles and select which permissions the roles contain.

About permissions

Each permission in a role grants a user the ability to perform an action in some area of the system. For example, the admin:services:read permission grants the ability to view services through the Admin App.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. On the Roles tab, click Create.

  4. Specify a name and, optionally, a description for the role.

  5. Use the Individual and Wildcard tabs to edit the permissions for the role.

    On the Individual tab, you can enable individual permissions or categories of permissions:
    • Select a category of permissions and select one or more individual permissions within the category.

      For example, with the permissions selected in this image, a user can read, create, and update certificates, but cannot delete them.

      The Certificates permissions group with the permissions workflow:certificates:create, workflow:certificates:read, and workflow:certificates:update selected

    • On the Wildcard tab, you can enable permissions for multiple categories at the same time. To do this:
      1. Click Add Permission.
      2. Use the menus to select a category of permissions.
      3. Leave the last menu set to the wildcard character (*).
  6. Click Create.

  7. Click Update.

Related CLI commands

createRole

Related REST API methods

POST /security/roles

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Viewing roles

You can use the Admin App, CLI commands, or REST API methods to view all the roles that have been created for your system.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Roles tab.

Related CLI commands

getRole

listRoles

Related REST API methods

GET /security/roles/{uuid}

GET /security/roles

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Editing roles

You can use the Admin App, CLI commands, or REST API methods to change the permissions that a role contains.

About permissions

Each permission in a role grants a user the ability to perform an action in some area of the system. For example, the permission admin:services:read grants the ability to view services through the Admin App.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Roles tab.

  4. Select the role you want to edit.

  5. Use the Individual and Wildcard tabs to edit the permissions for the role.

    On the Individual tab, you can enable individual permissions or categories of permissions:
    • Select a category of permissions and select one or more individual permissions within the category.

      For example, with the permissions selected in this image, a user can read, create, and update certificates, but cannot delete them.

      GUID-FF79AEF8-B278-4E48-8093-31F99B4E169B-low.png

    • On the Wildcard tab, you can enable permissions for multiple categories at the same time. To do this:
      1. Click Add Permission.
      2. Use the menus to select a category of permissions.
      3. Leave the last menu set to the wildcard character (*).
  6. Click Create.

  7. Click Update.

Related CLI commands

editRole

Related REST API methods

PUT /security/roles/{uuid}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Deleting roles

When you delete a role, all groups associated with that role lose the permissions that the role granted.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Security.

  3. Select the Roles tab.

  4. Click the delete icon (The delete icon resembles a stylized trash can) for the role you want to remove.

Related CLI commands

deleteRole

Related REST API methods

DELETE /security/roles/{uuid}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Permissions

The following tables list the HCP for cloud scale permissions available for system roles. The words Yes and No indicate whether or not the permission is assigned for a default role.

The set permissions override corresponding get permissions. That is, if a user has permission to set (configure) a function, the user is also granted permission to get (view) the function.

Chargeback Reporting
Permission nameDescriptionDefault admin role permission?
chargeback:system:get_reportGenerate chargeback report for any bucketYes
chargeback:user:get_reportGenerate chargeback report for the user's bucketsYes
Data Service
Permission nameDescriptionDefault admin role permission?
data:bucket:encryption:getExecute S3 API GET bucket object encryption rulesYes
data:bucket:encryption:setExecute S3 API PUT bucket object or DEL bucket object encryption rules

Note: Does not govern use of --x-amz-Server-side-encryption=AES256

Yes
data:bucket:expirationlifecycle:getView bucket expiration lifecycle policy configurationYes
data:bucket:expirationlifecycle:setConfigure bucket expiration lifecycle policyYes
data:bucket:notification:getView bucket notification configurationYes
data:bucket:notification:setConfigure bucket notificationYes
data:bucket:objectlock:getView bucket object lock policy configurationYes
data:bucket:objectlock:setConfigure bucket object lock policyYes
data:bucket:sync:from:setCreate bucket sync-from rules for buckets the user owns or has access toYes
data:bucket:sync:getView bucket sync-from and sync-to rules for buckets the user owns or has access toYes
data:bucket:sync:to:setCreate bucket sync-to rules for buckets the user owns or has access toYes
KMIP
Permission nameDescriptionDefault admin role permission?
mapi:kmip:add_serverConfigure an external KMIP serverYes
mapi:kmip:add_serverRemove configuration of an individual external KMIP serverYes
mapi:kmip:get_serverGet information about an individual external KMIP server Yes
mapi:kmip:list_serversGet information about configured KMIP serversYes
mpi:kmip:update_serverUpdate the configuration of an external KMIP serverYes
License
Permission nameDescriptionDefault admin role permission?
mapi:license:addAdd licensed featureYes
mapi:license:listList all licensed featureYes
MAPI Alerts
Permission nameDescriptionDefault admin role permission?
mapi:alert:listList all active alertsYes
MAPI S3 Settings
Permission nameDescriptionDefault admin role permission?
mapi:s3_settings:getRead S3 settingsYes
mapi:s3_settings:setModify S3 settingsYes
MAPI Storage Component
Permission nameDescriptionDefault admin role permission?
mapi:storage_component:​activateActivate a storage componentYes
mapi:storage_component:get_​capacityGet storage component capacityYes
mapi:storage_component:createCreate a storage componentYes
mapi:storage_component:listList storage component(s)Yes
mapi:storage_component:testTest a storage componentYes
mapi:storage_component:updateModify a storage componentYes
mapi:storage_component:update_stateModify state of a storage componentYes
MAPI Stored Objects
Permission nameDescriptionDefault admin role permission?
mapi:client_object:lookupList stored objectsYes
MAPI System
Permission nameDescriptionDefault admin role permission?
mapi:certificates:refreshRefresh SSL certificates
mapi:system:infoList system informationYes
MAPI User
Permission nameDescriptionDefault admin role permission?
mapi:user:listList existing usersYes
mapi:user:list_bucketsList user's bucketsYes
mapi:user:revoke_credentialsRevoke S3 credentialsYes
mapi:user:revoke_tokensRevoke OAuth tokensYes
S3 Encryption Setting
Permission nameDescriptionDefault admin role permission?
mapi:s3_encryption:getRead S3 encryption settingsYes
mapi:s3_encryption:setEnable global encryptionYes
mapi:s3_encryption:unsealUnseal KMS serviceYes
S3 User
Permission nameDescriptionDefault admin role permission?
s3:user:generate_credentialsGenerate S3 credentialsYes
Serial Number
Permission nameDescriptionDefault admin role permission?
mapi:serial_number:getRead serial numberYes
mapi:serial_number:setModify serial numberYes

Revoking user account credentials

To immediately and completely revoke a user's account credentials, it's best to remove credentials from the identity provider, clear the HCP for cloud scale user cache, revoke OAuth tokens, and revoke S3 credentials, in that order.

You might want to revoke a user's account credentials for a number of reasons:

  • The user has left the organization.
  • The user is part of a company that has ended a contract with the organization.
  • The user had a temporary account that has expired.

Before you begin

To complete these tasks you must have permission to reset a user's password in the identity provider (IdP), such as Active Directory or LDAP, and you must have permission to execute HCP for cloud scale API methods.

If you remove the user account from the IdP, you might not be able to move or delete the user's data and buckets. If you must do that, reset the account password instead, delete or move the data as needed, and then remove or disable the account.

CautionExecute the steps in this procedure in the order given.

Procedure

  1. Prevent the user from signing in through the IdP.

    • Remove or disable the user account in the IdP.
    • Change or remove the user's password.
    Removing or disabling the account creates a positive record of revocation but can prevent access to the user's data.The user can now no longer log in to the system.
  2. Clear the HCP for cloud scale user cache:

    1. Obtain an OAuth token.

    2. Use the API method POST security/clearCache.

    The user can now no longer obtain fresh OAuth tokens.
  3. Revoke the user's OAuth tokens.

    1. Obtain an OAuth token (or use the token previously obtained).

    2. Obtain an XSRF token.

    3. Use the API method POST user/list to obtain the user ID for the user.

      The response body contains the user ID.
    4. Use the API method POST user/revoke_tokens, passing as a parameter the user ID previously obtained.

      You should receive a 200 OK response with an empty response body.
    The user's existing OAuth tokens are now revoked. The user can now no longer obtain S3 credentials.
  4. Revoke the user's existing S3 credentials.

    (Alternatively, you can generate fresh S3 credentials, but the listed steps create a positive record of revocation.)
    1. Obtain an OAuth token (or use the token previously obtained).

    2. Obtain an XSRF token (or use the token previously obtained).

    3. Use the API method POST user/list to obtain the user ID for the user (or use value previously obtained).

    4. Use the API method POST user/revoke_credentials, passing as a parameter the user ID previously obtained.

      You should receive a 200 OK response with an empty response body.

Results

The user's account credentials are cleared from the system and revoked.

Next steps

If you now want to remove the user's data and buckets, reset the password in the IdP, obtain an OAuth token using the new password, and then obtain S3 credentials using the OAuth token. When you obtain access, you have two options:
  • Remove all objects, versions, and delete markers in each of the user's buckets. When the buckets are empty, remove them.
  • Set an expiration period of one second in each of the user's buckets. When the buckets are empty, remove them.
NoteManual removal of objects and buckets can take a significant amount of time. It's best to write a script to do it. Alternatively, use an S3 client that support bulk deletions.

Changing a local user's account password

Your system includes a single local user account called admin, which is available when you first install the system. In addition, your system lets you create a secondary local admin account for reconciliation purposes. You can use the Admin App, CLI commands, or REST API methods to change the passwords for these accounts.

Admin App instructions

Procedure

  1. Click the user icon (The user icon is the silhouette of a head) in the top right corner of the window.

  2. Click Change Password.

  3. Confirm your current password for the chosen account and specify a new password.

  4. Click Change Password.

Related CLI commands

updateCurrentUserPassword

Related REST API methods

POST /setup/password

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Certificates

HCP for cloud scale uses SSL to provide secure incoming and outgoing communication for the product applications and mTLS for external encryption key management.

To enable secure socket layer (SSL) security, you need a valid server certificate or chain of certificates for incoming communication and a valid client certificate for outgoing communication.

The system comes with its own self-signed SSL system certificate, which is generated and installed automatically when the system is installed. This certificate is sufficient for some purposes but not automatically trusted by web browsers. For production systems the best practice is to obtain and use a certificate from a certificate authority (CA).

If you choose to replace the self-signed system certificate, do one of the following:

  • Upload a PKCS12 format certificate chain from a CA.
  • Download a certificate signing request (CSR) and use it to obtain, upload, and apply a certificate signed by a CA.
  • Generate and apply a new self-signed SSL server certificate. You might do this, for example, if the current certificate is close to expiring and you are waiting to retrieve a new one from your CA.

For outgoing communication, such as to storage components, you need to upload the certificate used by clients. However, you don't need to upload the client certificate if it's valid and trusted by a CA.

HCP for cloud scale supports mutual transport layer security (mTLS) v1.2 (not recommended), v1.3, or later to support data in flight encryption with an external key management system (KMS). Establishing mTLS requires an exchange of certificates between the system and the KMS.

Viewing installed certificates

You can use the Admin App, CLI commands, or REST API methods to view information about:

  • The system certificate. This is the certificate used to secure communications for your system's applications, CLIs, and REST APIs.
  • Client certificates. These are the certificates you upload to HCP for cloud scale that allow the system to communicate securely with clients such as storage components, Active Directory, and external key management systems.

For each certificate, you can view:

  • The distinguished name of the certificate
  • The date and time when the certificate goes (or went) into effect
  • The date and time when the certificate expires (or expired)
Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Certificates.

    The System tab displays the currently active system certificate.
  3. To view the client certificates, select the Client tab.

Related CLI commands

listCertificates

getCertificate

getSystemCertificate

Related REST API methods

GET /certificates

GET /certificates/system

GET /certificates/{subjectDn}

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Client certificates

The HCP for cloud scale system requires certificates to communicate securely with external systems.

For the HCP for cloud scale system to communicate with Identity Providers (IdPs), storage components that use SSL-protected communication, and external encryption key management systems, the system must accept the certificate from those clients. Your system prompts you to accept a client certificate when testing the connection to an IdP using the System Management application. It's best to use valid SSL certificates trusted by a certificate authority, but you can also upload client certificates manually.

Client certificate considerations

Keep the following in mind when configuring SSL certificates for a client (such as a storage component):

  • Do not allow any of the SSL certificates to expire.
  • Adhere to the established best practices for setting up SSL certificates.

    For information on SSL best practices, see http://tools.ietf.org/html/rfc5280 and http://tools.ietf.org/html/rfc6125.

  • When configuring a certificate chain, ensure that all intermediate issuers have the appropriate signing authority permissions so that the entire chain is signed.
  • If you regenerate or upload an SSL certificate you must repair (that is, restart) the S3 Gateway and MAPI Gateway services for the change to take effect.
  • If you regenerate or upload an SSL certificate for an S3-compatible remote system used for bucket synchronization you must repair (that is, restart) the S3 Gateway and Policy Engine services for the change to take effect.

Retrieving the client certificate for an HCP S Series Node

It's best to use valid SSL certificates from a trusted certificate authority. If an HCP S Series Node storage component uses another kind of certificate, you can retrieve the certificate and upload it manually. This procedure uses the Firefox browser.

Procedure

  1. Go to the HCP S Series Node management interface at https://host:8000/

    where host is the host name of the management system.
  2. Right click and select Page Info.

  3. Select Security and click View Certificate.

  4. Click the Details tab.

  5. Click Export, select a download location, and click Save.

Results

The certificate is retrieved.

Next steps

Upload the client certificate manually into the HCP for cloud scale system.

Uploading client certificates manually

If a client such as a storage component does not have a trusted SSL certificate, you can upload it manually.

Admin App instructions

Procedure

  1. Retrieve the SSL certificate from your client.

  2. In the Admin App, click Configuration.

  3. Click Certificates.

  4. On the Client tab, click Upload Client Certificate.

  5. Drag the certificate file into the Upload Certificate box.

  6. Refresh the certificate by doing one of the following:

    • Use the Object Storage Management MAPI method POST /certificates/refresh
    • Click Services, select and repair the S3 Gateway service, and then select and repair the MAPI Gateway service.

Next steps

You can now use the Object Storage Management application to create the storage component. Use the option HTTPS and the same host name as in the uploaded SSL certificate.

Related CLI commands createCertificate

createCertificate

Related REST API methods

POST /certificates (System Management)

POST /certificates/refresh (Object Storage Management)

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Changing the system certificate

Your system includes a self-signed certificate when the system is first installed.

You cannot delete the currently installed certificate. However, you can replace the certificate by:

  • Installing a new PKCS12 certificate
  • Generating and installing a new self-signed certificate
  • Generating a certificate signing request (CSR), sending it to a certificate authority (CA), and installing the certificate you receive in response
TipIf you obtain a system certificate from a CA, it's best to keep a copy available for establishing mutual trust with an external system.

System certificate considerations

Keep the following in mind when configuring SSL certificates for your system, especially if you are configuring the system to use one or more certificates that you create yourself:

  • Do not allow any of the SSL certificates to expire.
  • Adhere to the established best practices for setting up SSL certificates. For example, if you are using wildcards to identify hostnames in an SSL certificate, a wildcard should appear only at the beginning of the hostname, not in the middle.

    For information on SSL best practices, see http://tools.ietf.org/html/rfc5280 and http://tools.ietf.org/html/rfc6125.

  • Ensure that the DNS name for the system matches the name defined in the certificate. If you rename the system you need a new certificate.
  • When configuring a certificate chain, ensure that all intermediate issuers have the appropriate signing authority permissions so that the entire chain is signed.
  • If you regenerate or upload an SSL certificate you must repair (that is, restart) the S3 Gateway and MAPI Gateway services for the change to take effect.
  • If encryption is enabled you must also repair the Key Management Server service and unseal the vault.

Installing a certificate you created

You can create an SSL server certificate by using a third-party tool such as OpenSSL. When creating the certificate, you specify two passwords, one for the PKCS12 object containing the certificate and one for the private key for the certificate. To use the certificate with the system, these passwords must be the same.

When you create an SSL server certificate, you can have that certificate signed by a certificate authority (CA). In this case, the CA you use might provide you with one or more intermediate certificates. These certificates are used in conjunction with the SSL server certificate you created to establish a certificate chain, which is an ordered list of certificates in which each certificate is trusted by the next.

To preserve the chain of trust among the certificates, you must upload the certificates in the correct order. That is, each certificate you upload must be immediately followed by the certificate that signs it. For information on the correct order for the certificate chain, see the CA.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Certificates.

  3. Click Update System Certificate.

  4. In the box PKCS12 Password, type the password for the certificate.

  5. Drag the certificate into the box Upload Certificate Chain.

  6. Click Continue.

  7. Click Accept.

  8. Restart (repair) the S3 Gateway.

Related CLI commands

uploadPKCS12Certificate

applyCertificateChanges

Related REST API methods

POST /certificates/system/pkcs12

POST /certificates/system

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Installing a new self-signed certificate

Your system can generate and install a new self-signed SSL server certificate. The new certificate is good for five years.

Note
  • If the system is using a self-signed certificate, when you change the hostname name of the system, you need to generate a new SSL certificate.
  • When you install the new certificate, if you are using encryption, you must repair the Vault service and then unseal the vault.
Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Certificates.

  3. Click Update System Certificate.

  4. Select the Self-Signed window.

  5. Click Continue.

    Your system generates a new self-signed server certificate.
  6. Click Accept.

    Your system installs the new certificate.
  7. To continue using the Admin App, log out and then log back in.

Related CLI commands

generateSelfSignedCertificate

applyCertificateChanges

Related REST API methods

POST /certificates/system/selfsigned

POST /certificates/system

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Creating a CSR and installing the returned certificate

SSL server certificates are available from several trusted sources. To obtain a certificate created by a certificate authority (CA), you need to create a certificate signing request (CSR) and give it to the CA. The CA then generates the requested certificate and makes it available to you.

Creating a certificate signing request

You can create a CSR using the Admin App or a third-party tool. When you use the Admin App, the system securely stores the private key needed for installing the returned certificate, so you don’t need to save the key yourself.

Verify what information is required with the certificate authority (CA) that you plan to use.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Certificates.

  3. Select the System tab.

  4. Click Update System Certificate.

  5. Select the CSR window.

  6. Choose Generate a new certificate signing request and click Continue.

  7. Fill in the following as needed:

    • In the Common Name (CN) box, type the cluster name or an asterisk (*) followed by the DNS name of the system (for example, cluster.company.com or *.company.com).

      Common Name (CN) is required.

    • In the Organizational Unit (OU) box, type the name of the organizational unit that uses the system (for example, the name of a division or a name under which the company does business).
    • In the Organization (O) box, type the full legal name of the organization.
    • In the Location (L) box, type the name of the city in which the organization's headquarters are located.
    • In the State/Province (ST) box, type the full name of the state or province in which the organization's headquarters are located.
    • In the Country (C) box, type the two-letter ISO 3166-1 abbreviation for the country in which the organization's headquarters are located (for example, US for the United States).
    • In the Subject Alternate Name box, type cluster.dns *.cluster.dns, where cluster is the name of your HCP for cloud scale cluster.

      For example: cluster.company.com *.cluster.company.com

      Subject Alternative Name is required for Chrome browsers.

      NoteThe System Management application supports a single SAN, so arrange with your CA to include two SANs in the final signed certificate.
  8. Click Generate CSR.

    The page displays the generated certificate request.
  9. Copy and paste the request text into a file and send that file to the CA.

Related CLI commands

generateCSR

Related REST API methods

PUT /certificates/system/csr

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Installing the certificates returned for a system-generated CSR

In response to a CSR, your CA gives you an SSL server certificate and any required intermediate certificates. These certificates are used in conjunction with the SSL server certificate to establish a certificate chain, an ordered list of certificates in which each certificate is trusted by the next. You need to upload and install these certificates on your system.

To preserve the chain of trust among the certificates, you need to upload the certificates in the correct order. That is, each certificate you upload must be immediately followed by the certificate that signs it. For information on the correct order for the certificate chain, see your CA.

Admin App instructions

Procedure

  1. Select Dashboard > Configuration.

  2. Click Certificates.

  3. Select the System tab.

  4. Click Update System Certificate.

  5. Select the CSR window.

  6. Select the option I already generated a CSR and obtained a signed certificate and then click Continue.

  7. Drag the certificate into the Upload certificate obtained from Certificate Authority box.

  8. Click Accept.

Related CLI commands

uploadCSR

applyCertificateChanges

Related REST API methods

POST /certificates/system/csr

POST /certificates/system

You can get help on specific REST API methods for the Admin App at REST API - Admin.

Exchanging certificates with a KMS server

Before you can configure a connection to an external KMS server, the HCP for cloud scale system and an external server must exchange SSL certificates to establish mutual trust.

To enable data-at-rest encryption with keys managed by an external key management system (KMS) that supports the Key Management Interoperability Protocol (KMIP), you need to exchange SSL certificates between the HCP for cloud scale system and the KMS so that they can establish mutual transport layer security (mTLS). HCP for cloud scale supports mTLS v1.3 and, for backward compatibility, v1.2. Both systems need to have certificates granted by a certificate authority (CA).

NoteIf you use the built-in internal key management service, mutual certificate exchange is not required.

Before you begin, you must have entered a serial number in your HCP for cloud scale and then uploaded a digital license to use the encryption feature. For information on entering a serial number, see Entering your serial number. For information on uploading a license, see Uploading a license.

The following workflow uses Thales CipherTrust Manager as an example of an external KMS, but you can use any third-party product that supports the KMIP protocol. Some steps in the workflow are performed on the Thales system. Before you begin the workflow, you need the following information:

  • The certificate of the certificate authority that signed the HCP for cloud scale system certificate
  • The URL and login credentials for the Thales system
  • The HCP for cloud scale certificate signing request and signed system certificate

These are the tasks involved:

  1. Creating a certificate signing request from the HCP for cloud scale system
  2. Installing the certificates returned for a system-generated CSR on the HCP for cloud scale system
  3. Restarting (repairing) the S3 Gateway, MAPI Gateway, and Key Management Server services on the HCP for cloud scale system
  4. Retrieving the KMIP certificate from the KMS server
  5. Uploading the client certificate (the KMIP certificate) from the KMS server to the HCP for cloud scale system
  6. Retrieving the system certificate from the HCP for cloud scale system and uploading the CA certificate to the KMS server
  7. Creating a new user, profile, registration token, and registered client on the KMS server
Next steps

Once the HCP for cloud scale and external KMS have exchanged certificates, you can configure external encryption key management.

Retrieving the KMIP certificate from the KMS server

The HCP for cloud scale system requires an SSL certificate in PEM format from the KMS system to establish mTLS.

For example, to retrieve the certificate from a Thales CipherTrust Manager system:

Procedure

  1. Log in to the Thales system.

    The web console opens.
  2. Select Admin Settings > Interfaces.

    The Interfaces page opens.
  3. Select the kmip interface.

  4. Click the more icon, at the righthand side of the interface, and select Edit.

    The Configure KMIP page opens.
  5. Click Download Current Certificate.

    The certificate file, Certificate_kmip.txt is downloaded.
  6. Edit the certificate file to copy the first certificate to a separate file with the suffix .crt.

    This is the KMIP certificate.
  7. Transfer the edited certificate file you created in the previous step to the HCP for cloud scale system as a client certificate.

Retrieving the system certificate from the HCP for cloud scale system and uploading the CA certificate to the KMS server

The KMS server requires an SSL certificate from the HCP for cloud scale system to establish mTLS.

For example, to retrieve the system certificate from the HCP for cloud scale system and upload the CA certificate on the Thales system:

Procedure

  1. Open the HCP for cloud scale system certificate and copy the body.

  2. Log in to the Thales system.

    The web console opens.
  3. Select CA > External.

    The External Certificate Authorities page opens.
  4. Click Add External CA.

    The Add External Certificate page opens.
  5. Name the certificate, paste in the body of the certificate, and click Save.

    The CA is added to the list of external certificate authorities.
  6. From the web console, select Admin Settings > Interfaces.

    The Interfaces page opens.
  7. Select the kmip interface.

  8. Click the more icon, at the righthand side of the interface, and select Edit.

    The Configure KMIP page opens.
  9. Select the HCP for cloud scale CA and click the add (+) button.

  10. Click Update

Creating a new user, client profile, registration token, and registered client on the KMS server

Before you begin

You need to create the following on the third-party KMS system:

  1. User account corresponding to the common name (CN) of the HCP for cloud scale system
  2. Client profile
  3. Registration token
  4. Registered client

Before you begin this task:

  • You need both the HCP for cloud scale certificate signing request and signed system certificate.
  • You need to determine the name, email, and password of the user account on the Thales system.
  • You need to determine the name of the client profile.
  • You need to determine the default name prefix, token lifetime, certificate duration, and client capacity of the registration token. (For the last three items you can use the defaults.)
  • You need to determine the name of the registered client.

For example, to create a new user account, client profile, registration token, and registered client on the Thales system:

Procedure

  1. Log in to the Thales system.

    The web console opens.
  2. Create a user account:

    1. Select Access Management > Users.

      The Users page opens.
    2. Click Create New User.

      The Create a New User page opens.
    3. Enter the user's username, email, and password (twice).

    4. Click Create.

      The user is added to the list of users.
    5. Select Access Management > Groups.

      The Groups page opens.
    6. Select the Key Users group.

      The members of the Key Users group are listed.
    7. Locate the user and click Add.

      The user is added as a member of the group.
  3. Create a client profile:

    1. Click Products and select KMIP.

      The Registered Clients page opens.
    2. Select Client Profile.

      The Client Profiles page opens.
    3. Click Add Profile.

      The Add Profile page opens.
    4. Enter the client profile name.

    5. Expand the Certificate Details section of the page and paste the contents of the HCP for cloud scale CSR into the CSR field.

    6. Click Save.

      The profile is added to the list of profiles.
  4. Create a registration token:

    1. Click Products and select KMIP.

      The Registered Clients page opens.
    2. Select Registration Token.

      The Registration Token page opens.
    3. Click New Registration Token.

      The Create New Registration Token wizard opens.
    4. Click Begin and enter the default name prefix, token lifetime, certificate duration in days, and client capacity.

    5. Click Select CA, click External, and select the CA you uploaded previously.

    6. Click Select Profile and select the client profile you created previously.

    7. Click Create Token.

      The registration token is created.
    8. Click Copy to copy the registration token.

    9. Click Done.

      The registration token is added to the list of tokens.
  5. Register a new client:

    1. Click Products and select KMIP.

      The Registered Clients page opens.
    2. Select Add Client.

      The Add Client page opens.
    3. Enter the name of the client.

    4. In the Registration Token field, paste the registration token you previously copied.

    5. In the Client Certificate field, paste the contents of the HCP for cloud scale system certificate.

    6. Click Save.

      The client is added to the list of registered clients.

Repeating the certificate exchange if HCP for cloud scale is redeployed

If you redeploy the HCP for cloud scale system, you must repeat the process of establishing mTLS because the system's private key is changed.

For example, on a Thales system you must:

  1. Delete the client profile, registration token, and registered client
  2. Restart the KMIP and web services
  3. Redefine the client profile, registration token, and registered client

Encryption

Using the licensed DARE encryption feature, you can configure and manage either internal encryption, using a built-in HCP for cloud scale service, or external encryption, using a KMIP-compatible encryption server.

An administrator with appropriate permissions can:

  • Select and configure either internal or external encryption
  • Provide unseal keys to the internal KMS service as needed
  • Manage the external KMS connection
  • Initiate a rekey operation

Enabling either internal or external encryption requires both planning and configuration. The mode of encryption cannot be changed between internal and external, and once enabled encryption cannot be disabled.

Internal encryption

Internal encryption uses the Key-Management-Server (KMS) service to store and manage key encryption keys (KEKs). The KMS service generates a KEK for each storage component and stores them in a persistent vault maintained by the service. Enabling internal encryption generates an initial root token to establish the connection to the service, KEKs for each storage component, and a set of five unseal keys.

ImportantTo ensure access to the KEKs, it's best to scale the KMS service to at least three instances.

Each time the KMS service starts it uses the unseal keys to open the vault. If the KMS service goes down, it seals the vault, and to unseal the vault you must provide a quorum of at least three valid unseal keys. If HCP for cloud scale restarts, encryption and decryption functions pause until the KMS service is running and the vault is unsealed.

CautionIf you can't provide a quorum of unseal keys, the vault remains sealed, so the KEKs are unavailable and encrypted objects on storage components can't be decrypted. To ensure encryption security, the best practice is to encrypt the unseal keys and store them separately with different trusted individuals.
External encryption

External encryption uses an external KMS to store and manage KEKs. HCP for cloud scale supports any KMS that supports the open standard Key Management Interoperability Protocol (KMIP) v1.2 (not recommended), v1.3, or greater. You can configure connections to one primary and up to three secondary KMS servers. HCP for cloud scale can obtain KEKs from and store new KEKs on a primary KMS server (read/write access), and can obtain KEKs from a secondary KMS server (read access).

ImportantTo ensure access to an external KMS, it's best to configure both a primary and at least one secondary KMS server.

Synchronization of data across multiple KMS servers is the responsibility of the KMS administrator and outside the scope of HCP for cloud scale operations.

If HCP for cloud scale restarts, encryption and decryption functions are unavailable until an external KMS server connection is re-established. HCP for cloud scale automatically attempts to re-connect to already configured KMS server connections. The KMS servers must be online.

After encryption is enabled

After either internal or external encryption is enabled on the system, users must turn encryption on for each bucket. Also, any objects placed in a bucket before encryption is enabled on the system and turned on for the bucket are not encrypted. To encrypt pre-existing objects once encryption is enabled and turned on, reload them.

TipIf a user reports that objects are not being encrypted, verify that encryption is turned on for that bucket. If necessary, direct users to reload objects to encrypt them.

Enabling internal encryption

You can enable internal encryption using the Object Storage Management application or a management API method.

  • If you intend to use encryption, it's best to enable it before defining storage components so that all objects written to storage components are encrypted.
  • If you have already defined storage components and intend to enable encryption, do not try to enable encryption from multiple accounts, or by multiple calls to the API method /s3_encryption/set, simultaneously.
    CautionIf two accounts try to set the encryption flag simultaneously, either using the Object Storage Management application or the management API method /s3_encryption/set, existing storage components can become inaccessible.

Object Storage Management application instructions

Before you begin

Before you can select internal encryption, you must obtain and upload a DARE license. Before you select internal encryption, you should scale the Key-Management-Server service to at least three instances.

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management server options.
  2. In the Internal Key Management Server (KMS) panel, click Enable.

    You are reminded that your selection is permanent, and reminded to scale the KMS service up to at least three instances.
  3. Click Continue to confirm your selection.

    The Vault Unsealing window opens, displaying your initial root token and five unseal keys.
    NoteYou receive an error message if the KMS service is stopped, unable to complete the request, or not yet available. In this case, try again when the service is available.
    ImportantThis window is the only time that all of this data is ever available to you, and also the only time that the unseal keys should ever appear together. To minimize the possibility of multiple keys becoming unavailable, the best practice is securely distribute, encrypt, and store the unseal keys in separate locations.
  4. Do one of the following:

    • Click Download Keys to download the initial root token and the five unseal keys in a single text file.
    • Click the copy icons (Copy icon on ENCRYPTION page), for the initial root token and each unseal key, to save the token and keys in separate files.
  5. Secure the token and unseal key files.

  6. Click Continue.

    You are warned that you won't have another opportunity to record the unseal keys and the initial root token.
  7. Click Continue.

    A connection to the KMS service is established, the storage component encryption keys are generated and applied, and encryption is enabled.

Next steps

After enabling internal encryption, restart (repair) the S3 Gateway and Policy Engine services.

Related REST API methods

POST /s3_encryption/set

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

Providing unseal keys to KMS service

When internal encryption is enabled for a HCP for cloud scale system, the Key Management System service provides key encryption keys for storage components. If the service restarts, the vault is sealed and stored objects can't be decrypted. If the vault becomes sealed, you must provide a quorum of unseal keys (three of the five provided when encryption was first enabled) to reopen the vault and resume encryption and decryption.

ImportantDon't try to initialize the vault manually outside of HCP for cloud scale. Doing so results in data loss.

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens.
  2. In the UNSEAL VAULT INSTANCES section, enter the first unseal key into the Unseal key 1 field.

    The key is validated. You can't leave the field blank.
  3. Enter a second unseal key into the Unseal key 2 field.

    The key is validated. You can't leave the field blank. Each key must be different.
  4. Enter a third unseal key into the Unseal key 3 field.

    The key is validated. You can't leave the field blank. Each key must be different.
  5. Click Unseal vault.

Results

The vault is unsealed.

Enabling external encryption

You can enable external encryption using the Object Storage Management application or a management API method.

If you intend to use encryption, it's best to enable it before defining storage components so that all objects written to storage components are encrypted.

Using an external KMS requires establishing mutual transport layer security (mTLS) authentication between your system and the KMS. The authentication requires an exchange of SSL certificates.

Object Storage Management application instructions

Before you begin

Before you can select external encryption, you must obtain and upload a DARE license. Before you select external encryption, you should ensure that the KMS system has multiple servers.

Before you start you need to know, for each KMS server:

  • The name you intend to label the server with
  • The host name or IP address
  • The port (typically 5696)
  • The TLS version used
  • The KMIP protocol version
  • The HTTPS ciphers

This procedure configures a connection to a KMS server. For configuration to succeed the configuration values must be accurate and the server must be online. The first server configured is designated the primary server; you can configure connections to one or two servers on this page. After you configure two server connections, you can configure connections to up to two more servers.

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management server options.
  2. In the External Key Management Server (KMS) panel, click Enable.

    The CONFIGURE EXTERNAL KEY MANAGEMENT SERVER window opens.
  3. In the Name field, type a label for the primary server. This name must be unique.

  4. In the Hostname or IP Address field, type a host name or an IP address for the primary server.

  5. In the Port field, type the server port number. The default is 5696.

  6. (Optional) In the Allow TLS 1.2 field, select whether Transport Layer Security v1.2 is used. The default is No (a version later than v1.2 is used).

  7. (Optional) In the KMIP Protocol field, select the KMIP version used:

    • 1.3
    • 1.4 (the default)
    • 2.0
    • 2.1
    • 3.0
  8. (Optional) In the HTTPS Ciphers section, edit the comma-separated list of ciphers used.

    The default group of ciphers ensures interoperability with popular commercial key managers and an open-source implementation called PyKMIP. The default ciphers are: TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_AES_256_GCM_SHA384, TLS_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  9. (Optional) In the SECONDARY KEY MANAGEMENT SERVER (OPTIONAL) section, repeat steps 3 through 8 for the secondary KMS server.

  10. Click Save.

    The connection is validated and you are prompted, "Server added successfully."
  11. (Optional) To configure a connection to another server, click Add KMS and repeat steps 3 through 10.

Results

Encryption begins according to bucket policies. The first server you configure is designated as the primary server; any others are designated secondary servers.

Next steps

After enabling external encryption, bucket owners can define policies to begin object encryption.

Related REST API methods

POST /kmip/add_server

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

Modifying an external KMS server connection

You can use the Object Storage Management application or an API method to modify the configuration of an external KMS server connection after defining it.

Object Storage Management application instructions

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management configuration.
  2. Select a KMS server from the list, click the more icon (More menu (three vertical dots). Right-click on the menu to display and select menu items.), and select Edit.

    The CONFIGURE EXTERNAL KEY MANAGEMENT SERVER window opens.
  3. Edit the information as necessary.

    For more information about these fields refer to Enabling external encryption.
  4. Click Save.

    The connection is updated.

Results

The external KMS server connection configuration is modified.

Related REST API methods

POST /kmip/update_server

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

Deleting an external KMS server connection

You can use the Object Storage Management application or an API method to delete the configuration of an external KMS server connection after defining it.

Object Storage Management application instructions

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management configuration.
  2. Select a KMS server from the list, click the more icon (More menu (three vertical dots). Right-click on the menu to display and select menu items.), and select Delete.

    The connection is removed.

Results

The external KMS server connection configuration is deleted.

Related REST API methods

POST /kmip/delete_server

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

Changing the primary external KMS server

You can use the Object Storage Management application or an API method to promote a secondary external KMS server to the primary role.

The HCP for cloud scale system has read/write access to the primary external KMS server, but only read access to secondary external KMS servers. With read access a KMS server can provide storage component KEKs. With write access new KEKs can be added.

Any external KMS server designated as a secondary server can be promoted to a primary server. Promoting a secondary server demotes the existing primary server to secondary status.

Normally, KEKs are synchronized between the primary server and any secondary servers. If a secondary server is promoted but has an incomplete set of KEKs, HCP for cloud scale tries to populate missing KEKs using cached KEKs. If the promoted server cannot produce a KEK and the KEK is not cached, then all data associated with the missing KEK remains unavailable until the previous primary server is repaired and populates the newly promoted primary server with the missing KEK.

Object Storage Management application instructions

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management configuration.
  2. Select a secondary KMS server from the list, click the more icon (More menu (three vertical dots). Right-click on the menu to display and select menu items.), and select Promote.

    The KMS server role changes to Primary.

Results

The external KMS server is designated as the primary server.

Related REST API methods

POST /kmip/promote_server

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

Initiating rekeying

You can use the Object Storage Management application or an API method to initiate rekeying of key encryption keys (KEKs).

You can change (or rekey) KEKs for either internal or external encryption at any time. This function supports either routine rekeying according to a security policy or rekeying on demand (because, for example, of a data compromise). When you initiate rekeying, the system logs the time and reason for the request. The system displays a history of rekey operations.

Superseded keys are marked as deactivated but not removed.

Generating new KEKs takes several seconds for each encrypted storage component. Rewrapping object data encryption keys (DEKs) takes longer but proceeds in the background.

Object Storage Management application instructions

Procedure

  1. From the Object Storage Management application, select Settings > Encryption.

    The ENCRYPTION page opens. The page displays information about the key management configuration.
  2. Click Rekey.

    The Rekey window opens.
  3. Select a reason for initiating the rekey operation:

    • Routine rekey.
    • Keys were COMPROMISED.
  4. (Optional) If appropriate, type a further description of the reason for rekeying.

  5. Click Continue.

Results

The rekey operation begins.
NoteThe rekey history does not update immediately. If necessary, wait a few moments and refresh the page.

Related REST API methods

POST /s3_encryption/rekey

For information about specific API methods, see the MAPI Reference or, in the Object Storage Management application, click the profile icon and select REST API.

 

  • Was this article helpful?