java.io.Closeable, java.lang.AutoCloseablepublic class KeyAuthorizationKeyProvider
extends org.apache.hadoop.crypto.key.KeyProviderCryptoExtension
KeyProvider proxy that checks whether the current user derived via
UserGroupInformation, is authorized to perform the following
type of operations on a Key :
| Modifier and Type | Class | Description |
|---|---|---|
static interface |
KeyAuthorizationKeyProvider.KeyACLs |
Interface that needs to be implemented by a client of the
KeyAuthorizationKeyProvider. |
static class |
KeyAuthorizationKeyProvider.KeyOpType |
org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension, org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion| Modifier and Type | Field | Description |
|---|---|---|
static java.lang.String |
KEY_ACL |
| Constructor | Description |
|---|---|
KeyAuthorizationKeyProvider(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension keyProvider,
KeyAuthorizationKeyProvider.KeyACLs acls) |
The constructor takes a
KeyProviderCryptoExtension and an
implementation of KeyACLs. |
| Modifier and Type | Method | Description |
|---|---|---|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
createKey(java.lang.String name,
byte[] material,
org.apache.hadoop.crypto.key.KeyProvider.Options options) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
createKey(java.lang.String name,
org.apache.hadoop.crypto.key.KeyProvider.Options options) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
decryptEncryptedKey(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion encryptedKeyVersion) |
|
void |
deleteKey(java.lang.String name) |
|
void |
flush() |
|
org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion |
generateEncryptedKey(java.lang.String encryptionKeyName) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
getCurrentKey(java.lang.String name) |
|
protected org.apache.hadoop.crypto.key.KeyProvider |
getKeyProvider() |
|
java.util.List<java.lang.String> |
getKeys() |
|
org.apache.hadoop.crypto.key.KeyProvider.Metadata[] |
getKeysMetadata(java.lang.String... names) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
getKeyVersion(java.lang.String versionName) |
|
java.util.List<org.apache.hadoop.crypto.key.KeyProvider.KeyVersion> |
getKeyVersions(java.lang.String name) |
|
org.apache.hadoop.crypto.key.KeyProvider.Metadata |
getMetadata(java.lang.String name) |
|
void |
invalidateCache(java.lang.String name) |
|
boolean |
isTransient() |
|
org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion |
reencryptEncryptedKey(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion ekv) |
|
void |
reencryptEncryptedKeys(java.util.List<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion> ekvs) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
rollNewVersion(java.lang.String name) |
|
org.apache.hadoop.crypto.key.KeyProvider.KeyVersion |
rollNewVersion(java.lang.String name,
byte[] material) |
|
java.lang.String |
toString() |
|
void |
warmUpEncryptedKeys(java.lang.String... names) |
close, createKeyProviderCryptoExtension, drainpublic static final java.lang.String KEY_ACL
public KeyAuthorizationKeyProvider(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension keyProvider,
KeyAuthorizationKeyProvider.KeyACLs acls)
KeyProviderCryptoExtension and an
implementation of KeyACLs. All calls are delegated to the
provider keyProvider after authorization check (if required)keyProvider - the key provideracls - the Key ACLspublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion createKey(java.lang.String name,
org.apache.hadoop.crypto.key.KeyProvider.Options options)
throws java.security.NoSuchAlgorithmException,
java.io.IOException
createKey in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.security.NoSuchAlgorithmExceptionjava.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion createKey(java.lang.String name,
byte[] material,
org.apache.hadoop.crypto.key.KeyProvider.Options options)
throws java.io.IOException
createKey in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion rollNewVersion(java.lang.String name)
throws java.security.NoSuchAlgorithmException,
java.io.IOException
rollNewVersion in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.security.NoSuchAlgorithmExceptionjava.io.IOExceptionpublic void deleteKey(java.lang.String name)
throws java.io.IOException
deleteKey in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion rollNewVersion(java.lang.String name,
byte[] material)
throws java.io.IOException
rollNewVersion in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic void invalidateCache(java.lang.String name)
throws java.io.IOException
invalidateCache in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic void warmUpEncryptedKeys(java.lang.String... names)
throws java.io.IOException
warmUpEncryptedKeys in class org.apache.hadoop.crypto.key.KeyProviderCryptoExtensionjava.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion generateEncryptedKey(java.lang.String encryptionKeyName)
throws java.io.IOException,
java.security.GeneralSecurityException
generateEncryptedKey in class org.apache.hadoop.crypto.key.KeyProviderCryptoExtensionjava.io.IOExceptionjava.security.GeneralSecurityExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion decryptEncryptedKey(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion encryptedKeyVersion)
throws java.io.IOException,
java.security.GeneralSecurityException
decryptEncryptedKey in class org.apache.hadoop.crypto.key.KeyProviderCryptoExtensionjava.io.IOExceptionjava.security.GeneralSecurityExceptionpublic org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion reencryptEncryptedKey(org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion ekv)
throws java.io.IOException,
java.security.GeneralSecurityException
reencryptEncryptedKey in class org.apache.hadoop.crypto.key.KeyProviderCryptoExtensionjava.io.IOExceptionjava.security.GeneralSecurityExceptionpublic void reencryptEncryptedKeys(java.util.List<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.EncryptedKeyVersion> ekvs)
throws java.io.IOException,
java.security.GeneralSecurityException
reencryptEncryptedKeys in class org.apache.hadoop.crypto.key.KeyProviderCryptoExtensionjava.io.IOExceptionjava.security.GeneralSecurityExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion getKeyVersion(java.lang.String versionName)
throws java.io.IOException
getKeyVersion in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic java.util.List<java.lang.String> getKeys()
throws java.io.IOException
getKeys in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic java.util.List<org.apache.hadoop.crypto.key.KeyProvider.KeyVersion> getKeyVersions(java.lang.String name)
throws java.io.IOException
getKeyVersions in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.Metadata getMetadata(java.lang.String name)
throws java.io.IOException
getMetadata in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.Metadata[] getKeysMetadata(java.lang.String... names)
throws java.io.IOException
getKeysMetadata in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic org.apache.hadoop.crypto.key.KeyProvider.KeyVersion getCurrentKey(java.lang.String name)
throws java.io.IOException
getCurrentKey in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic void flush()
throws java.io.IOException
flush in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>java.io.IOExceptionpublic boolean isTransient()
isTransient in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>protected org.apache.hadoop.crypto.key.KeyProvider getKeyProvider()
getKeyProvider in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>public java.lang.String toString()
toString in class org.apache.hadoop.crypto.key.KeyProviderExtension<org.apache.hadoop.crypto.key.KeyProviderCryptoExtension.CryptoExtension>Copyright © 2008–2025 Apache Software Foundation. All rights reserved.