

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

# AWS グローバル条件キー
<a name="conditions-aws"></a>

AWS は、[アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys)コントロールに IAM を使用するすべての AWS サービスのポリシー条件キーのセットであるグローバル条件キーを定義します。 は、すべてのグローバル条件キー AWS KMS をサポートします。 AWS KMS キーポリシーと IAM ポリシーで使用できます。

例えば、[aws:PrincipalArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalarn) グローバル条件キーを使用すると、リクエスト内のプリンシパルが条件キーバリューの Amazon リソースネーム (ARN) で表されている場合にのみ、 AWS KMS key (KMS キー) へのアクセスを許可できます。で[属性ベースのアクセスコントロール](abac.md) (ABAC) をサポートするには AWS KMS、IAM ポリシーで [aws:ResourceTag/*tag-key*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) グローバル条件キーを使用して、特定のタグを持つ KMS キーへのアクセスを許可できます。

プリンシパルがサービスプリンシ[AWS パル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)であるポリシーで AWS サービスが混乱した代理として使用されないようにするには、 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)または [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) グローバル条件キーを使用できます。詳細については、「[`aws:SourceArn` または `aws:SourceAccount` 条件キーの使用](least-privilege.md#least-privilege-source-arn)」を参照してください。

利用可能なリクエストのタイプを含む AWS グローバル条件キーの詳細については、*IAM ユーザーガイド*の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。IAM ポリシーでグローバル条件キーを使用する例については、*IAM ユーザーガイド*の[リクエストへのアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)および[タグキーの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)を参照してください。

以下のトピックでは、IP アドレスと VPC エンドポイントに基づく条件キーを使用するための特別なガイダンスを提供します。

**Topics**
+ [アクセス AWS KMS 許可を持つポリシーでの IP アドレス条件の使用](#conditions-aws-ip-address)
+ [アクセス AWS KMS 許可を持つポリシーでの VPC エンドポイント条件の使用](#conditions-aws-vpce)
+ [IAM および AWS KMS キーポリシーでの IPv6 アドレスの使用](#KMS-IPv6-policies)

## アクセス AWS KMS 許可を持つポリシーでの IP アドレス条件の使用
<a name="conditions-aws-ip-address"></a>

を使用して AWS KMS 、[統合 AWS サービス](service-integration.md)内のデータを保護できます。ただし、アクセスを許可または拒否するのと同じポリシーステートメントで [IP アドレス条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress)または`aws:SourceIp`条件キーを指定する場合は注意が必要です AWS KMS。たとえば、 のポリシー[AWS: ソース IP AWS に基づいて へのアクセスを拒否すると](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html)、 AWS アクションは指定された IP 範囲からのリクエストに制限されます。

次のシナリオを考えてみます。

1. [AWS「: ソース IP AWS に基づいて へのアクセスを拒否する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html)」に示されているようなポリシーを IAM アイデンティティにアタッチします。`aws:SourceIp` 条件キーの値は、ユーザーの会社の IP アドレス範囲に設定します。この IAM アイデンティティには、Amazon EBS、Amazon EC2、 AWS KMSの使用を許可する他のポリシーがアタッチされています。

1. アイデンティティは、暗号化された EBS ボリュームを EC2 インスタンスにアタッチしようとします。このアクションは、関連するすべてのサービスを使用するためのアクセス権限がユーザーに付与されているにもかかわらず、承認エラーが発生して失敗します。

ボリュームの暗号化されたデータキーを復号 AWS KMS する へのリクエストは、Amazon EC2 インフラストラクチャに関連付けられている IP アドレスから送信されるため、ステップ 2 は失敗します。成功させるには、リクエストは、元のユーザーの IP アドレスからリクエストが送られてこなければなりません。ステップ 1 のポリシーでは、指定されたもの以外の IP アドレスからのすべてのリクエストが明示的に拒否されるため、Amazon EC2 は EBS ボリュームの暗号化されたデータキーを復号化する権限を拒否されます。

また、リクエストが [Amazon VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)から送信される場合、`aws:SourceIP` 条件キーは無効です。リクエストを [AWS KMS VPC エンドポイント](kms-vpc-endpoint.md)などの VPC エンドポイントに制限するには、`aws:SourceVpce` または `aws:SourceVpc` 条件キーを使用します。詳細については、[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html#vpc-endpoints-iam-access)の「*VPC エンドポイント - エンドポイントの使用の管理*」を参照してください。

## アクセス AWS KMS 許可を持つポリシーでの VPC エンドポイント条件の使用
<a name="conditions-aws-vpce"></a>

は、[AWS KMS PrivateLink を搭載した Amazon Virtual Private Cloud (Amazon VPC) エンドポイントをサポートしています](kms-vpc-endpoint.md)。 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Introduction.html#what-is-privatelink) キーポリシーと IAM ポリシーで次の[グローバル条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys)を使用して、リクエストが VPC から送信されたとき、または VPC エンドポイントを使用する場合の AWS KMS リソースへのアクセスを制御できます。詳細については、「[VPC エンドポイントを使用して AWS KMS リソースへのアクセスを制御する](vpce-policy-condition.md)」を参照してください。
+ `aws:SourceVpc` は、指定した VPC からのリクエストにアクセスを制限します。
+ `aws:SourceVpce` は、指定した VPC エンドポイントからのリクエストにアクセスを制限します。

これらの条件キーを使用して KMS キーへのアクセスを制御すると、 が AWS KMS ユーザーに代わって使用する AWS サービスへのアクセスが誤って拒否される可能性があります。

[IP アドレス条件キー](#conditions-aws-ip-address)の例のような状況にならないように注意してください。KMS キーのリクエストを VPC または VPC エンドポイントに制限すると、Amazon S3 や Amazon EBS などの統合サービス AWS KMS からの の呼び出しが失敗する可能性があります。ソースリクエストの最初の送信元が VPC 内または VPC エンドポイントであっても、これは発生することがあります。

## IAM および AWS KMS キーポリシーでの IPv6 アドレスの使用
<a name="KMS-IPv6-policies"></a>

IPv6 AWS KMS 経由で にアクセスする前に、IP アドレス制限を含むキーポリシーと IAM ポリシーが更新され、IPv6 アドレス範囲が含まれていることを確認してください。IPv6 アドレスを処理するように更新されていない IP ベースのポリシーでは、IPv6 の使用を開始する際、クライアントが誤ってアクセスを取得する場合やアクセスを失う場合があります。KMS アクセスコントロールの一般的なガイダンスについては、「[KMS キーのアクセスとアクセス許可](control-access.md)」を参照してください。KMS とデュアルスタックのサポートについては、「[デュアルスタックエンドポイントのサポート](ipv6-kms.md)」を参照してください。

**重要**  
これらのステートメントでは、アクションは許可されません。これらのステートメントは、特定のアクションを許可する他のステートメントと組み合わせて使用します。

次のステートメントは、IPv4 アドレスの `192.0.2.*` 範囲から送信されるリクエストに対するすべての KMS アクセス許可へのアクセスを明示的に拒否します。この範囲外の IP アドレスは、KMS アクセス許可が明示的に拒否されません。すべての IPv6 アドレスが拒否範囲外であるため、このステートメントは IPv6 アドレスに対する KMS アクセス許可を明示的に拒否しません。

```
{
     "Sid": "DenyKMSPermissions",
     "Effect": "Deny",
    "Action": [
        "kms:*"
    ],
    "Resource": "*",
    "Condition": {
        "NotIpAddress": {
            "aws:SourceIp": [ 
                "192.0.2.0/24"
            ]
        }
    }
}
```

次の例に示すように、`Condition` 要素を変更して、IPv4 (`192.0.2.0/24`) と IPv6 (`2001:db8:1234::/32`) のアドレス範囲の両方を拒否できます。

```
{
    "Sid": "DenyKMSPermissions",
    "Effect": "Deny",
    "Action": [
        "kms:*"
    ],
    "Resource": "*",
    "Condition": {
        "NotIpAddress": {
            "aws:SourceIp": [ 
                "192.0.2.0/24",
                "2001:db8:1234::/32"
            ]
        }
    }
}
```