As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com chaves usando a API do AWS KMS e o AWS SDK para PHP versão 3
Os recursos principais no AWS Key Management Service (AWS KMS) são AWS KMS keys. Você pode usar uma chave do KMS para criptografar seus dados.
Os exemplos a seguir mostram como:
-
Criar uma chave do KMS de cliente usando a operação CreateKey.
-
Gerar uma chave de dados usando a operação GenerateDataKey.
-
Visualizar uma chave do KMS usando DescribeKey.
-
Obter IDs e ARNs de chaves do KMS usando a operação ListKeys.
-
Habilitar as chaves do KMS usando EnableKey.
-
Desabilitar as chaves do KMS usando DisableKey.
O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub
Credenciais
Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticando com o AWS uso da AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalar o AWS SDK para PHP versão 3.
Para obter mais informações sobre como usar o AWS Key Management Service (AWS KMS), consulte o Guia do desenvolvedor do AWS KMS.
Criar uma chave do KMS
Para criar uma chave do KMS, use a operação CreateKey.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); //Creates a customer master key (CMK) in the caller's AWS account. $desc = "Key for protecting critical data"; try { $result = $KmsClient->createKey([ 'Description' => $desc, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Gerar uma chave de dados
Para gerar uma chave de criptografia de dados, use a operação GenerateDataKey. Essa operação retorna cópias de texto simples e criptografadas da chave de dados que ela cria. Especifique a AWS KMS key sob a qual gerar a chave de dados.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $keySpec = 'AES_256'; try { $result = $KmsClient->generateDataKey([ 'KeyId' => $keyId, 'KeySpec' => $keySpec, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Visualizar uma chave do KMS
Para obter informações detalhadas sobre uma chave do KMS, incluindo o nome do recurso da Amazon (ARN) da chave do KMS e o estado da chave, use a operação DescribeKey.
DescribeKey não obtém aliases. Para a lista de alias, use a operação ListAliases.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->describeKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Obter o ID e os ARNs da chave de uma chave do KMS
Para obter o ID e o ARN da chave do KMS, use a operação ListAliases.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $limit = 10; try { $result = $KmsClient->listKeys([ 'Limit' => $limit, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Habilitar uma chave do KMS
Para habilitar uma chave do KMS desabilitada, use a operação EnableKey.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->enableKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }
Desabilitar uma chave do KMS
Para desabilitar uma chave do KMS, use a operação DisableKey. A desabilitação de uma chave do KMS impede que ela seja usada.
Importações
require 'vendor/autoload.php'; use Aws\Exception\AwsException;
Código de exemplo
$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; try { $result = $KmsClient->disableKey([ 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }