Changes the current password, adds and drops a key copy, regenerates an encryption key.
alter encryption key [dual] master with char_string { add encryption {with passwd char_string for user user_name [for recovery] | for automatic_startup } | modify encryption { with passwd char_string [for recovery] | for automatic_startup } | drop encryption { for user user_name | for recovery | for automatic_startup } | regenerate key [ with passwd char_string] | recovery encryption with passwd char_string | modify owner user_name }
alter encryption key syb_extpasswdkey [ with { static key | master key}] { regenerate key [ with { static key | master key }] | modify encryption [ with { static key | master key }] }
alter encryption key [[database.][owner].] keyname { [ as | not default ] [dual] master [ with { static key | master key} ] regenerate key [ with { static key | master key [no] dual_control} ] | [with passwd 'password' | system_encr_passwd | login_passwd | 'base_key_password'] modify encryption [ with {passwd {'password' | system_encr_passwd | login_passwd } | master key }] [[no] dual_control] for automatic startup add encryption [ with passwd 'password' | 'key_copy_password’] for user user_name [for [login_association | recovery | automatic_startup]] drop encryption for { user user_name | recovery [ for recovery ] | [ for automatic_startup ]} | [ with passwd 'password '] recover encryption with passwd 'password' | modify owner user_name }
The second instance of with {static key | master key} clause following the regenerate key action allows the administrator to change the encryption on the regenerated key from static to dynamic, or vice versa. If the clause is omitted, the regenerated key is encrypted as it was prior to this command being issued.
The third instance of with {static key | master key} clause following the modify encryption action changes the protection on the existing key to use the static key or the master key as specified. If the clause is omitted, the static key is used by default.
Modify the encryption of a key or a key copy.
Encrypt a newly-added key copy. The key owner can add key copies for individual users that are accessible through a private password or a login password.
Recover the encryption key after losing a password.
The SAP ASE server supports the following passwords for keys:
password – a character string up to 255 bytes long.
login_passwd – tells the SAP ASE server to use the session’s login password.
system_encr_passwd – system encryption password for the current database.
'base_key_password' – the password used to encrypt the base key, and may be known only by the key custodian. The password can be upto 255 bytes in length. The SAP ASE server uses the first password to decrypt the base column-encryption key.
If you do not specify with passwd, the default is system_encr_passwd.
key_copy_password – the password used to encrypt the key copy. The password cannot be longer than 255 bytes. The SAP ASE server makes a copy of the decrypted base key, encrypts it with a key encryption key derived from the key_copy_password, and saves the encrypted base key copy as a new row in sysencryptkeys.
alter encryption key my_key as default
The system security officer (SSO), the SAP ASE server removes the default property unconditionally from the previous default key, if one exists.
The key custodian, he or she must own my_key. The key custodian must own the previous default key, if one exists.
alter encryption key my_key as not default
If my_key is not the default key, this command returns an error.
alter encryption key important_key with passwd 'oldpassword' modify encryption with passwd 'newpassword'
If this command is executed by:
The key owner – the command reencrypts the base key
The user assigned a key copy – the command reencrypts that key copy.
alter encryption key important_key modify encryption with passwd login_passwd
You can encrypt only key copies with a login password. the SAP ASE server returns an error if you attempt to encrypt the base key with a login password.
alter encryption key important_key with passwd 'ReallyBigSecret' modify encryption with passwd system_encr_passwd
This command can be executed only by the key owner or a user with sso_role, and is allowed only if a key has no key copies. (Base keys with copies must be encrypted by a user-specified password.) This example modifies the encryption of the base key.
alter encryption key important_key modify encryption with passwd 'ReallyNewPassword'
alter encryption key important_key with passwd 'TopSecret' add encryption with passwd 'just4now' for user 'ted'
You must be a key owner or a user with the sso_role to execute this command. the SAP ASE server uses “TopSecret” to decrypt the base key, making a copy of the raw key and encrypting it for Ted using the password “just4now.”
alter encryption key important_key with passwd 'just4now' modify encryption with passwd 'TedsOwnPassword'
alter encryption key important_key drop encryption for user 'ted'
alter encryption key important_key modify owner tinnap
alter encryption key k2 with passwd 'goodbye' modify encryption with master key
alter encryption key k3 modify encryption with master key dual_control
create encryption key key1 for AES passwd 'loseitl8ter'
alter encryption key key1 with passwd 'loseitl8ter' add encryption with passwd 'temppasswd' for user charlie for recovery
alter encryption key key1 with passwd 'temppasswd' modify encryption with passwd 'finditl8ter' for recovery
alter encryption key key1 with passwd 'finditl8ter' recover encryption with passwd 'newpasswd'
If the SSO issues alter encryption key to set the key as the database default, the specified key replaces any existing key as the default.
If the key custodian issues alter encryption key to set a key as the database default, the specified key and the current default key (if it exists) must be owned by the key custodian.
The key owner creates the key for encryption by the system encryption password– when users access the encrypted data, the SAP ASE server decrypts the base key using the system encryption password. The key owner does not create individual key copies for users.
The key custodian encrypts the base key with an explicit password – rather than create key copies, the key custodian shares this password with all users who process encrypted data. Users or applications must supply this password with the set encryption passwd command to access data. See set encryption passwrd.
The key custodian adds key copies for end users so that users do not have to share passwords. Users must enter their key copy’s password using set encryption passwd to access encrypted columns. Alternatively, the key custodian can set up key copies for encryption by the key assignee's login password. This password does not have to be entered through set encryption passwd.
When you create a key using create encryption key, the SAP ASE server saves the key in encrypted form, along with the key’s properties, as a row in sysencryptkeys. This row represents the base key. The key owner can choose to allow access to encrypted data exclusively through the base key, or use alter encryption key to add key copies for individual users.
If you do not include the with passwd parameter with alter encryption, the SAP ASE server uses the system encryption password.
You cannot use the system encryption password to alter the base key of a key that has copies, and you cannot encrypt copies of keys with the system encryption password.
Users assigned key copies modify only their own key copies.
If you specify for login_association, the SAP ASE server temporarily encrypts the key copy with the system encryption password. The key copy is reencrypted by the copy owner’s login password when he or she encrypts or decrypts data with that key.
You cannot specify for recovery and login_association for the same key copy.
sp_encryption in Reference Manual: Procedures
Encrypted Column Users Guide
The permission checks for alter encryption key differ based on your granular permissions settings.
Setting | Description |
---|---|
Enabled | With granular permissions enabled, you must be a user with manage column encryption key privilege to execute alter encryption key as default or not default. You must be the key owner or have the following privilege depending the key type:
Note:
You must be the user assigned the key copy to modify the key copy password. You
implicitly have permission to modify your own key copy’s password.
|
Disabled | With granular permissions disabled, you must be a user with sso_role, or keycustodian_role to execute alter encryption key as default or not default. You must be the system security officer or the key owner to:
Note:
You must be the user assigned the key copy to modify the key copy password. You
implicitly have permission to modify your own key copy’s password.
|
For information about auditing encrypted columns, see Auditing Encrypted Columns in the Encrypted Columns Users Guide.