を使用したの許可の使用AWS KMSAPI およびAWSSDK for PHP バージョン 3 - AWSSDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用したの許可の使用AWS KMSAPI およびAWSSDK for PHP バージョン 3

許可は、キーポリシーに代わってアクセス権限を提供する別のメカニズムです。許可を使用すると、長期のアクセスを付与することができます。AWSプリンシパルを使用して、AWS Key Management Service(AWS KMS)カスタマー管理の CMK。詳細については、「許可の使用」を参照してください。

以下の例では、次の方法を示しています。

  • CreateGrant を使用してカスタマーマスターキー (CMK) の許可を作成する。

  • ListGrants を使用して CMK の許可を表示する。

  • RetireGrant を使用して CMK の許可を無効にする。

  • RevokeGrant を使用して CMK の許可を取り消す。

用のすべてのサンプルコードはAWSSDK for PHP バージョン 3 のSDKGitHub で

Credentials

サンプルコードを実行する前に、AWSの認証情報については、「」を参照してください。の認証情報AWSSDK for PHP バージョン 3。次にをインポートします。AWSSDK for PHP (」の基本的な使用パターンAWSSDK for PHP バージョン 3

の使用方法の詳細については、「」を参照してください。AWS Key Management Service(AWS KMS) については、『AWS KMSデベロッパーガイド

許可を作成する

AWS KMS CMK の許可を作成するには、CreateGrant オペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; use Aws\Exception\AwsException;

サンプルコード

$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'; $granteePrincipal = "arn:aws:iam::111122223333:user/Alice"; $operation = ['Encrypt', 'Decrypt']; // A list of operations that the grant allows. try { $result = $KmsClient->createGrant([ 'GranteePrincipal' => $granteePrincipal, 'KeyId' => $keyId, 'Operations' => $operation ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

許可を表示する

AWS KMS CMK の許可の詳細情報を取得するには、ListGrants オペレーションを使用します。

インポート

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; use Aws\Exception\AwsException;

サンプルコード

$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'; $limit = 10; try { $result = $KmsClient->listGrants([ 'KeyId' => $keyId, 'Limit' => $limit, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

許可を無効にする

AWS KMS CMK の許可を無効にするには、RetireGrant オペレーションを使用します。許可の使用が完了した後でクリーンアップを実行する場合に、許可を無効にします。

インポート

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; use Aws\Exception\AwsException;

サンプルコード

$KmsClient = new Aws\Kms\KmsClient([ 'profile' => 'default', 'version' => '2014-11-01', 'region' => 'us-east-2' ]); $grantToken = 'Place your grant token here'; try { $result = $KmsClient->retireGrant([ 'GrantToken' => $grantToken, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; } //Can also identify grant to retire by a combination of the grant ID and the Amazon Resource Name (ARN) of the customer master key (CMK) $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $grantId = 'Unique identifier of the grant returned during CreateGrant operation' try { $result = $KmsClient->retireGrant([ 'GrantId' => $grantToken, 'KeyId' => $keyId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }

許可を取り消す

AWS KMS CMKの許可を取り消すには、RevokeGrant オペレーションを使用します。許可を取り消して、許可に依存しているオペレーションを明示的に拒否することができます。

インポート

require 'vendor/autoload.php'; use Aws\Kms\KmsClient; use Aws\Exception\AwsException;

サンプルコード

$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'; $grantId = "grant1"; try { $result = $KmsClient->revokeGrant([ 'KeyId' => $keyId, 'GrantId' => $grantId, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }