のエイリアス AWS KMS - AWS Key Management Service

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

のエイリアス AWS KMS

エイリアスは、 AWS KMS keyのわかりやすい名前です。例えば、エイリアスを使用すると、1234abcd-12ab-34cd-56ef-1234567890ab の代わりに KMS キーを test-key として参照できます。

エイリアスを使用して、 AWS KMS コンソール、DescribeKey オペレーション、および EncryptGenerateDataKey などの暗号化オペレーションで KMS キーを識別できます。エイリアスを使用すると、AWS マネージドキー の認識が容易になります。これらの KMS キーのエイリアスは、常に aws/<service-name> の形式になります。例えば、Amazon DynamoDB AWS マネージドキー の のエイリアスは ですaws/dynamodb。プロジェクトやカテゴリの名前をエイリアスの前に付けるなど、プロジェクトに対して同様のエイリアス標準を設定できます。

ポリシーを編集したり、権限を管理したりすることなく、エイリアスに基づいて KMS キーへのアクセスを許可および拒否することもできます。この機能は、属性ベースのアクセスコントロール (ABAC) AWS KMS のサポートの一部です。詳細については、「エイリアスを使用して KMS キーへのアクセスを制御する」を参照してください。

エイリアスの機能の強みは、エイリアスに関連付けられている KMS キーをいつでも変更できることです。エイリアスを使用すると、コードの記述と保守が容易になります。例えば、エイリアスを使用して特定の KMS キーを参照し、KMS キーを変更するとします。この場合は、単にエイリアスを別の KMS キーに関連付けます。コードを変更する必要はありません。

エイリアスを使用すると、別の AWS リージョンで同じコードを再利用することも容易になります。複数のリージョンで同じ名前のエイリアスを作成し、各エイリアスをそのリージョンの KMS キーに関連付けます。コードが各リージョンで実行されると、エイリアスは関連付けられた KMS キーをそのリージョンで参照します。例については、アプリケーションでエイリアスを使用する方法について説明します。を参照してください。

AWS KMS コンソールで、CreateAlias API を使用するか、AWS::KMS::Alias AWS CloudFormation テンプレートを使用して、KMS キーのエイリアスを作成できます。

AWS KMS API は、各アカウントとリージョンのエイリアスを完全に制御します。API には、エイリアスの作成 (CreateAlias)、エイリアス名とエイリアス ARN の表示 (ListAliases)、エイリアスに関連付けられている KMS キーの変更 (UpdateAlias)、エイリアスの削除 (DeleteAlias) のオペレーションが含まれます。

エイリアスの仕組み

AWS KMSにおけるエイリアスの仕組みについて説明します。

エイリアスは独立した AWS リソースです

エイリアスは、KMS キーのプロパティではありません。エイリアスに対して実行するアクションは、エイリアスに関連付けられた KMS キーには影響しません。KMS キーのエイリアスを作成してエイリアスを更新し、別の KMS キーに関連付けることができます。関連付けられた KMS キーに影響を与えずに、エイリアスを削除することもできます。ただし、KMS キーを削除すると、その KMS キーに関連付けられているすべてのエイリアスが削除されます。

IAM ポリシーでリソースとしてエイリアスを指定した場合、ポリシーは、関連付けられた KMS キーではなく、エイリアスを参照します。

各エイリアスには 2 つの形式があります。

エイリアスを作成するときは、エイリアス名を指定します。 によってエイリアス ARN AWS KMS が作成されます。

  • エイリアス ARN は、エイリアスを一意に識別する Amazon リソースネーム(ARN)です。

    # Alias ARN arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  • エイリアス名は、アカウントとリージョンで一意です。 AWS KMS API では、エイリアス名には常に というプレフィックスが付きますalias/。このプレフィックスは AWS KMS コンソールでは省略されます。

    # Alias name alias/<alias-name>
エイリアスはシークレットではありません

エイリアスは、CloudTrail ログやその他の出力にプレーンテキストで表示される場合があります。エイリアス名には、機密情報や重要情報を含めないでください。

各エイリアスは、一度に 1 つの KMS キーに関連付けられる

エイリアスとその KMS キーは、同じアカウントとリージョンに存在する必要があります。

エイリアスは、同じ AWS アカウント およびリージョン内の任意のカスタマーマネージドキーに関連付けることができます。ただし、エイリアスを AWS マネージドキー に関連付ける許可はありません。

例えば、この ListAliases 出力では、test-key エイリアスが正確に 1 つのターゲット KMS キーに関連付けられていることが示されています。これは、TargetKeyId プロパティによって表されます。

{ "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 }
複数のエイリアスを同じ KMS キーに関連付けることができる

例えば、test-keyproject-key のエイリアスを同じ KMS キーに関連付けることができます。

{ "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 }, { "AliasName": "alias/project-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }
エイリアスは、アカウントとリージョン内で一意である必要があります

例えば、各アカウントとリージョンに test-key エイリアスを 1 つだけ持つことができます。エイリアスでは大文字と小文字が区別されますが、大文字と小文字だけが異なるエイリアスは非常にエラーが発生しやすくなります。エイリアス名は変更できません。ただし、エイリアスを削除して、目的の名前で新しいエイリアスを作成することはできます。

異なるリージョンに同じ名前のエイリアスを作成することができます

例えば、米国東部 (バージニア北部) に finance-key エイリアスを持つことができ、ヨーロッパ (フランクフルト) に finance-key エイリアスを持つことができます。各エイリアスは、そのリージョンの KMS キーに関連付けられます。コードが alias/finance-key のようなエイリアス名を参照している場合は、複数のリージョンで実行できます。各リージョンでは、異なる KMS キーが使用されます。詳細については、「アプリケーションでエイリアスを使用する方法について説明します。」を参照してください。

エイリアスに関連付けられている KMS キーを変更できる

UpdateAlias オペレーションを使用して、エイリアスを別の KMS キーに関連付けることができます。例えば、finance-key エイリアスが 1234abcd-12ab-34cd-56ef-1234567890ab KMS キーに関連付けられている場合、0987dcba-09fe-87dc-65ba-ab0987654321 KMS キーに関連付けられるようにエイリアスを更新できます。

ただし、現在の KMS キーと新しい KMS キーが同じタイプ (両方とも対称または非対称、もしくは両方とも HMAC) であり、同じキー使用法 (ENCRYPT_DECRYPT、SIGN_VERIFY、GENERATE_VERIFY_MAC のいずれか) である必要があります。この制限により、エイリアスを使用するコードのエラーが防止されます。エイリアスを別のタイプのキーに関連付ける必要があり、リスクを軽減した場合は、エイリアスを削除して再作成できます。

一部の KMS キーにはエイリアスがない

AWS KMS コンソールで KMS キーを作成するときは、新しいエイリアスを指定する必要があります。ただし、CreateKey オペレーションを使用して KMS キーを作成する場合、エイリアスは必要ありません。また、UpdateAlias オペレーションを使用してエイリアスに関連付けられている KMS キーを変更し、DeleteAlias オペレーションを使用してエイリアスを削除することもできます。そのため、KMS キーには、複数のエイリアスを持つものもあれば、エイリアスを持たないものもあります。

AWS がアカウントにエイリアスを作成する

AWS は、 のアカウントにエイリアスを作成しますAWS マネージドキー。これらのエイリアスには alias/aws/<service-name>, 、のような形式の名前 alias/aws/s3があります。

一部のエイリアスには AWS KMS キーがありません。これらの事前定義されたエイリアスは、通常、サービスの使用を開始する AWS マネージドキー ときに に関連付けられます。

エイリアスを使用して KMS キーを識別する

エイリアス名またはエイリアス ARN を使用して、暗号化オペレーションDescribeKeyGetPublicKey で KMS キーを識別できます。(KMS キーが別の AWS アカウントにある場合は、そのキー ARN またはエイリアス ARN を使用する必要があります)。エイリアスは、他の AWS KMS オペレーションでは、KMS キーの有効な識別子ではありません 各 AWS KMS API オペレーションの有効なキー識別子については、 AWS Key Management Service API リファレンスKeyIdパラメータの説明を参照してください。

エイリアス名、またはエイリアス ARN を使用して、IAM ポリシーの KMS キーを識別することはできません。エイリアスに基づいて KMS キーへのアクセスを制御するには、kms:RequestAlias または kms:ResourceAliases 条件キーを使用します。詳細については、「の ABAC AWS KMS」を参照してください。