

# AWS グローバル条件コンテキストキー
<a name="reference_policies_condition-keys"></a>

[プリンシパル](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#principal)が AWS に[リクエスト](intro-structure.md#intro-structure-request)を行うと、AWS はリクエスト情報を[リクエストコンテキスト](intro-structure.md#intro-structure-request)に収集します。JSON ポリシーの `Condition` 要素を使用して、リクエストコンテキストのキーを、ポリシーで指定したキー値と比較できます。リクエスト情報は、リクエストを行うプリンシパル、リクエストの対象となるリソース、リクエスト自体に関するメタデータなど、さまざまなソースから提供されます。

**グローバル条件キー**は、すべての AWS サービスで使用できます。これらの条件キーはすべてのポリシーで使用できますが、キーはすべてのリクエストコンテキストで使用できるわけではありません。例えば、`aws:SourceAccount` 条件キーは、リソースへの呼び出しが [AWS サービスプリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services) によって直接行われた場合にのみ使用できます。グローバルキーがリクエストコンテキストに含まれる状況の詳細については、各キーの**可用性**情報を参照してください。

個別のサービスの中には、他のサービスのリクエストコンテキストで使用できる独自の条件キーを作成するものもあります。**クロスサービス条件キー**は、`ec2:` や `lambda:` など、サービスの名前と一致するプレフィックスを含むグローバル条件キーの一種ですが、他のサービスで使用できます。

**サービス固有の条件キー**は、個々の AWS サービスで使用するように定義されています。例えば、Amazon S3 では、`s3:VersionId` 条件キーを使用してポリシーを作成し、Amazon S3 オブジェクトの特定のバージョンへのアクセスを制限できます。この条件キーはサービス固有です。つまり、Amazon S3 サービスへのリクエストでのみ機能します。サービス固有の条件キーについては、「[AWS サービスのアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html)」を参照し、キーを表示するサービスを選択してください。

**注記**  
いくつかの状況でのみ利用可能な条件キーを使用する場合は、条件演算子の [IfExists](reference_policies_elements_condition_operators.md#Conditions_IfExists) バージョンを使用できます。リクエストコンテキストに条件キーがない場合、ポリシーは評価に失敗する可能性があります。たとえば、`...IfExists` 演算子を使用する以下の条件ブロックでは、リクエストの送信元が特定の IP 範囲または VPC である場合、この条件に一致となります。いずれかまたは両方のキーがリクエストコンテキストに含まれていない場合でも、条件は引き続き `true` を返します。これらの値は、指定したキーがリクエストコンテキスト内に含まれる場合にのみ確認されます。他の演算子のキーが存在しない場合のポリシーの評価方法の詳細については、「[条件演算子](reference_policies_elements_condition_operators.md)」を参照してください。  

```
"Condition": {
    "IpAddressIfExists": {"aws:SourceIp" : ["xxx"] },
    "StringEqualsIfExists" : {"aws:SourceVpc" : ["yyy"]} 
}
```

**重要**  
条件を複数のキー値を持つ要求コンテキストと比較するには、`ForAllValues` または `ForAnyValue` 集合演算子を使用する必要があります。セット演算子は、複数値の条件キーでのみ使用してください。単一値の条件キーで集合演算子を使用しないでください。詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。


| プリンシパルのプロパティ | ロールセッションのプロパティ | ネットワークのプロパティ | リソースのプロパティ | リクエストのプロパティ | 
| --- | --- | --- | --- | --- | 
|  `aws:PrincipalArn` `aws:PrincipalAccount` `aws:PrincipalOrgPaths` `aws:PrincipalOrgID` `aws:PrincipalTag/*tag-key*` `aws:PrincipalIsAWSService` `aws:PrincipalServiceName` `aws:PrincipalServiceNamesList` `aws:PrincipalType` `aws:userid` `aws:username`  |  `aws:AssumedRoot` `aws:FederatedProvider` `aws:TokenIssueTime` `aws:MultiFactorAuthAge` `aws:MultiFactorAuthPresent` `aws:ChatbotSourceArn` `aws:Ec2InstanceSourceVpc` `aws:Ec2InstanceSourcePrivateIPv4` `aws:SourceIdentity` `ec2:RoleDelivery` `ec2:SourceInstanceArn` `glue:RoleAssumedBy` `glue:CredentialIssuingService` `codebuild:BuildArn` `codebuild:ProjectArn` `lambda:SourceFunctionArn` `ssm:SourceInstanceArn` `identitystore:UserId`  |  `aws:SourceIp` `aws:SourceVpc` `aws:SourceVpcArn` `aws:SourceVpce` `aws:VpceAccount` `aws:VpceOrgID` `aws:VpceOrgPaths` `aws:VpcSourceIp`  |  `aws:ResourceAccount` `aws:ResourceOrgID` `aws:ResourceOrgPaths` `aws:ResourceTag/*tag-key*`  |  `aws:CalledVia` `aws:CalledViaFirst` `aws:CalledViaLast` `aws:CalledViaAWSMCP` `aws:ViaAWSService` `aws:ViaAWSMCPService` `aws:CurrentTime` `aws:EpochTime` `aws:referer` `aws:RequestedRegion` `aws:RequestTag/*tag-key*` `aws:TagKeys` `aws:SecureTransport` `aws:SourceAccount` `aws:SourceArn` `aws:SourceOrgID` `aws:SourceOrgPaths` `aws:UserAgent` `aws:IsMcpServiceAction`  | 

## 機密条件キー
<a name="condition-keys-sensitive"></a>

以下の条件キーは機密と見なされます。ワイルドカードを含むキー値のサブ文字列の場合であっても、これらの条件キーでのワイルドカードの使用には有効なユースケースはありません。これは、ワイルドカードによって条件キーが任意の値に一致し、セキュリティリスクが引き起こされる可能性があるためです。
+ `aws:PrincipalAccount`
+ `aws:PrincipalOrgID`
+ `aws:ResourceAccount`
+ `aws:ResourceOrgID`
+ `aws:SourceAccount`
+ `aws:SourceOrgID`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:VpceAccount`
+ `aws:VpceOrgID`

## プリンシパルのプロパティ
<a name="condition-keys-principal-properties"></a>

次の条件キーを使用して、リクエストを行うプリンシパルの詳細を、ポリシーで指定したプリンシパルのプロパティと比較します。リクエストを実行できるプリンシパルのリストについては、「[プリンシパルを指定する方法](reference_policies_elements_principal.md#Principal_specifying)」を参照してください。

### aws:PrincipalArn
<a name="condition-keys-principalarn"></a>

このキーを使用して、リクエストを行ったプリンシパルの [Amazon リソースネーム](reference_identifiers.md#identifiers-arns) (ARN) をポリシーで指定した ARN と比較します。IAM ロールの場合、リクエストコンテキストは、ロールを引き受けたユーザーの ARN ではなく、ロールの ARN を返します。
+ **可用性** – このキーは、すべての署名付きリクエストのリクエストコンテキストに含まれます。匿名リクエストには、このキーは含まれません。この条件キーで指定できるプリンシパルのタイプは次のとおりです。
  + IAM ロール
  + IAM ユーザー
  + AWS STS フェデレーションユーザーのプリンシパル
  + AWS アカウント のルートユーザー
+ **データ型** – ARN

  AWS では、ARN を比較する場合、[文字列演算子](reference_policies_elements_condition_operators.md#Conditions_String)の代わりに [ARN 演算子](reference_policies_elements_condition_operators.md#Conditions_ARN)を使用することをお勧めします。
+ **値タイプ** — 単一値
+ **値の例** 次のリストは、`aws:PrincipalArn` 条件キーで指定できるさまざまなタイプのプリンシパルに対して返されるリクエストコンテキスト値を示しています。
  + **IAM ロール** — リクエストコンテキストには、条件キー `aws:PrincipalArn` に次の値が含まれています。引き受けたロールのセッション ARN をこの条件キーの値として指定しないでください。引き受けたロールセッションのプリンシパルの詳細については、「[ロールセッションプリンシパル](reference_policies_elements_principal.md#principal-role-session)」を参照してください。

    ```
    arn:aws:iam::123456789012:role/role-name
    ```
  + **IAM ユーザー** — リクエストコンテキストには、条件キー `aws:PrincipalArn` に次の値が含まれています。

    ```
    arn:aws:iam::123456789012:user/user-name
    ```
  + **AWS STS フェデレーションユーザーのプリンシパル** – リクエストコンテキストには、条件キーの `aws:PrincipalArn` に次の値が含まれています。

    ```
    arn:aws:sts::123456789012:federated-user/user-name
    ```
  + **AWS アカウント ルートユーザー** — リクエストコンテキストには、条件キー `aws:PrincipalArn` に次の値が含まれています。ルートユーザー ARN を `aws:PrincipalArn` 条件キーの値として指定すると、アクセス許可が AWS アカウント のルートユーザーのみに制限されます。これは、リソースベースポリシーのプリンシパル要素でルートユーザー ARN を指定して、AWS アカウント.に権限を委任することとは異なります。リソースベースのポリシーのプリンシパル要素でルートユーザー ARN を指定する方法については、「[AWS アカウント プリンシパル](reference_policies_elements_principal.md#principal-accounts)」を参照してください。

    ```
    arn:aws:iam::123456789012:root
    ```

AWS Organizations サービスコントロールポリシー (SCP) の条件キー `aws:PrincipalArn` の値としてルートユーザー ARN を指定することができます。SCP は、組織のアクセス許可の管理に使用される組織ポリシーの一種で、組織内のメンバーアカウントにのみ影響します。SCP は、メンバーアカウントのルートユーザーを含む、メンバーアカウントの IAM ユーザーとロールのアクセス許可を制限します。SCP がアクセス許可に与える影響については、「*AWS Organizations ユーザーガイド*」の「[アクセス許可における SCP 効果](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-effects-on-permissions)」を参照してください。

### aws:PrincipalAccount
<a name="condition-keys-principalaccount"></a>

このキーを使用して、リクエスト元のプリンシパルが属するアカウントと、ポリシーで指定したアカウント識別子を比較します。匿名リクエストの場合、リクエストコンテキストは `anonymous` を返します。
+ **可用性** – このキーは、匿名リクエストなどのすべてのリクエストのリクエストコンテキストに含まれます。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

次の例では、アカウント番号が `123456789012` のプリンシパル以外に対するアクセスは拒否されます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessFromPrincipalNotInSpecificAccount",
      "Action": "service:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:service:us-east-1:111122223333:resource"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalAccount": [
            "123456789012"
          ]
        }
      }
    }
  ]
}
```

------

### aws:PrincipalOrgPaths
<a name="condition-keys-principalorgpaths"></a>

このキーを使用して、リクエストを行っているプリンシパルの AWS Organizations パスをポリシー内のパスと比較します。そのプリンシパルは IAM ユーザー、IAM ロール、AWS STS フェデレーションユーザーのプリンシパル、AWS アカウントのルートユーザー の場合があります。ポリシーでは、この条件キーによって、リクエスタが AWS Organizations で指定された組織ルートまたは組織単位 (OU) 内のアカウントメンバーであることが保証されます。AWS Organizations パスは、AWS Organizations エンティティの構造をテキストで表記したものです。パスの使用と理解の詳細については、「[AWS Organizations エンティティパスを理解する](access_policies_last-accessed-view-data-orgs.md#access_policies_last-accessed-viewing-orgs-entity-path)」を参照してください。
+ **可用性** – このキーは、プリンシパルが組織のメンバーである場合にのみリクエストコンテキストに含まれます。匿名リクエストには、このキーは含まれません。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

**注記**  
組織 ID はグローバルに一意ですが、OU ID とルート ID は組織内でのみ一意です。これは、2 つの組織が同じ組織 ID を共有しないことを意味します。ただし、別の組織が自分と同じ ID を持つ OU またはルートを持っている可能性があります。OU またはルートを指定するときは、必ず組織 ID を含めることをお勧めします。

たとえば、次の条件は、`true` OU に直接アタッチされているが、子の OU にはアタッチされていないアカウントのプリンシパルに対して `ou-ab12-22222222` を返します。

```
"Condition" : { "ForAnyValue:StringEquals" : {
     "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"]
}}
```

次の条件は、OU またはその子の OU に直接アタッチされているアカウントのプリンシパルに対して `true` を返します。ワイルドカードを含める場合は、`StringLike` 条件演算子を使用する必要があります。

```
"Condition" : { "ForAnyValue:StringLike" : {
     "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*"]
}}
```

次の条件は、OU またはその子の OU に直接アタッチされているアカウントのプリンシパルに対して `true` を返します。以前の条件は、OU または任意の子を対象としています。以下の条件は、子のみ (およびそれらの子のすべての子) を対象としています 。

```
"Condition" : { "ForAnyValue:StringLike" : {
     "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/ou-*"]
}}
```

次の条件は、親 OU に関係なく、`o-a1b2c3d4e5` 組織内のすべてのプリンシパルへのアクセスを許可します。

```
"Condition" : { "ForAnyValue:StringLike" : {
     "aws:PrincipalOrgPaths":["o-a1b2c3d4e5/*"]
}}
```

`aws:PrincipalOrgPaths` は複数の値を持つ条件キーです。複数値のキーは、リクエストコンテキストに複数の値を持つことができます。`ForAnyValue` 条件演算子で複数の値を使用する場合、プリンシパルのパスはポリシーに一覧表示されているパスの 1 つと一致する必要があります。複数値を持つ条件キーの詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。

```
    "Condition": {
        "ForAnyValue:StringLike": {
            "aws:PrincipalOrgPaths": [
                "o-a1b2c3d4e5/r-ab12/ou-ab12-33333333/*",
                "o-a1b2c3d4e5/r-ab12/ou-ab12-22222222/*"
            ]
        }
    }
```

### aws:PrincipalOrgID
<a name="condition-keys-principalorgid"></a>

このキーを使用して、リクエスト元のプリンシパルが属する AWS Organizations の組織の識別子と、ポリシーで指定された識別子を比較します。
+ **可用性** – このキーは、プリンシパルが組織のメンバーである場合にのみリクエストコンテキストに含まれます。匿名リクエストには、このキーは含まれません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

このグローバルキーは、組織内のすべての AWS アカウントのすべてのアカウント ID を一覧表示する代わりに使用できます。この条件キーを使用して、[リソースベースのポリシー](access_policies_identity-vs-resource.md)での `Principal` 要素の指定を簡素化します。[組織 ID](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html) は、条件要素で指定できます。アカウントを追加したり削除したりすると、`aws:PrincipalOrgID` を含むポリシーには正しいアカウントが自動的に組み込まれ、手動で更新する必要はありません。

たとえば、以下の `o-xxxxxxxxxxx` バケットポリシーでは、`amzn-s3-demo-bucket` 組織の任意のアカウントのメンバーに Amazon S3 バケットへのオブジェクトの追加を許可します。

------
#### [ JSON ]

****  

```
 {
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "AllowPutObject",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {"StringEquals":
      {"aws:PrincipalOrgID":"o-xxxxxxxxxxx"}
    }
  }
}
```

------

**注記**  
また、このグローバル条件は、AWS 組織の管理アカウントにも適用されます。このポリシーは、指定した組織以外のすべてのプリンシパルが、Amazon S3 バケットにアクセスできないようにします。これには、AWS CloudTrail がログデータを Amazon S3 バケットに送信する場合など、お客様の内部リソースと相互にやり取りを行う AWS サービスも含まれます。AWS サービスでアクセス許可を安全に付与する方法については、「[aws:PrincipalIsAWSService](#condition-keys-principalisawsservice)」を参照してください。

AWS Organizations の詳細については、*AWS Organizationsユーザーガイド*の「[AWS Organizations とは](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)」を参照してください。

### aws:PrincipalTag/*tag-key*
<a name="condition-keys-principaltag"></a>

このキーを使用して、リクエストを行うプリンシパルにアタッチされたタグと、ポリシーで指定したタグを比較します。プリンシパルに複数のタグがアタッチされている場合、リクエストコンテキストには、アタッチされたタグキーごとに 1 つの `aws:PrincipalTag` キーが含まれます。
+ **可用性** – このキーは、プリンシパルが、タグがアタッチされた IAM ユーザーである場合にリクエストコンテキストに含まれます。これは、タグまたは[セッションタグ](id_session-tags.md)がアタッチされた IAM ロールを使用するプリンシパルのために含まれます。匿名リクエストには、このキーは含まれません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

カスタム属性は、キーバリューのペアの形式でユーザーまたはロールに追加できます。IAM タグの使用の詳細については、「[AWS Identity and Access Management リソースのタグ](id_tags.md)」を参照してください。`aws:PrincipalTag` を使用して AWS プリンシパルの[アクセスをコントロール](access_iam-tags.md#access_iam-tags_control-principals)できます。

この例では、**department=hr** タグを持つユーザーが IAM ユーザー、グループ、またはロールを管理できるようにするID ベースポリシーを作成する方法を示しています。このポリシーを使用するには、サンプルポリシーの*イタリック体のプレースホルダーテキスト*を独自の情報に置き換えます。次に、「[ポリシーの作成](access_policies_create.md)または[ポリシーの編集](access_policies_manage-edit.md)」の手順に従います。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:Get*",
        "iam:List*",
        "iam:Generate*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/department": "hr"
        }
      }
    }
  ]
}
```

------

### aws:PrincipalIsAWSService
<a name="condition-keys-principalisawsservice"></a>

このキーを使用して、リソースへの呼び出しが AWS [サービスプリンシパル](reference_policies_elements_principal.md#principal-services)によって直接行われているかどうかを確認します。たとえば、AWS CloudTrail はサービスプリンシパル `cloudtrail.amazonaws.com` を使用して、Amazon S3 バケットにログを書き込みます。サービスがサービスプリンシパルを使用してリソースに対して直接アクションを実行する場合、リクエストコンテキストキーは true に設定されます。サービスが IAM プリンシパルの認証情報を使用し、プリンシパルに代わってリクエストを行う場合、コンテキストキーは false に設定されます。また、サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合も、false に設定されます。
+ **可用性** — このキーは、AWS 認証情報を使用するすべての署名済み API リクエストのリクエストコンテキストに存在します。匿名リクエストには、このキーは含まれません。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

この条件キーを使用して、AWS サービスへのアクセスを安全に許可しながら、信頼できる ID と予想されるネットワークの場所へのアクセスを制限できます。

次の Amazon S3 バケットポリシーの例では、リクエストが `vpc-111bbb22` から発信されているか、CloudTrail などのサービスプリンシパルから発信されていない限り、バケットへのアクセスが制限されています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ExpectedNetworkServicePrincipal",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/AWSLogs/AccountNumber/*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceVpc": "vpc-111bbb22"
        },
        "BoolIfExists": {
          "aws:PrincipalIsAWSService": "false"
        }
      }
    }
  ]
}
```

------

次のビデオでは、ポリシーで `aws:PrincipalIsAWSService` 条件キーを使用する方法について詳しく説明します。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/gv-_H8a42G4/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/gv-_H8a42G4)


### aws:PrincipalServiceName
<a name="condition-keys-principalservicename"></a>

このキーを使用して、[サービスプリンシパル](reference_policies_elements_principal.md#principal-services)の名前を、リソースにリクエストするサービスプリンシパルとともに設定します。このキーを使用して、この呼び出しが特定のサービスプリンシパルによって行われたかどうかを確認できます。サービスプリンシパルがリソースに直接リクエストする場合、`aws:PrincipalServiceName` キーには、サービスプリンシパルの名前が含まれます。たとえば、AWS CloudTrail のサービスプリンシパル名は `cloudtrail.amazonaws.com` です。
+ **可用性** — このキーは、呼び出しがAWSサービスプリンシパル。このキーは、次のような他の状況では存在しません。
  + サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合。
  + サービスが IAM プリンシパルの認証情報を使用し、プリンシパルに代わってリクエストを行う場合。
  + 呼び出しが IAM プリンシパルによって直接行われた場合。
  + 匿名の依頼者によって電話された場合。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

この条件キーを使用して、AWS サービスへのアクセスを安全に許可しながら、信頼できる ID と予想されるネットワークの場所へのアクセスを制限できます。

次の Amazon S3 バケットポリシーの例では、リクエストが `vpc-111bbb22` から発信されているか、CloudTrail などのサービスプリンシパルから発信されていない限り、バケットへのアクセスが制限されています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ExpectedNetworkServicePrincipal",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/AWSLogs/AccountNumber/*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceVpc": "vpc-111bbb22",
          "aws:PrincipalServiceName": "cloudtrail.amazonaws.com"
        }
      }
    }
  ]
}
```

------

### aws:PrincipalServiceNamesList
<a name="condition-keys-principalservicenameslist"></a>

このキーは、サービスに属するすべての[サービスプリンシパル](reference_policies_elements_principal.md#principal-services)名のリストを提供します。これは高度な条件キーです。これを使用して、サービスが特定のリージョンからのみリソースにアクセスすることを制限できます。一部のサービスでは、特定のリージョン内のサービスの特定のインスタンスを示すために、リージョナルサービスプリンシパルを作成できます。リソースへのアクセスをサービスの特定のインスタンスに制限できます。サービスプリンシパルがリソースに直接リクエストを行うと、`aws:PrincipalServiceNamesList` には、サービスのリージョナルインスタンスに関連付けられているすべてのサービスプリンシパル名の順序付けられていないリストが含まれます。
+ **可用性** — このキーは、呼び出しがAWSサービスプリンシパル。このキーは、次のような他の状況では存在しません。
  + サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合。
  + サービスが IAM プリンシパルの認証情報を使用し、プリンシパルに代わってリクエストを行う場合。
  + 呼び出しが IAM プリンシパルによって直接行われた場合。
  + 匿名の依頼者によって電話された場合。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

`aws:PrincipalServiceNamesList` は複数の値を持つ条件キーです。複数値のキーは、リクエストコンテキストに複数の値を持つことができます。このキーを使用する場合は、[文字列条件演算子](reference_policies_elements_condition_operators.md#Conditions_String)とともに `ForAnyValue` または `ForAllValues` の集合演算子を使用する必要があります。複数値を持つ条件キーの詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。

### aws:PrincipalType
<a name="condition-keys-principaltype"></a>

このキーを使用して、リクエストを行うプリンシパルと、ポリシーで指定したプリンシパルのタイプを比較します。詳細については、「[プリンシパルを指定する方法](reference_policies_elements_principal.md#Principal_specifying)」を参照してください。`principal` キーの値の具体的な例については、「[プリンシパルキーの値](reference_policies_variables.md#principaltable)」を参照してください。
+ **可用性** – このキーは、匿名リクエストなどのすべてのリクエストのリクエストコンテキストに含まれます。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

### aws:userid
<a name="condition-keys-userid"></a>

このキーを使用して、リクエスタのプリンシパル ID とポリシーで指定した識別子を比較します。IAM ユーザーの場合、リクエストコンテキスト値はユーザー ID です。IAM ロールの場合、この値の形式はさまざまです。さまざまなプリンシパルで情報がどのように表示されるかについては、「[プリンシパルを指定する方法](reference_policies_elements_principal.md#Principal_specifying)」を参照してください。`principal` キーの値の具体的な例については、「[プリンシパルキーの値](reference_policies_variables.md#principaltable)」を参照してください。
+ **可用性** – このキーは、匿名リクエストなどのすべてのリクエストのリクエストコンテキストに含まれます。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

### aws:username
<a name="condition-keys-username"></a>

このキーを使用して、リクエスタのユーザー名をポリシーで指定したユーザー名と比較します。さまざまなプリンシパルで情報がどのように表示されるかについては、「[プリンシパルを指定する方法](reference_policies_elements_principal.md#Principal_specifying)」を参照してください。`principal` キーの値の具体的な例については、「[プリンシパルキーの値](reference_policies_variables.md#principaltable)」を参照してください。
+ **可用性** – このキーは常に IAM ユーザーのリクエストコンテキストに含まれます。匿名のリクエストと AWS アカウントのルートユーザー または IAM ロールを使用して行われたリクエストには、このキーは含まれません。IAM Identity Center の認証情報を使用して行われたリクエストでは、このキーはコンテキストに含まれません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

## ロールセッションのプロパティ
<a name="condition-keys-role-session-properties"></a>

次の条件キーを使用して、セッション生成時のロールセッションのプロパティを比較します。これらの条件キーは、ロールセッションまたはフェデレーションユーザーのプリンシパル認証情報を持つプリンシパルによってリクエストされた場合にのみ利用できます。これらの条件キーの値は、ロールのセッショントークンに埋め込まれます。

[ロール](reference_policies_elements_principal.md#principal-roles)はプリンシパルの一種です。[プリンシパルのプロパティ](#condition-keys-principal-properties) セクションの条件キーを使用して、ロールのリクエスト実行中にロールのプロパティを評価することもできます。

### aws:AssumedRoot
<a name="condition-keys-assumedroot"></a>

リクエストが [AssumeRoot](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) を使用して実行されたかどうかを確認するには、このキーを使用します。`AssumeRoot` は、組織内のメンバーアカウントで特権アクションを実行するために使用できる特権ルートユーザーセッションの短期認証情報を返します。詳細については、「[メンバーアカウントのルートアクセスを一元管理](id_root-user.md#id_root-user-access-management)」を参照してください。
+ **可用性** – このキーは、プリンシパルが [AssumeRoot](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) の認証情報を使用してリクエストを行う場合にのみ、リクエストコンテキストに含まれます。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

次の例では、サービスコントロールポリシーとして使用された場合、AWS Organizations メンバーアカウントのルートユーザーの長期的な認証情報の使用を拒否します。このポリシーは、`AssumeRoot` セッションが `AssumeRoot` セッションによって許可されたアクションを実行することを拒否しません。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
       {
          "Effect":"Deny",
          "Action":"*",
          "Resource": "*",
          "Condition":{
             "ArnLike":{
                "aws:PrincipalArn":[
                   "arn:aws:iam::*:root"
                ]
             },
             "Null":{
                "aws:AssumedRoot":"true"
             }
          }
       }
    ]
 }
```

------

### aws:FederatedProvider
<a name="condition-keys-federatedprovider"></a>

このキーを使用して、プリンシパルが発行した ID プロバイダー (IdP) とポリシーで指定した識別子とを比較します。つまり IAM ロールは、[https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRoleWithWebIdentity](https://docs.aws.amazon.com//STS/latest/APIReference/API_AssumeRoleWithWebIdentity) AWS STS オペレーションを使用して引き受けられるということです。結果のロールセッションの一時認証情報を使用してリクエストを作成する場合、リクエストコンテキストは、元のフェデレーティッド ID を認証した IdP を識別します。
+ **可用性** – このキーは、OpenID Connect (OIDC) プロバイダーを使用して引き受けたロールのロールセッションと、OIDC プロバイダーを使用して `AssumeRoleWithWebIdentity` を呼び出すときのロール信頼ポリシーに存在します。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)\$1
+ **値タイプ** — 単一値

\$1 データ型は IdP によって異なります。
+ [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html) などの組み込み AWS IdP を使用している場合、キー値は**[文字列]** になります。キー値は `cognito-identity.amazonaws.com` のようになります。
+ [https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services) や [Amazon EKS](https://docs.aws.amazon.com//eks/latest/userguide/associate-service-account-role.html) など、AWS に組み込まれていない IdP を使用している場合、キー値は **ARN** になります。キー値は `arn:aws:iam::111122223333:oidc-provider/oidc.eks.region.amazonaws.com/id/OIDC_Provider_ID` のようになります。

外部 IdP と `AssumeRoleWithWebIDentity` に関する詳細については、「[一般的なシナリオ](id_federation_common_scenarios.md)」を参照してください。詳細については、「[ロールセッションプリンシパル](reference_policies_elements_principal.md#principal-role-session)」を参照してください。

### aws:TokenIssueTime
<a name="condition-keys-tokenissuetime"></a>

このキーを使用して、一時的なセキュリティ認証情報が発行された日時と、ポリシーで指定した日時を比較します。
+ **可用性** – このキーは、プリンシパルが一時的な認証情報を使用してリクエストを行う場合にのみ、リクエストコンテキストに含まれます。このキーは、アクセスキーを使用して行われたAWS CLI、AWS API、または AWS SDK リクエストには存在しません。
+ **データ型** – [日付](reference_policies_elements_condition_operators.md#Conditions_Date)
+ **値タイプ** — 単一値

一時的認証情報の使用がサポートされているサービスについては、「[IAM と連携する AWS のサービス](reference_aws-services-that-work-with-iam.md)」を参照してください。

### aws:MultiFactorAuthAge
<a name="condition-keys-multifactorauthage"></a>

このキーを使用して、リクエスト元のプリンシパルが MFA を使用して認可されてからの秒数と、ポリシーで指定した数値を比較します。MFA の詳細については、「[IAM の AWS 多要素認証](id_credentials_mfa.md)」を参照してください。

**重要**  
この条件キーは、フェデレーティッド ID や、AWS CLI、AWS API、または AWS SDK リクエストに署名するためにアクセスキーを使用して行われたリクエストには存在しません。一時的なセキュリティ認証情報を使用して API 操作に MFA 保護を追加する方法の詳細については、「[MFA を使用した安全な API アクセス](id_credentials_mfa_configure-api-require.md)」を参照してください。  
IAM フェデレーティッド ID の検証に MFA が使用されているかどうかを確認するには、認証方法を ID プロバイダーから AWS にセッションタグとして渡すことができます。詳細については、「[AWS STS でセッションタグを渡します](id_session-tags.md)」を参照してください。IAM アイデンティティセンター ID に MFA を適用するには、[アクセスコントロールの属性を有効にし](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-abac.html)、認証方法を使用して SAML アサーションクレームを ID プロバイダーから IAM アイデンティティセンターに渡すことができます。
+ **可用性** – このキーは、プリンシパルが[一時的なセキュリティ認証情報](id_credentials_temp.md)を使用してリクエストを行う場合にのみ、リクエストコンテキストに含まれます。MFA 条件を指定したポリシーは、次にアタッチすることができます。
  + IAM ユーザーまたはグループ
  + Amazon S3 バケット、Amazon SQS キュー、または Amazon SNS トピックなどのリソース
  + ユーザーが引き受けることのできる IAM ロールの信頼ポリシー
+ **データ型** – [数値](reference_policies_elements_condition_operators.md#Conditions_Numeric)
+ **値タイプ** — 単一値

### aws:MultiFactorAuthPresent
<a name="condition-keys-multifactorauthpresent"></a>

このキーを使用して、リクエストを行った[一時的なセキュリティ認証情報](id_credentials_temp.md)を検証するために多要素認証 (MFA) を使用したか確認します。

**重要**  
この条件キーは、フェデレーティッド ID や、AWS CLI、AWS API、または AWS SDK リクエストに署名するためにアクセスキーを使用して行われたリクエストには存在しません。一時的なセキュリティ認証情報を使用して API 操作に MFA 保護を追加する方法の詳細については、「[MFA を使用した安全な API アクセス](id_credentials_mfa_configure-api-require.md)」を参照してください。  
IAM フェデレーティッド ID の検証に MFA が使用されているかどうかを確認するには、認証方法を ID プロバイダーから AWS にセッションタグとして渡すことができます。詳細については、「[AWS STS でセッションタグを渡します](id_session-tags.md)」を参照してください。IAM アイデンティティセンター ID に MFA を適用するには、[アクセスコントロールの属性を有効にし](https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-abac.html)、認証方法を使用して SAML アサーションクレームを ID プロバイダーから IAM アイデンティティセンターに渡すことができます。
+ **可用性** – このキーは、プリンシパルが一時的な認証情報を使用してリクエストを行う場合にのみ、リクエストコンテキストに含まれます。MFA 条件を指定したポリシーは、次にアタッチすることができます。
  + IAM ユーザーまたはグループ
  + Amazon S3 バケット、Amazon SQS キュー、または Amazon SNS トピックなどのリソース
  + ユーザーが引き受けることのできる IAM ロールの信頼ポリシー
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

一時的な認証情報は、[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) または [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) の一時トークンを持つ IAM ロールと IAM ユーザー、および AWS マネジメントコンソールのユーザーを認証するために使用されます。

IAM ユーザーアクセスキーは、長期的な認証情報ですが、場合によっては AWS は、IAM ユーザーの代わりに一時的な認証情報を作成し、操作を実行します。このような場合、`aws:MultiFactorAuthPresent` キーはリクエストに存在し、`false` の値に設定されます。これが起こる一般的なケースは、次の 2 つです。
+ AWS マネジメントコンソール の IAM ユーザーが、知らないうちに一時的認証情報を使用します。ユーザーは、長期的な認証情報であるユーザー名とパスワードを使用してコンソールにサインインします。ただし、バックグラウンドでは、コンソールがユーザーに代わって一時的な認証情報を生成します。
+ IAM ユーザーがサービスを呼び出すと、AWS のサービスはユーザーの認証情報を再利用して、別のサービスに対して別のリクエストを行います。たとえば、Athena を呼び出して Amazon S3 バケットにアクセスする場合、または CloudFormation Amazon EC2 インスタンスを作成するには、次の手順に従います。後続のリクエストで、AWS は一時的認証情報を使用します。

一時的認証情報の使用がサポートされているサービスについては、「[IAM と連携する AWS のサービス](reference_aws-services-that-work-with-iam.md)」を参照してください。

`aws:MultiFactorAuthPresent` キーは、API または CLI コマンドがアクセスキーペアなど長期的な認証情報で呼び出された場合には表示されません。したがって、このキーを確認する場合は `...IfExists` バージョンの条件演算子の使用をお勧めします。

以下の `Condition` 要素は、MFA を使用してリクエストが認証されるかどうかを確認する信頼性の高い方法***ではない***点に注意してください。

```
#####   WARNING: NOT RECOMMENDED   #####
"Effect" : "Deny",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "false" } }
```

`Deny` 効果、`Bool` 要素、`false` 値のこの組み合わせは、MFA を使用して認証できるが認証されなかったリクエストを拒否します。このステートメントは、MFA の使用をサポートする一時的認証情報にのみ適用されます。このステートメントは、長期的認証情報を使用して行われるリクエスト、または MFA を使用して認証されるリクエストへのアクセスを拒否しません。ロジックが複雑で MFA 認証が実際に使用されたかどうかをテストしないため、この例は慎重に使用してください。

また、`Deny` 効果、`Null` 要素、`true` の組み合わせは使用しないでください。この組み合わせも同様に、ロジックはさらに複雑になるためです。

**推奨される組み合わせ**  
[`BoolIfExists`](reference_policies_elements_condition_operators.md#Conditions_IfExists) 演算子を使用して、リクエストが MFA を使用して認証されたかどうかを確認することをお勧めします。

```
"Effect" : "Deny",
"Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "false" } }
```

`Deny`、`BoolIfExists`、`false` のこの組み合わせは、MFA を使用して認証されないリクエストを拒否します。具体的には、MFA を使用しないで一時的認証情報を使用して行われたリクエストを拒否します。また、AWS CLI などの長期的な認証情報またはアクセスキーを使用して行われる AWS API オペレーションを使用して行われるリクエストも拒否されます。`*IfExists` 演算子は、`aws:MultiFactorAuthPresent` キーが存在するかどうか、MFA が使用されているかどうかを確認します。これは、MFA を使用して認証されないリクエストを拒否する場合に使用します。これはより安全ですが、AWS CLI または AWS API にアクセスするためにアクセスキーを使用するコードやスクリプトを破損する可能性があります。

**代替の組み合わせ**  
また、[`BoolIfExists`](reference_policies_elements_condition_operators.md#Conditions_IfExists) 演算子を使用して、長期的認証情報を使用して行われる MFA 認証リクエストおよび AWS CLI または AWS API リクエストを許可することもできます。

```
"Effect" : "Allow",
"Condition" : { "BoolIfExists" : { "aws:MultiFactorAuthPresent" : "true" } }
```

キーが存在して MFA が使用されている場合**または**キーが存在しない場合、この条件に一致となります。`Allow`、`BoolIfExists`、`true` のこの組み合わせは、MFA を使用して認証されたリクエスト、または MFA を使用して認証できないリクエストを許可します。つまり、リクエスタが長期的なアクセスキーを使用する場合、AWS CLI、AWS API、および AWS SDK オペレーションが許可されます。この組み合わせでは、MFA を含むことはできるが含んでいない、一時的な認証情報からのリクエストが許可されません。

IAM コンソールのビジュアルエディタを使用してポリシーを作成し、**[MFA 必須]** を選択すると、この組み合わせが適用されます。この設定では、コンソールアクセスに MFA が必要ですが、MFA なしでプログラムによるアクセスを許可します。

または、`Bool` 演算子を使用して、MFA を使用して認証された場合にのみ、プログラムによるリクエストとコンソールによるリクエストを許可できます。

```
"Effect" : "Allow",
"Condition" : { "Bool" : { "aws:MultiFactorAuthPresent" : "true" } }
```

`Allow`、`Bool`、`true` のこの組み合わせは、MFA 認証リクエストのみを許可します。このステートメントは、MFA の使用をサポートする一時的認証情報にのみ適用されます。このステートメントは、長期的アクセスキーを使用して行われたリクエスト、または MFA を使用しないで一時的認証情報を使用して行われたリクエストへのアクセスを許可しません。

MFA キーが存在するかを確認する場合、以下のようなポリシーは使用***しない***でください。

```
#####   WARNING: USE WITH CAUTION   #####

"Effect" : "Allow",
"Condition" : { "Null" : { "aws:MultiFactorAuthPresent" : "false" } }
```

`Allow` 効果、`Null` 要素、`false` 値のこの組み合わせは、リクエストが実際に認証されたかどうかにかかわらず、MFA を使用して認証できるリクエストのみを許可します。これにより、一時的認証情報を使用して行われるすべてのリクエストが許可され、長期的認証情報を使用して行われたリクエストは拒否されます。MFA 認証が実際に使用されたかどうかをテストしないため、この例は慎重に使用してください。

### aws:ChatbotSourceArn
<a name="condition-keys-chatbotsourcearn"></a>

このキーを使用して、プリンシパルが設定したソースチャット設定 ARN を、チャネル設定に関連付けられた IAM ロールのポリシーで指定したチャット設定 ARN と比較します。チャットアプリケーションの Amazon Q Developer によって開始されたロールの引受ロールセッションに基づいてリクエストを承認できます。
+ **可用性** – このキーは、ロールセッションが引き受けられるたびにチャットアプリケーションの Amazon Q Developer サービスによってリクエストのコンテキストに含まれます。このキー値は、[チャットチャネルから AWS CLI コマンドを実行する](https://docs.aws.amazon.com/chatbot/latest/adminguide/chatbot-cli-commands.html)場合など、チャット設定 ARN です。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – `arn:aws::chatbot::123456789021:chat-configuration/slack-channel/private_channel`

次のポリシーは、Slack チャネルから発信されるすべてのリクエストに対して、指定されたバケットへの Amazon S3 の PUT リクエストをすべて拒否します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ExampleS3Deny",
            "Effect": "Deny",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "ArnLike": {
                      "aws:ChatbotSourceArn": "arn:aws:chatbot::*:chat-configuration/slack-channel/*"
                }
            }
        }
    ]
}
```

------

### aws:Ec2InstanceSourceVpc
<a name="condition-keys-ec2instancesourcevpc"></a>

このキーは、Amazon EC2 IAM ロール認証情報が配信された VPC を識別します。[`aws:SourceVPC`](#condition-keys-sourcevpc)グローバルキーを含むポリシーでこのキーを使用すると、認証情報が配信された VPC (`aws:SourceVPC`) と一致する VPC から呼び出しが行われたかどうかを確認できます (`aws:Ec2InstanceSourceVpc`)。
+ **可用性** — リクエスターが Amazon EC2 ロールクレデンシャルでリクエストに署名しているときはいつでも、このキーがリクエストコンテキストに含まれます。IAM ポリシー、サービスコントロールポリシー、VPC エンドポイントポリシー、リソースポリシーで使用できます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

このキーは VPC 識別子の値と共に使用できますが、`aws:SourceVpc` コンテキストキーと組み合わせた変数として使用すると最も便利です。この `aws:SourceVpc` コンテキストキーは、リクエスタが VPC エンドポイントを使用してリクエストを行う場合にのみリクエストコンテキストに含まれます。`aws:Ec2InstanceSourceVpc` と`aws:SourceVpc` を使用すると、通常は一緒に変化する値を比較できるため、`aws:Ec2InstanceSourceVpc` をより幅広く使用できます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RequireSameVPC",
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
            "aws:SourceVpc": "${aws:Ec2InstanceSourceVpc}"
        },
        "Null": {
          "ec2:SourceInstanceARN": "false"
        },
        "BoolIfExists": {
          "aws:ViaAWSService": "false"
        }
      }
    }
  ]
}
```

------

上記の例では、`aws:SourceVpc` 値が `aws:Ec2InstanceSourceVpc` 値と等しくない場合、アクセスは拒否されます。ポリシーステートメントは、`ec2:SourceInstanceARN` 条件キーの有無をテストして Amazon EC2 インスタンスのロールとして使用されるロールのみに限定されます。

このポリシーでは、Amazon EC2 インスタンスロールに代わってリクエストが行われた場合に、`aws:ViaAWSService` が AWS リクエストを認可するようにしています。たとえば、Amazon EC2 インスタンスから暗号化された Amazon S3 バケットにリクエストを行うと、Amazon S3 がお客様に代わって AWS KMS を呼び出します。リクエストが AWS KMS に行われたときに、一部のキーが表示されません。

### aws:Ec2InstanceSourcePrivateIPv4
<a name="condition-keys-ec2instancesourceprivateip4"></a>

このキーは、Amazon EC2 IAM ロール認証情報が配信されたプライマリ elastic network interface プライベート IPv4 アドレスを識別します。VPC ID とソースプライベート IP をグローバルに一意に組み合わせるには、この条件キーをコンパニオンキー `aws:Ec2InstanceSourceVpc` と一緒に使用する必要があります。このキー `aws:Ec2InstanceSourceVpc` を使用して、認証情報が配信されたのと同じプライベート IP アドレスからリクエストが行われたことを確認します。
+ **可用性** — このキーは、リクエスターが Amazon EC2 ロールクレデンシャルでリクエストに署名しているときはいつでも、リクエストコンテキストに含まれます。IAM ポリシー、サービスコントロールポリシー、VPC エンドポイントポリシー、リソースポリシーで使用できます。
+ **データ型** – [IP アドレス](reference_policies_elements_condition_operators.md#Conditions_IPAddress)
+ **値タイプ** — 単一値

**重要**  
このキーは `Allow` ステートメント内で単独で使用しないでください。プライベートIPアドレスは、定義上、グローバルに一意ではありません。Amazon EC2 インスタンスの認証情報を使用できる VPC を指定するには、`aws:Ec2InstanceSourcePrivateIPv4`キーを使用するたびに `aws:Ec2InstanceSourceVpc` キーを使用する必要があります。

次の例では、リクエストがロール認証情報と同じ VPC 内の VPC エンドポイント経由で届かない限り、すべてのリソースへのアクセスを拒否するサービスコントロールポリシー (SCP) が示されます。この例では、`aws:Ec2InstanceSourcePrivateIPv4` はソース IP に基づいて認証情報ソースを特定のインスタンスに制限されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action":  "*",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:Ec2InstanceSourceVpc": "${aws:SourceVpc}"
                },                
                "Null": {
                    "ec2:SourceInstanceARN": "false"
                },
                "BoolIfExists": {
                    "aws:ViaAWSService": "false"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action":  "*",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:Ec2InstanceSourcePrivateIPv4": "${aws:VpcSourceIp}"
                },                               
                "Null": {
                    "ec2:SourceInstanceARN": "false"
                },
                "BoolIfExists": {
                    "aws:ViaAWSService": "false"
                }
            }
        }
    ]
}
```

------

### aws:SourceIdentity
<a name="condition-keys-sourceidentity"></a>

プリンシパルによって設定されたソース ID と、ポリシーで指定したソース ID を比較するには、このキーを使用します。
+ **可用性** — このキーは、AWS STS assume-role CLI コマンドまたは AWS STS `AssumeRole` API オペレーションを使用してロールが引き継がれるときに、ソース ID が設定された後、リクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

ポリシーでこのキーを使用して、ロールを引き受けるときにソースIDを設定したプリンシパルによる AWS でのアクションを許可できます。ロールの指定されたソースIDのアクティビティが [AWS CloudTrail](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds) に表示されます。これにより、管理者は AWS のロールで誰または何がアクションを実行したかを簡単に判断できます。

[`sts:RoleSessionName`](reference_policies_iam-condition-keys.md#ck_rolesessionname) とは異なり、ソースIDを設定した後は、値を変更できません。これは、ロールが実行するすべてのアクションのリクエストコンテキストに存在します。この値は、セッション認証情報を使用して別のロールを引き受けるときに、後続のロールセッションに保持されます。別のロールからあるロールを引き受けると、[ロールの連鎖](id_roles.md#iam-term-role-chaining)と呼ばれます。

[`sts:SourceIdentity`](reference_policies_iam-condition-keys.md#ck_sourceidentity) キーは、プリンシパルが、AWS STS assume-role CLI コマンドまたは AWS STS `AssumeRole` API オペレーションを使用してロールを引き受けるときに、最初にソース ID を設定するときに、リクエストに存在します。`aws:SourceIdentity` キーは、ソースIDが設定されているロールセッションで実行されるすべてのアクションの要求に存在します。

アカウント `CriticalRole` の `111122223333` の次のロール信頼ポリシーには、Saanvi または Diego に設定されているソース ID を持たないプリンシパルがロールを引き受けることを防ぐ `aws:SourceIdentity` のための条件が含まれています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AssumeRoleIfSourceIdentity",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::123456789012:role/CriticalRole"},
            "Action": [
                "sts:AssumeRole",
                "sts:SetSourceIdentity"
            ],
            "Condition": {
                "StringLike": {
                    "aws:SourceIdentity": ["Saanvi","Diego"]
                }
            }
        }
    ]
}
```

------

ソース ID 情報の使用の詳細については、「[引き受けたロールで実行されるアクションのモニタリングと制御](id_credentials_temp_control-access_monitor.md)」を参照してください。

### ec2:RoleDelivery
<a name="condition-keys-ec2-role-delivery"></a>

このキーを使用して、署名付きリクエストのインスタンスメタデータサービスのバージョンを、Amazon EC2 の IAM ロール認証情報と比較します。インスタンスメタデータサービスは、所定のリクエストについて、IMDSv2 に固有の `PUT` または `GET` ヘッダーがそのリクエストに存在するかどうかによって、IMDSv1 と IMDSv2 リクエストを区別します。
+ **可用性** — このキーは、ロールセッションが Amazon EC2 インスタンスで作成されるときは必ずリクエストコンテキストに含まれます。
+ **データ型** – [数値](reference_policies_elements_condition_operators.md#Conditions_Numeric)
+ **値タイプ** — 単一値
+ **値の例** – 1.0、2.0

ローカルコードまたはユーザーに IMDSv2 を使用させるように、各インスタンスのインスタンスメタデータサービス (IMDS) を設定することができます。IMDSv2を使用しなければならないように指定すると、IMDSv1はもう機能しなくなります。
+ インスタンスメタデータサービスバージョン 1 (IMDSv1) – リクエスト/レスポンスメソッド 
+ インスタンスメタデータサービスバージョン 2 (IMDSv2) – セッション指向メソッド

IMDSv2 を使用するようにインスタンスを設定する方法については、「[インスタンスメタデータオプションの設定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html)」を参照してください。

次の例では、リクエストコンテキストの ec2:RoleDelivery の値が 1.0 (IMDSv1) の場合、アクセスが拒否されます。このポリシーステートメントは、リクエストが Amazon EC2 ロールの認証情報によって署名されていない場合は無効となるため、一般的に適用できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireAllEc2RolesToUseV2",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:RoleDelivery": "2.0"
                }
            }
        }
    ]
}
```

------

詳細については、「[インスタンスメタデータを使用する際のサンプルポリシー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-instance-metadata)」を参照してください。

### ec2:SourceInstanceArn
<a name="condition-keys-ec2-source-instance-arn"></a>

このキーを使用して、ロールのセッション生成元インスタンスの ARN を比較します。
+ **可用性** — このキーは、ロールセッションが Amazon EC2 インスタンスで作成されるときは必ずリクエストコンテキストに含まれます。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – arn:aws::ec2:us-west-2:111111111111:instance/instance-id

ポリシーの例については、「[特定のインスタンスが他の AWS サービスでリソースを表示できるようにする](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-source-instance)」を参照してください。

### glue:RoleAssumedBy
<a name="condition-keys-glue-role-assumed-by"></a>

AWS Glue サービスは、AWS Glue がお客様に変わってサービスロールを使用してリクエストを実行する AWS API リクエストごとに条件キーを設定します (ジョブまたは開発者のエンドポイントではなく、AWS Glue サービスによる直接のリクエスト)。このキーを使用して、AWS リソースへの呼び出しが AWS Glue サービスからのものであるかどうかを確認します。
+ **可用性** – このキーは、AWS Glue がお客様に代わってサービスロールを使用してリクエストを行うときに、リクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値
+ **値の例** – このキーは常に `glue.amazonaws.com` に設定されます。

次の例では、AWS Glue サービスが Amazon S3 バケットからオブジェクトを取得できるようにする条件を追加します。

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "StringEquals": {
            "glue:RoleAssumedBy": "glue.amazonaws.com"
        }
    }
}
```

### glue:CredentialIssuingService
<a name="condition-keys-glue-credential-issuing"></a>

AWS Glue サービスは、ジョブまたは開発者エンドポイントから取得したサービスロールを使用して、AWS API リクエストごとにこのキーを設定します。このキーを使用して、AWS リソースへの呼び出しが AWS Glue ジョブまたは開発者エンドポイントからのものであるかどうかを確認します。
+ **可用性** – このキーは、AWS Glue がジョブまたは開発者エンドポイントからリクエストを実行するときに、リクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値
+ **値の例** – このキーは常に `glue.amazonaws.com` に設定されます。

次の例では、AWS Glue ジョブで使用される IAM ロールにアタッチされる条件を追加します。これで、特定のアクションが、ロールセッションが AWS Glue ジョブランタイム環境で使用されているかどうかに基づいて、許可/拒否されます。

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "StringEquals": {
            "glue:CredentialIssuingService": "glue.amazonaws.com"
        }
    }
}
```

### codebuild:BuildArn
<a name="condition-keys-codebuild-build-arn"></a>

このキーは、IAM ロール認証情報が配信された CodeBuild ビルド ARN を識別します。このキーを使用して、AWS リソースへの呼び出しが特定の CodeBuild ビルドからのものであるかどうかを確認します。

**注記**  
`codebuild:BuildArn` の完全な値には、動的に生成されたビルド ID が含まれているため、事前にはわかりません。
+ **可用性** – このキーは、CodeBuild によって引き受けられるロールによってリクエストが行われるときにリクエストコンテキストに含まれます。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – arn:aws:codebuild:us-east-1:123456789012:build/MyBuildProject:12345678-1234-1234-1234-123456789012

次の例では、指定されたバケットへの `s3:GetObject` アクセスを 1 つの特定の CodeBuild ビルドに許可します。

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "ArnLike": {
            "codebuild:BuildArn": "arn:aws:codebuild:us-east-1:123456789012:build/MyBuildProject:*"
        }
    }
}
```

### codebuild:ProjectArn
<a name="condition-keys-codebuild-project-arn"></a>

このキーは、IAM ロール認証情報が CodeBuild ビルドに配信された CodeBuild プロジェクト ARN を識別します。このキーを使用して、AWS リソースへの呼び出しが特定の CodeBuild プロジェクトからのものであるかどうかを確認します。
+ **可用性** – このキーは、CodeBuild によって引き受けられるロールによってリクエストが行われるときにリクエストコンテキストに含まれます。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – arn:aws:codebuild:us-east-1:123456789012:project/MyBuildProject

次の例では、指定されたバケットへの `s3:GetObject` アクセスを特定の CodeBuild プロジェクトのすべてのビルドに許可します。

```
{
    "Effect": "Allow",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
        "ArnEquals": {
            "codebuild:ProjectArn": "arn:aws:codebuild:us-east-1:123456789012:project/MyBuildProject"
        }
    }
}
```

### lambda:SourceFunctionArn
<a name="condition-keys-lambda-source-function-arn"></a>

このキーを使用して、IAM ロール認証情報が配信された Lambda 関数 ARN を識別します。Lambda サービスは、関数の実行環境から送信される AWS API リクエストごとにこのキーを設定します。このキーを使用して、AWS リソースへの呼び出しが特定の Lambda 関数のコードからのものであるかどうかを確認します。Lambda は、CloudWatch へのログの書き込みや X-Ray へのトレース送信など、実行環境外から送信される一部のリクエストにもこのキーを設定します。
+ **可用性** – このキーは、Lambda 関数コードが呼び出されるときは必ずリクエストコンテキストに含まれます。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – arn:aws:lambda:us-east-1:123456789012:function:TestFunction

次の例では、1 つの特定の Lambda 関数に、指定されたバケットへの `s3:PutObject` アクセスを許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ExampleSourceFunctionArn",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "ArnEquals": {
                    "lambda:SourceFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:source_lambda"
                }
            }
        }
    ]
}
```

------

詳細については、*AWS Lambda デベロッパーガイド*の「[Lambda 実行環境での認証情報の使用](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html#permissions-executionrole-source-function-arn)」を参照してください。

### ssm:SourceInstanceArn
<a name="condition-keys-ssm-source-instance-arn"></a>

このキーを使用して、IAM ロール認証情報が配信された AWS Systems Manager マネージドインスタンス ARN を識別します。この条件キーは、リクエストが Amazon EC2 インスタンスプロファイルに関連付けられている IAM ロールを使用してマネージドインスタンスから実行された場合は存在しません。
+ **可用性** – このキーは、ロール認証情報が AWS Systems Manager マネージドインスタンスに配信されるときは必ずリクエストコンテキストに含まれます。
+ **データ型** – [ARN](reference_policies_elements_condition_operators.md#Conditions_ARN)
+ **値タイプ** — 単一値
+ **値の例** – arn:aws::ec2:us-west-2:111111111111:instance/instance-id

### identitystore:UserId
<a name="condition-keys-identity-store-user-id"></a>

このキーを使用して、署名付きリクエストの IAM アイデンティティセンターワークフォース ID を、ポリシーで指定された ID と比較します。
+ **可用性** – このキーは、リクエストの呼び出し元が IAM アイデンティティセンターのユーザーである場合に含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値
+ **値の例** – 94482488-3041-7026-18f3-be45837cd0e4

AWS CLI、AWS API、AWS SDK を使用して [GetUserId](https://docs.aws.amazon.com//singlesignon/latest/IdentityStoreAPIReference/API_GetUserId.html) API にリクエストを実行することで、IAM アイデンティティセンターのユーザーの UserId を見つけることができます。

## ネットワークのプロパティ
<a name="condition-keys-network-properties"></a>

次の条件キーを使用して、リクエストの発信元ネットワークまたは経由するネットワークの詳細を、ポリシーで指定したプリンシパルのプロパティと比較します。

### aws:SourceIp
<a name="condition-keys-sourceip"></a>

このキーを使用して、リクエスタの IP アドレスをポリシーで指定した IP アドレスと比較します。`aws:SourceIp` 条件キーは、パブリック IP アドレス範囲にのみ使用できます。
+ **可用性** – このキーは、リクエスタが VPC エンドポイントを使用してリクエストを行う場合を除き、リクエストコンテキストに含まれます。
+ **データ型** – [IP アドレス](reference_policies_elements_condition_operators.md#Conditions_IPAddress)
+ **値タイプ** — 単一値

`aws:SourceIp` 条件キーをポリシーで使用して、プリンシパルが指定された IP 範囲内からのみリクエストを行うことを許可できます。

**注記**  
`aws:SourceIp` は IPv4 と IPv6 の両方の IP アドレスおよびレンジをサポートしています。IPv6 をサポートする AWS のサービス のリストについては、「*Amazon VPC ユーザーガイド*」の「[IPv6 をサポートする AWS のサービス](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html)」を参照してください。

例えば、次の ID ベースのポリシーを IAM ロールにアタッチできます。このポリシーは、指定された IPv4 アドレス範囲から呼び出しを実行する場合に、ユーザーがオブジェクトを `amzn-s3-demo-bucket3` Amazon S3 バケットに格納することを許可します。このポリシーでは、[転送アクセスセッション](access_forward_access_sessions.md) がユーザーに代わってこの操作を実行する AWS サービスも許可されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PrincipalPutObjectIfIpAddress",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "203.0.113.0/24"
                }
            }
        }
    ]
}
```

------

IPv4 と IPv6 の両方のアドレス指定をサポートするネットワークからのアクセスを制限する必要がある場合は、IAM ポリシー条件に IPv4 と IPv6 のアドレス、または IP アドレスの範囲を含めることができます。次の ID ベースのポリシーは、ユーザーが指定された IPv4 または IPv6 のいずれかのアドレス範囲から呼び出しを実行した場合に、オブジェクトを `amzn-s3-demo-bucket3` Amazon S3 バケットに格納することを許可します。IAM ポリシーに IPv6 アドレス範囲を含める前に、使用している AWS のサービス が IPv6 をサポートしていることを確認してください。IPv6 をサポートする AWS のサービス のリストについては、「*Amazon VPC ユーザーガイド*」の「[IPv6 をサポートする AWS のサービス](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PrincipalPutObjectIfIpAddress",
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "203.0.113.0/24",
                        "2001:DB8:1234:5678::/64"
                    ]
                }
            }
        }
    ]
}
```

------

リクエスト実行元が Amazon VPC エンドポイントを使用するホストである場合、`aws:SourceIp` キーは使用できません。代わりに、[aws:VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip)などの VPC 固有のキーを使用する必要があります。VPC エンドポイント使用の詳細については、「*AWS PrivateLink ガイド*」の「[VPC エンドポイントおよび VPC エンドポイントサービスの ID およびアクセス管理](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-iam.html)」を参照してください。

**注記**  
ユーザーに代わって AWS のサービス が他の AWS のサービス を呼び出す場合 (サービス間コール)、特定のネットワーク固有の承認コンテキストが編集されます。ポリシーがこの条件キーを `Deny` ステートメントと一緒に使用した場合、意図せずに AWS のサービス プリンシパルがブロックされる可能性があります。セキュリティ要件を維持しながら AWS のサービス が適切に動作させするには、`false` の値を持つ `aws:PrincipalIsAWSService` 条件キーを追加することで、`Deny` ステートメントからサービスプリンシパルを除外します。

### aws:SourceVpc
<a name="condition-keys-sourcevpc"></a>

このキーを使用して、リクエストが VPC エンドポイントのアタッチされている VPC を通過するかどうかを確認します。ポリシーでは、このキーを使用して、特定の VPC にのみアクセスを許可できます。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[特定の VPC へのアクセスの制限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html#example-bucket-policies-restrict-access-vpc)」を参照してください。
+ **可用性** – このキーは、リクエスタが VPC エンドポイントを使用してリクエストを行う場合にのみリクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

ポリシーで、このキーを使用して、特定の VPC へのアクセスを許可または制限できます。

例えば、次のアイデンティティベースのポリシーを IAM ロールにアタッチすると、指定された VPC ID からリクエストが行われた場合またはロールに代わってリクエストを行う[転送アクセスセッション (FAS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) を使用する AWS のサービスによってリクエストが行われた場合を除き、`amzn-s3-demo-bucket3` Amazon S3 バケットへの `PutObject` を拒否できます。[aws:SourceIp](#condition-keys-sourceip) とは異なり、最初のリクエストのソース VPC は保持されないため、FAS リクエストを許可するには [aws:ViaAWSService](#condition-keys-viaawsservice) または [aws:CalledVia](#condition-keys-calledvia) を使用する必要があります。

**注記**  
このポリシーでは、アクションを許可しません。特定のアクションを許可する他のポリシーと組み合わせてこのポリシーを使用します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PutObjectIfNotVPCID",
      "Effect": "Deny",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket3/*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceVpc": "vpc-1234567890abcdef0"
        },
        "Bool": {
          "aws:ViaAWSService": "false"
        }
      }
    }
  ]
}
```

------

**注記**  
AWS は、対象とするサービスで `aws:SourceVpcArn` がサポートされている場合は `aws:SourceVpc` の代わりに `aws:SourceVpcArn` を使用することを推奨します。サポートされているサービスの一覧については [aws:SourceVpcArn](#condition-keys-sourcevpcarn) を参照してください。

### aws:SourceVpcArn
<a name="condition-keys-sourcevpcarn"></a>

VPC エンドポイント経由でリクエストが行われた VPC の ARN を検証するときはこのキーを使用します。このキーは、VPC エンドポイントがアタッチされている VPC の ARN を返します。
+ **可用性** – このキーは、リクエストが VPC エンドポイントを介して行われた場合にサポートされているサービスのリクエストコンテキストに含まれます。パブリックサービスエンドポイントを介して行われたリクエストにはこのキーは含まれません。このキーは、以下のサービスでサポートされています。
  + AWS App Runner (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html))
  + AWS Application Discovery Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html))
  + Amazon Athena (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html))
  + AWS Cloud Map (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html))
  + Amazon CloudWatch Application Insights (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html))
  + AWS CloudFormation (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html))
  + Amazon Comprehend Medical (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html))
  + AWS Compute Optimizer (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html))
  + Amazon; Elastic Container Registry (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html))
  + Amazon Elastic Container Service (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html))
  + Amazon Kinesis Analytics (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html))
  + Amazon Route 53 (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html))
  + AWS DataSync (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html))
  + Amazon Elastic Block Store (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html))
  + Amazon EventBridge スケジューラ (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html))
  + Amazon Data Firehose (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html))
  + AWS HealthImaging (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html))
  + AWS HealthLake (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html))
  + AWS HealthOmics (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html))
  + AWS Identity and Access Management (`iam:PassRole` アクションを除く) (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html))
  + AWS IoT FleetWise (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html))
  + AWS IoT Wireless (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html))
  + AWS Key Management Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html))
  + AWS Lambda (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html))
  + AWS Payment Cryptography (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html))
  + Amazon Polly (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html))
  + AWS Private Certificate Authority (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html))
  + AWS ごみ箱 (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html))
  + Amazon Rekognition (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html))
  + Service Quotas (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html))
  + Amazon Simple Storage Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html))
  + AWS Storage Gateway (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html))
  + AWS Systems Manager Incident Manager Contacts (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html))
  + Amazon Textract (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html))
  + Amazon Transcribe (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html))
  + AWS Transfer Family (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html))
+ **データ型** – ARN

  AWS では、ARN を比較する場合、[文字列演算子](reference_policies_elements_condition_operators.md#Conditions_String)の代わりに [ARN 演算子](reference_policies_elements_condition_operators.md#Conditions_ARN)を使用することをお勧めします。
+ **値タイプ** — 単一値
+ **値の例** – `arn:aws:ec2:us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE`

以下は、VPC `vpc-1a2b3c4d` の外側から `amzn-s3-demo-bucket` およびそのオブジェクトへのアクセスを拒否するバケットポリシーの例です。

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
     {
       "Sid": "Access-to-specific-VPC-only",
       "Principal": "*",
       "Action": "s3:*",
       "Effect": "Deny",
       "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"],
       "Condition": {
         "ArnNotEquals": {
           "aws:SourceVpcArn": "arn:aws:ec2:us-east-1:*:vpc/vpc-1a2b3c4d"
         }
       }
     }
   ]
}
```

### aws:SourceVpce
<a name="condition-keys-sourcevpce"></a>

このキーを使用して、リクエストの VPC エンドポイント識別子をポリシーで指定したエンドポイント ID と比較します。
+ **可用性** – このキーは、リクエスタが VPC エンドポイントを使用してリクエストを行う場合にのみリクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

ポリシーでは、このキーを使用して、特定の VPC エンドポイントへのアクセスを制限できます。詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[特定の VPC へのアクセスの制限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html#example-bucket-policies-restrict-access-vpc)」を参照してください。[aws:SourceVpc](#condition-keys-sourcevpc) を使用する場合と同様に、[転送アクセスセッション (FAS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) を使用して AWS のサービスによって行われたリクエストを許可するには、[aws:ViaAWSService](#condition-keys-viaawsservice) または [aws:CalledVia](#condition-keys-calledvia) を使用する必要があります。この理由は、最初のリクエストのソース VPC エンドポイントが保持されないためです。

### aws:VpceAccount
<a name="condition-keys-vpceaccount"></a>

このキーを使用して、リクエストが行われた VPC エンドポイントを所有する AWS アカウント ID と、ポリシーで指定したアカウント ID を比較します。この条件キーは、リクエストが、特定のアカウントが所有する VPC エンドポイントを通過するようにすることで、ネットワーク境界コントロールを確立するのに役立ちます。
+ **可用性** – このキーは、リクエストが VPC エンドポイントを介して行われた場合にリクエストコンテキストに含まれます。パブリックサービスエンドポイントを介して行われたリクエストにはこのキーは含まれません。

  このキーは、以下のサービスでサポートされています。
  + AWS App Runner (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html))
  + AWS Application Discovery Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html))
  + Amazon Athena (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html))
  + AWS Cloud Map (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html))
  + Amazon CloudWatch Application Insights (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html))
  + AWS CloudFormation (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html))
  + Amazon Comprehend Medical (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html))
  + AWS Compute Optimizer (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html))
  + Amazon; Elastic Container Registry (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html))
  + Amazon Elastic Container Service (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html))
  + Amazon Kinesis Analytics (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html))
  + Amazon Route 53 (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html))
  + AWS DataSync (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html))
  + Amazon Elastic Block Store (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html))
  + Amazon EventBridge スケジューラ (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html))
  + Amazon Data Firehose (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html))
  + AWS HealthImaging (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html))
  + AWS HealthLake (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html))
  + AWS HealthOmics (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html))
  + AWS Identity and Access Management (`iam:PassRole` アクションを除く) (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html))
  + AWS IoT FleetWise (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html))
  + AWS IoT Wireless (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html))
  + AWS Key Management Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html))
  + AWS Lambda (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html))
  + AWS Payment Cryptography (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html))
  + Amazon Polly (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html))
  + AWS Private Certificate Authority (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html))
  + AWS ごみ箱 (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html))
  + Amazon Rekognition (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html))
  + Service Quotas (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html))
  + Amazon Simple Storage Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html))
  + AWS Storage Gateway (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html))
  + AWS Systems Manager Incident Manager Contacts (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html))
  + Amazon Textract (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html))
  + Amazon Transcribe (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html))
  + AWS Transfer Family (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html))
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値
+ **値の例** – `123456789012`

この条件キーを使用してリソースへのアクセスを制限し、アカウントが所有する VPC エンドポイントを経由してリクエストを送信する必要があるように設定することができます。次の Amazon S3 バケットポリシーの例では、指定されたアカウントが所有する VPC エンドポイントを経由してリクエストが送信されたときにアクセスを許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessToSpecificVpceAccountOnly",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/RoleName"
            },
            "Action": "s3:GetObject",
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "Condition": {
                "StringEquals": {
                    "aws:VpceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

**注記**  
この条件キーは現在、AWS サービスの一部でサポートされています。サポートされていないサービスでこのキーを使用すると、意図しない認可結果につながる可能性があります。必ず、条件キーの範囲をポリシーでサポートされているサービスに設定するようにしてください。

一部の AWS サービスは、ユーザーに代わって動作する際に自身のネットワークからユーザーのリソースにアクセスします。このようなサービスを使用する場合は、上記のポリシー例を編集して、AWS サービスがネットワーク外からリソースにアクセスできるようにする必要があります。リクエストオリジンに基づいてアクセスコントロールを適用するときに考慮する必要があるアクセスパターンの詳細については、「[データ境界を使用してアクセス許可のガードレールを確立する](access_policies_data-perimeters.md)」を参照してください。

### aws:VpceOrgID
<a name="condition-keys-vpceorgid"></a>

このキーを使用して、リクエストが行われた VPC エンドポイントを所有する AWS Organizations の組織の ID と、ポリシーで指定した ID を比較します。この条件キーは、組織内のアカウントが所有するすべての VPC エンドポイントを自動的に含めることで、ネットワーク境界コントロールに対する最もスケーラブルなアプローチを提供します。
+ **可用性** – このキーは、リクエストが VPC エンドポイントを介して行われ、VPC エンドポイントの所有者アカウントが AWS 組織のメンバーである場合に、リクエストコンテキストに含まれます。他のネットワークパスを介して行われたリクエストや、VPC エンドポイントの所有者アカウントが組織のメンバーでない場合には、このキーは含まれません。

  このキーは、以下のサービスでサポートされています。
  + AWS App Runner (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html))
  + AWS Application Discovery Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html))
  + Amazon Athena (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html))
  + AWS B2B Data Interchange (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsb2bdatainterchange.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsb2bdatainterchange.html))
  + AWS Cloud Map (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html))
  + Amazon CloudWatch Application Insights (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html))
  + AWS CloudFormation (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html))
  + Amazon Cognito (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html))
  + Amazon Comprehend Medical (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html))
  + AWS Compute Optimizer (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html))
  + AWS Database Migration Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatabasemigrationservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatabasemigrationservice.html))
  + AWS Directory Service Data (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdirectoryservicedata.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdirectoryservicedata.html))
  + Amazon; Elastic Container Registry (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html))
  + Amazon Elastic Container Service (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html))
  + Amazon Kinesis Analytics (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html))
  + Amazon Route 53 (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html))
  + AWS DataSync (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html))
  + Amazon Elastic Block Store (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html))
  + Amazon EventBridge スケジューラ (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html))
  + Amazon Data Firehose (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html))
  + AWS HealthImaging (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html))
  + AWS HealthLake (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html))
  + AWS HealthOmics (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html))
  + AWS Identity and Access Management (`iam:PassRole` アクションを除く) (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html))
  + AWS Identity Store (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentitystore.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentitystore.html))
  + AWS IoT FleetWise (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html))
  + AWS IoT TwinMaker (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiottwinmaker.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiottwinmaker.html))
  + AWS IoT Wireless (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html))
  + Amazon Keyspaces (Apache Cassandra 向け) (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkeyspacesforapachecassandra.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkeyspacesforapachecassandra.html))
  + AWS Key Management Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html))
  + AWS Lambda (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html))
  + AWS Network Firewall (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsnetworkfirewall.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsnetworkfirewall.html))
  + AWS Payment Cryptography (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html))
  + Amazon Pinpoint SMS and Voice Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpinpointsmsandvoiceservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpinpointsmsandvoiceservice.html))
  + Amazon Polly (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html))
  + AWS の料金表 (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspricelist.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspricelist.html))
  + AWS Private Certificate Authority (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html))
  + AWS ごみ箱 (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html))
  + Amazon Rekognition (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html))
  + Service Quotas (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html))
  + Amazon Simple Email Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonses.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonses.html))
  + Amazon Simple Storage Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html))
  + Amazon Simple Queue Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsqs.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsqs.html))
  + AWS Storage Gateway (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html))
  + AWS Systems Manager Incident Manager Contacts (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html))
  + Amazon Textract (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html))
  + Amazon Transcribe (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html))
  + AWS Transfer Family (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html))
  + Amazon WorkMail (プレフィクス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonworkmail.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonworkmail.html))
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値
+ **値の例** – `o-a1b2c3d4e5`

次のリソースコントロールポリシーの例では、リクエストが、指定された組織が所有する VPC エンドポイントを経由して送信されたか、またはユーザーに代わって動作する AWS サービスのネットワークから送信された場合を除き、Amazon S3 および AWS Key Management Service リソースへのアクセスを拒否します。組織によっては、サードパーティーパートナーにアクセスを許可するなど、組織のニーズに合わせてこのポリシーをさらに編集する必要があります。リクエストオリジンに基づいてアクセスコントロールを適用するときに考慮する必要があるアクセスパターンの詳細については、「[データ境界を使用してアクセス許可のガードレールを確立する](access_policies_data-perimeters.md)」を参照してください。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceNetworkPerimeterVpceOrgID",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3:*",
        "kms:*"
      ],
      "Resource": "*",
      "Condition": {
        "BoolIfExists": {
          "aws:PrincipalIsAWSService": "false",
          "aws:ViaAWSService": "false"
        },
        "StringNotEqualsIfExists": {
            "aws:VpceOrgID": "o-abcdef0123",
            "aws:PrincipalTag/network-perimeter-exception": "true"
        }
      }
    }
  ]
}
```

------

**注記**  
この条件キーは現在、AWS サービスの一部でサポートされています。サポートされていないサービスでこのキーを使用すると、意図しない認可結果につながる可能性があります。必ず、条件キーの範囲をポリシーでサポートされているサービスに設定するようにしてください。

### aws:VpceOrgPaths
<a name="condition-keys-vpceorgpaths"></a>

このキーを使用して、リクエストが行われた VPC エンドポイントの AWS Organizations パスと、ポリシーで指定したパスを比較します。この条件キーを使用すると、組織単位 (OU) レベルでネットワーク境界コントロールを実装し、指定した OU 内に新しいエンドポイントを追加すると、VPC エンドポイントの使用状況に合わせて自動的にスケールするように設定できます。
+ **可用性** – このキーは、リクエストが VPC エンドポイントを介して行われ、VPC エンドポイントの所有者アカウントが組織のメンバーである場合に、リクエストコンテキストに含まれます。他のネットワークパスを介して行われたリクエストや、VPC エンドポイントの所有者アカウントが組織のメンバーでない場合には、このキーは含まれません。

  このキーは、以下のサービスでサポートされています。
  + AWS App Runner (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html))
  + AWS Application Discovery Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapplicationdiscoveryservice.html))
  + Amazon Athena (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html))
  + AWS Cloud Map (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudmap.html))
  + Amazon CloudWatch Application Insights (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchapplicationinsights.html))
  + AWS CloudFormation (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudformation.html))
  + Amazon Comprehend Medical (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncomprehendmedical.html))
  + AWS Compute Optimizer (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscomputeoptimizer.html))
  + Amazon; Elastic Container Registry (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistry.html))
  + Amazon Elastic Container Service (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html))
  + Amazon Kinesis Analytics (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisanalytics.html))
  + Amazon Route 53 (prefix: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53.html))
  + AWS DataSync (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsdatasync.html))
  + Amazon Elastic Block Store (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticblockstore.html))
  + Amazon EventBridge スケジューラ (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoneventbridgescheduler.html))
  + Amazon Data Firehose (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonkinesisfirehose.html))
  + AWS HealthImaging (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthimaging.html))
  + AWS HealthLake (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthlake.html))
  + AWS HealthOmics (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awshealthomics.html))
  + AWS Identity and Access Management (`iam:PassRole` アクションを除く) (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html))
  + AWS IoT FleetWise (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotfleetwise.html))
  + AWS IoT Wireless (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotwireless.html))
  + AWS Key Management Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html))
  + AWS Lambda (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awslambda.html))
  + AWS Payment Cryptography (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awspaymentcryptography.html))
  + Amazon Polly (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonpolly.html))
  + AWS Private Certificate Authority (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsprivatecertificateauthority.html))
  + AWS ごみ箱 (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsrecyclebin.html))
  + Amazon Rekognition (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrekognition.html))
  + Service Quotas (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html))
  + Amazon Simple Storage Service (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html))
  + AWS Storage Gateway (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsstoragegateway.html))
  + AWS Systems Manager Incident Manager Contacts (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanagerincidentmanagercontacts.html))
  + Amazon Textract (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontextract.html))
  + Amazon Transcribe (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazontranscribe.html))
  + AWS Transfer Family (プレフィックス: [https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awstransferfamily.html))
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値
+ **値の例** – `o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/`

`aws:VpceOrgPaths` は複数値の条件キーであるため、このキーを使用する場合は、[文字列条件演算子](reference_policies_elements_condition_operators.md#Conditions_String)とともに `ForAnyValue` または `ForAllValues` の集合演算子を使用する必要があります。次の Amazon S3 バケットポリシーの例では、指定された組織単位内のアカウントが所有する VPC エンドポイントを経由してリクエストが送信されたときにのみアクセスを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessFromSpecificOrgPaths",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/RoleName"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket1/*",
      "Condition": {
        "ForAnyValue:StringLike": {
          "aws:VpceOrgPaths": [
            "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/*",
            "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-33333333/*"
          ]
        }
      }
    }
  ]
}
```

------

**注記**  
この条件キーは現在、AWS サービスの一部でサポートされています。サポートされていないサービスでこのキーを使用すると、意図しない認可結果につながる可能性があります。必ず、条件キーの範囲をポリシーでサポートされているサービスに設定するようにしてください。

一部の AWS サービスは、ユーザーに代わって動作する際に自身のネットワークからユーザーのリソースにアクセスします。このようなサービスを使用する場合は、上記のポリシー例を編集して、AWS サービスがネットワーク外からリソースにアクセスできるようにする必要があります。リクエストオリジンに基づいてアクセスコントロールを適用するときに考慮する必要があるアクセスパターンの詳細については、「[データ境界を使用してアクセス許可のガードレールを確立する](access_policies_data-perimeters.md)」を参照してください。

### aws:VpcSourceIp
<a name="condition-keys-vpcsourceip"></a>

このキーを使用して、リクエストの作成元の IP アドレスと、ポリシーで指定した IP アドレスを比較します。ポリシーでは、リクエストが指定された IP アドレスから送信され、VPC エンドポイントを経由する場合にのみキーが一致します。
+ **可用性** – このキーは、リクエストが VPC エンドポイントを使用して行われた場合にのみリクエストコンテキストに含まれます。
+ **データ型** – [IP アドレス](reference_policies_elements_condition_operators.md#Conditions_IPAddress)
+ **値タイプ** — 単一値

詳細については、「*Amazon VPC ユーザーガイド*」の「[エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。[aws:SourceVpc](#condition-keys-sourcevpc) を使用する場合と同様に、[転送アクセスセッション (FAS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) を使用して AWS のサービスによって行われたリクエストを許可するには、[aws:ViaAWSService](#condition-keys-viaawsservice) または [aws:CalledVia](#condition-keys-calledvia) を使用する必要があります。この理由は、VPC エンドポイントを使用して行われた最初のリクエストのソース IP が FAS リクエストで保持されないためです。

**注記**  
`aws:VpcSourceIp` は IPv4 と IPv6 の両方の IP アドレスおよびレンジをサポートしています。IPv6 をサポートする AWS のサービス のリストについては、「*Amazon VPC ユーザーガイド*」の「[IPv6 をサポートする AWS のサービス](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ipv6-support.html)」を参照してください。  
`aws:VpcSourceIp` 条件キーは、常に `aws:SourceVpc` または `aws:SourceVpce` 条件キーのいずれかと組み合わせて使用されるべきです。そうしないと、同じまたは重複する IP CIDR を使用する予期しない VPC からの API コールがポリシーによって許可される可能性があります。これは、2 つの無関係な VPC からの IP CIDR が同じまたは重複している可能性があるために発生する場合があります。代わりに、VPC ID または VPC エンドポイント ID は、グローバルに一意の識別子を持つため、ポリシーで使用されるべきです。これらの一意の識別子により、予期しない結果の発生が回避されます。

**注記**  
ユーザーに代わって AWS のサービス が他の AWS のサービス を呼び出す場合 (サービス間コール)、特定のネットワーク固有の承認コンテキストが編集されます。ポリシーがこの条件キーを `Deny` ステートメントと一緒に使用した場合、意図せずに AWS のサービス プリンシパルがブロックされる可能性があります。セキュリティ要件を維持しながら AWS のサービス が適切に動作させするには、`false` の値を持つ `aws:PrincipalIsAWSService` 条件キーを追加することで、`Deny` ステートメントからサービスプリンシパルを除外します。

## リソースのプロパティ
<a name="condition-keys-resource-properties"></a>

次の条件キーを使用して、リクエストの送信先リソースの詳細を、ポリシーで指定したリソースのプロパティと比較します。

### aws:ResourceAccount
<a name="condition-keys-resourceaccount"></a>

このキーを使用して、ポリシーのリソースアカウントと要求されたリソース所有者の [AWS アカウント ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html) を比較します。その後、リソースを所有するアカウントに応じて、そのリソースへのアクセスを許可または拒否することができます。
+ **可用性** - このキーは常時ほとんどのサービスアクションのリクエストコンテキストに含まれます。以下のアクションではこのキーをサポートしていません。
  + AWS Audit Manager
    + `auditmanager:UpdateAssessmentFrameworkShare`
  + Amazon Detective
    + `detective:AcceptInvitation`
  + AWS Directory Service
    + `ds:AcceptSharedDirectory`
  + Amazon Elastic Block Store - すべてのアクション
  + Amazon EC2
    + `ec2:AcceptTransitGatewayPeeringAttachment`
    + `ec2:AcceptVpcEndpointConnections`
    + `ec2:AcceptVpcPeeringConnection`
    + `ec2:CreateTransitGatewayPeeringAttachment`
    + `ec2:CreateVpcEndpoint`
    + `ec2:CreateVpcPeeringConnection`
  + Amazon EventBridge
    + `events:PutEvents` – 2023 年 3 月 2 日以前にそのイベントバスがクロスアカウントの EventBridge ターゲットとして設定されていた場合、EventBridge `PutEvents` は別のアカウントのイベントバスを呼び出します。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[他の AWS アカウントからのイベントを許可するアクセス許可の付与](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html#eb-receiving-events-from-another-account)」を参照してください。
  + Amazon GuardDuty
    + `guardduty:AcceptAdministratorInvitation`
  + Amazon Macie
    + `macie2:AcceptInvitation`
  + Amazon OpenSearch Service
    + `es:AcceptInboundConnection`
  + Amazon Route 53
    + `route53:AssociateVpcWithHostedZone`
    + `route53:CreateVPCAssociationAuthorization`
  + AWS Security Hub CSPM
    + `securityhub:AcceptAdministratorInvitation`
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

**注記**  
上記のサポートされていないアクションに関するその他の考慮事項については、[data-perimeter-policy-examples](https://github.com/aws-samples/data-perimeter-policy-examples) リポジトリを参照してください。

このキーはリクエストで評価されたリソースを持つアカウントの AWS アカウント ID に相当します。

アカウントのリソースのほとんどで、[ARN](reference_policies_elements_condition_operators.md#Conditions_ARN) にそのリソースの所有者アカウント ID が含まれています。Amazon S3 バケットなどの特定のリソースでは、リソース ARN にアカウント ID は含まれていません。次の 2 つの例は、ARN にアカウント ID を持つリソースと、アカウント ID を持たない Amazon S3 ARN の違いを示しています。
+ `arn:aws:iam::123456789012:role/AWSExampleRole` – アカウント 123456789012 内で作成および所有されている IAM ロール。
+ `arn:aws:s3:::amzn-s3-demo-bucket2` — ARN に表示されていない `111122223333` アカウント内で作成および所有されている Amazon S3 バケット。

AWS コンソールや API、または CLI を使用して、すべてのリソースおよび対応する ARN を検索します。

リソース所有者のアカウント ID に応じて、リソースへのアクセス権を拒否するポリシーを記述します。例えば、リソースが*指定されたアカウント*に属さない場合に、以下の ID ベースポリシーでは*指定されたリソース*へのアクセスを拒否します。

このポリシーを使用するには、*イタリック体のプレースホルダーテキスト*をお客様のアカウント情報と置き換えます。

**重要**  
このポリシーでは、アクションを許可しません。代わりに、ステートメントに記載され、リストされたアカウントに属さないすべてのリソースへのアクセスを明示的に拒否する `Deny` 効果を使用します。特定のリソースへのアクセスを許可する他のポリシーと組み合わせてこのポリシーを使用します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyInteractionWithResourcesNotInSpecificAccount",
      "Action": "service:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:service:us-east-1:111122223333:*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        }
      }
    }
  ]
}
```

------

このポリシーでは、特定の AWS アカウント でリソースを所有する場合を除き、特定の AWS サービスのすべてのリソースへのアクセスを拒否します。

**注記**  
一部の AWS のサービス では他の AWS アカウント でホストされている AWS 所有リソースへのアクセスを必要とします。ID ベースのポリシーで `aws:ResourceAccount` を使用する場合は、これらのリソースにアクセスする ID の機能に影響を与える可能性があります。

AWS Data Exchange などの特定の AWS サービスでは、通常のオペレーションで AWS アカウント の外部のリソースへのアクセスに依存しています。ポリシーに `aws:ResourceAccount` 要素を使う場合、それらのサービスの免除を指定するために追加のステートメントを含めます。ポリシー [AWS: AWS Data Exchange を除くアカウント外の Amazon S3 リソースへのアクセスを拒否する](reference_policies_examples_resource_account_data_exch.md) の例では、サービスが所有するリソースの例外を定義しながら、リソースアカウントに応じてアクセスを拒否する方法を示しています。

独自のカスタムポリシーを作成する場合に、このポリシーの例をテンプレートとして使用します。詳細については、サービスの[ドキュメント](https://docs.aws.amazon.com/index.html)を参照してください。

### aws:ResourceOrgPaths
<a name="condition-keys-resourceorgpaths"></a>

このキーを使用して、アクセスされたリソースの AWS Organizations パスをポリシー内のパスと比較します。ポリシーでは、この条件キーによって、このリソースが AWS Organizations の指定した組織ルートまたは組織単位 (OU) 内のアカウントメンバーに属していることを保証します。AWS Organizations パスは、Organizations エンティティの構造をテキストで表記したものです。パスの使用と理解の詳細については、「[AWS Organizations エンティティパスを理解する](access_policies_last-accessed-view-data-orgs.md#access_policies_last-accessed-viewing-orgs-entity-path)」を参照してください。
+ **可用性** – このキーは、リソースを所有するアカウントが組織のメンバーである場合にのみ、リクエストコンテキストに含まれます。このグローバル条件キーでは以下のアクションがサポートされません。
  + AWS Audit Manager
    + `auditmanager:UpdateAssessmentFrameworkShare`
  + Amazon Detective
    + `detective:AcceptInvitation`
  + AWS Directory Service
    + `ds:AcceptSharedDirectory`
  + Amazon Elastic Block Store - すべてのアクション
  + Amazon EC2
    + `ec2:AcceptTransitGatewayPeeringAttachment`
    + `ec2:AcceptVpcEndpointConnections`
    + `ec2:AcceptVpcPeeringConnection`
    + `ec2:CreateTransitGatewayPeeringAttachment`
    + `ec2:CreateVpcEndpoint`
    + `ec2:CreateVpcPeeringConnection`
  + Amazon EventBridge
    + `events:PutEvents` – 2023 年 3 月 2 日以前にそのイベントバスがクロスアカウントの EventBridge ターゲットとして設定されていた場合、EventBridge `PutEvents` は別のアカウントのイベントバスを呼び出します。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[他の AWS アカウントからのイベントを許可するアクセス許可の付与](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html#eb-receiving-events-from-another-account)」を参照してください。
  + Amazon GuardDuty
    + `guardduty:AcceptAdministratorInvitation`
  + Amazon Macie
    + `macie2:AcceptInvitation`
  + Amazon OpenSearch Service
    + `es:AcceptInboundConnection`
  + Amazon Route 53
    + `route53:AssociateVpcWithHostedZone`
    + `route53:CreateVPCAssociationAuthorization`
  + AWS Security Hub CSPM
    + `securityhub:AcceptAdministratorInvitation`
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

**注記**  
上記のサポートされていないアクションに関するその他の考慮事項については、[data-perimeter-policy-examples](https://github.com/aws-samples/data-perimeter-policy-examples) リポジトリを参照してください。

`aws:ResourceOrgPaths` は複数の値を持つ条件キーです。複数値のキーは、リクエストコンテキストに複数の値を持つことができます。このキーを使用する場合は、[文字列条件演算子](reference_policies_elements_condition_operators.md#Conditions_String)とともに `ForAnyValue` または `ForAllValues` の集合演算子を使用する必要があります。複数値を持つ条件キーの詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。

例えば次の条件では、その組織 `o-a1b2c3d4e5` に属するリソースに `True` を返します。ワイルドカードを含める場合は、条件演算子 [StringLike](reference_policies_elements_condition_operators.md) を使用する必要があります。

```
"Condition": { 
      "ForAnyValue:StringLike": {
             "aws:ResourceOrgPaths":["o-a1b2c3d4e5/*"]
   }
}
```

次の条件では、OU ID `ou-ab12-11111111` を持つリソースには `True` が返されます。OU ou-ab12-11111111、または子 OU のいずれかにアタッチするアカウントが所有するリソースと一致することになります。

```
"Condition": { "ForAnyValue:StringLike" : {
     "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/*"]
}}
```

次の条件が OU ID `ou-ab12-22222222` に直接アタッチしたアカウントが所有するリソースに `True` が返されますが、子 OU には返されません。次の例では [StringEquals](reference_policies_elements_condition_operators.md) 条件演算子を使用して、ワイルドカード一致ではなく OU ID の完全一致要件を指定します。

```
"Condition": { "ForAnyValue:StringEquals" : {
     "aws:ResourceOrgPaths":["o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"]
}}
```

**注記**  
一部の AWS のサービス では他の AWS アカウント でホストされている AWS 所有リソースへのアクセスを必要とします。ID ベースのポリシーで `aws:ResourceOrgPaths` を使用する場合は、これらのリソースにアクセスする ID の機能に影響を与える可能性があります。

AWS Data Exchange などの特定の AWS サービスでは、通常のオペレーションで AWS アカウント の外部のリソースへのアクセスに依存しています。ポリシーに `aws:ResourceOrgPaths` キーを使う場合、それらのサービスの免除を指定するために追加のステートメントを含めます。ポリシー [AWS: AWS Data Exchange を除くアカウント外の Amazon S3 リソースへのアクセスを拒否する](reference_policies_examples_resource_account_data_exch.md) の例では、サービスが所有するリソースの例外を定義しながら、リソースアカウントに応じてアクセスを拒否する方法を示しています。類似ポリシーを作成して、サービス所有のリソースを考慮しながら、`aws:ResourceOrgPaths` キーを使用して組織単位 (OU) 内のリソースへのアクセスを制限できます。

独自のカスタムポリシーを作成する場合に、このポリシーの例をテンプレートとして使用します。詳細については、サービスの[ドキュメント](https://docs.aws.amazon.com/index.html)を参照してください。

### aws:ResourceOrgID
<a name="condition-keys-resourceorgid"></a>

このキーを使用して、ポリシーで指定した識別子とリクエストしたリソースが属する AWS Organizations の組織の識別子を比較します。
+ **可用性** – このキーは、リソースを所有するアカウントが組織のメンバーである場合にのみ、リクエストコンテキストに含まれます。このグローバル条件キーでは以下のアクションがサポートされません。
  + AWS Audit Manager
    + `auditmanager:UpdateAssessmentFrameworkShare`
  + Amazon Detective
    + `detective:AcceptInvitation`
  + AWS Directory Service
    + `ds:AcceptSharedDirectory`
  + Amazon Elastic Block Store - すべてのアクション
  + Amazon EC2
    + `ec2:AcceptTransitGatewayPeeringAttachment`
    + `ec2:AcceptVpcEndpointConnections`
    + `ec2:AcceptVpcPeeringConnection`
    + `ec2:CreateTransitGatewayPeeringAttachment`
    + `ec2:CreateVpcEndpoint`
    + `ec2:CreateVpcPeeringConnection`
  + Amazon EventBridge
    + `events:PutEvents` – 2023 年 3 月 2 日以前にそのイベントバスがクロスアカウントの EventBridge ターゲットとして設定されていた場合、EventBridge `PutEvents` は別のアカウントのイベントバスを呼び出します。詳細については、「*Amazon EventBridge ユーザーガイド*」の「[他の AWS アカウントからのイベントを許可するアクセス許可の付与](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html#eb-receiving-events-from-another-account)」を参照してください。
  + Amazon GuardDuty
    + `guardduty:AcceptAdministratorInvitation`
  + Amazon Macie
    + `macie2:AcceptInvitation`
  + Amazon OpenSearch Service
    + `es:AcceptInboundConnection`
  + Amazon Route 53
    + `route53:AssociateVpcWithHostedZone`
    + `route53:CreateVPCAssociationAuthorization`
  + AWS Security Hub CSPM
    + `securityhub:AcceptAdministratorInvitation`
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

**注記**  
上記のサポートされていないアクションに関するその他の考慮事項については、[data-perimeter-policy-examples](https://github.com/aws-samples/data-perimeter-policy-examples) リポジトリを参照してください。

このグローバルキーは、与えられたリクエストのリソース組織 ID を返します。これにより、[ID ベースポリシー](access_policies_identity-vs-resource.md)の `Resource` 要素で指定した組織のすべてのリソースに適用されるルールが作成できます。[組織 ID](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html) は、条件要素で指定できます。アカウントを追加および削除する場合、`aws:ResourceOrgID` のキーを含むポリシーには正しいアカウントが自動的に組み込まれ、手動で更新する必要はありません。

例えば、以下のポリシーでは、Amazon S3 リソースがリクエストを行うプリンシパルと同じ組織に属している場合を除き、プリンシパルは `policy-genius-dev` リソースにオブジェクトを追加できません。

**重要**  
このポリシーでは、アクションを許可しません。代わりに、ステートメントに記載され、リストされたアカウントに属さないすべてのリソースへのアクセスを明示的に拒否する `Deny` 効果を使用します。特定のリソースへのアクセスを許可する他のポリシーと組み合わせてこのポリシーを使用します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Sid": "DenyPutObjectToS3ResourcesOutsideMyOrganization",
        "Effect": "Deny",
        "Action": "s3:PutObject",
        "Resource": "arn:aws:s3:::policy-genius-dev/*",
        "Condition": {
            "StringNotEquals": {
                "aws:ResourceOrgID": "${aws:PrincipalOrgID}"
            }
        }
    }
}
```

------

**注記**  
一部の AWS のサービス では他の AWS アカウント でホストされている AWS 所有リソースへのアクセスを必要とします。ID ベースのポリシーで `aws:ResourceOrgID` を使用する場合は、これらのリソースにアクセスする ID の機能に影響を与える可能性があります。

AWS Data Exchange などの特定の AWS サービスでは、通常のオペレーションで AWS アカウント の外部のリソースへのアクセスに依存しています。ポリシーに `aws:ResourceOrgID` キーを使う場合、それらのサービスの免除を指定するために追加のステートメントを含めます。ポリシー [AWS: AWS Data Exchange を除くアカウント外の Amazon S3 リソースへのアクセスを拒否する](reference_policies_examples_resource_account_data_exch.md) の例では、サービスが所有するリソースの例外を定義しながら、リソースアカウントに応じてアクセスを拒否する方法を示しています。類似ポリシーを作成して、サービス所有のリソースを考慮しながら、`aws:ResourceOrgID` キーを使用して組織内のリソースへのアクセスを制限できます。

独自のカスタムポリシーを作成する場合に、このポリシーの例をテンプレートとして使用します。詳細については、サービスの[ドキュメント](https://docs.aws.amazon.com/index.html)を参照してください。

次のビデオでは、ポリシーで `aws:ResourceOrgID` 条件キーを使用する方法について詳しく説明します。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/cWVW0xAiWwc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/cWVW0xAiWwc)


### aws:ResourceTag/*tag-key*
<a name="condition-keys-resourcetag"></a>

このキーを使用して、ポリシーで指定したタグキーバリューのペアと、リソースにアタッチされているキーバリューのペアを比較します。たとえば、リソースに値 `"Marketing"` の付いたタグキー `"Dept"` がアタッチされている場合にのみ、そのリソースへのアクセスを許可するように要求することができます。詳細については、「[AWS のリソースへのアクセスの制御](access_tags.md#access_tags_control-resources)」を参照してください。
+ **可用性** – このキーは、リクエストコンテキスト (リクエストされたリソースにすでにアタッチしたタグがある場合) またはアタッチしたタグを持つリソースを作成するリクエストに含まれます。このキーは、[タグに基づいて認可をサポートする](reference_aws-services-that-work-with-iam.md)リソースに対してのみ返されます。タグキーバリューのペアごとに 1 つのコンテキストキーがあります。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

このコンテキストキーは `"aws:ResourceTag/tag-key":"tag-value"` という形式です。ここで *tag-key* および *tag-value* はタグキーバリューのペアです。タグキーでは、大文字と小文字は区別されません。つまり、ポリシーの条件要素で `"aws:ResourceTag/TagKey1": "Value1"` で指定した場合、その条件は `TagKey1` または `tagkey1` という名前のリソースタグキーに一致しますが、その両方には一致しません。これらのタグキーと値のペアの値では、大文字と小文字が区別されます。したがって、ポリシーの条件要素で `"aws:ResourceTag/TagKey1": "Production"` を指定した場合、その条件は `Production` という名前のリソースタグ値に一致しますが、`production` や `PRODUCTION` には一致しません。

`aws:ResourceTag` キーを使用して IAM リソースへのアクセスを制御する例については、「[AWS のリソースへのアクセスの制御](access_tags.md#access_tags_control-resources)」を参照してください。

`aws:ResourceTag` キーを使用して他の AWS リソースへのアクセスを制御する例については、「[タグを使用した AWS リソースへのアクセスの制御](access_tags.md)」をご参照ください。

属性ベースのアクセス制御 (ABAC) の `aws:ResourceTag` 条件キーの使用に関するチュートリアルについては、「[IAM チュートリアル: タグに基づいて AWS リソースにアクセスするためのアクセス許可を定義する](tutorial_attribute-based-access-control.md)」をご参照ください。

## リクエストのプロパティ
<a name="condition-keys-request-properties"></a>

次の条件キーを使用して、リクエスト自体とリクエストの内容の詳細を、ポリシーで指定したリクエストのプロパティと比較します。

### aws:CalledVia
<a name="condition-keys-calledvia"></a>

このキーを使用して、ポリシー内のサービスと、IAM プリンシパル (ユーザーまたはロール) に代わってリクエストを実行したサービスを比較します。プリンシパルが AWS サービスに対してリクエストを実行すると、そのサービスはプリンシパルの認証情報を使用して、後続のリクエストを他のサービスに対して実行することがあります。転送アクセスセッション (FAS) を使用してリクエストが行われる場合、このキーはサービスプリンシパルの値で設定されます。`aws:CalledVia` キーには、プリンシパルに代わってリクエストを実行したチェーン内の各サービスの順序付きリストが含まれます。

詳細については、「[転送アクセスセッション](access_forward_access_sessions.md)」を参照してください。
+ **可用性 ** – このキーは、`aws:CalledVia` をサポートするサービスが IAM プリンシパルの認証情報を使用して別のサービスにリクエストを実行する場合に、リクエスト内に存在します。サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合、このキーは存在しません。また、プリンシパルが直接呼び出しを行う場合にも存在しません。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

ポリシーで `aws:CalledVia` 条件キーを使用するには、AWS サービスリクエストを許可または拒否するサービスプリンシパルを提供する必要があります。例えば、AWS CloudFormation を使用して Amazon DynamoDB テーブルからの読み取りと書き込みを行うことができます。次に、DynamoDB は AWS Key Management Service（AWS KMS）によって提供される暗号化を使用します。

*いずれかの*サービスがプリンシパルの認証情報を使用してリクエストを実行したときにアクセスを許可または拒否するには、`aws:ViaAWSService` 条件キーを使用します。この条件キーは、AWS サービスをサポートします。

`aws:CalledVia` キーは[複数値を持つキー](reference_policies_condition-single-vs-multi-valued-context-keys.md)です。ただし、条件でこのキーを使用して順序を強制することはできません。上記の例を使用すると、**ユーザー 1**は、CloudFormation に対してリクエストを実行し、それにより AWS KMS が呼び出され、DynamoDB が呼び出されます。これらは 3 つの個別のリクエストです。AWS KMS への最後の呼び出しは、CloudFormation を*介し*、次に DynamoDB を介して、ユーザー 1 によって実行されます。

![\[aws:CalledVia の使用例\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/condition-key-calledvia-example-diagram.png)


この場合、リクエストコンテキストの `aws:CalledVia` キーには、`cloudformation.amazonaws.com`、`dynamodb.amazonaws.com` がこの順序で含まれます。呼び出しがリクエストのチェーン内のどこかで、DynamoDB を介して行われたことだけが重要である場合は、ポリシーでこの条件キーを使用できます。

たとえば、次のポリシーでは、AWS KMS という名前の `my-example-key` キーを管理できますが、DynamoDB がリクエスト元のサービスの 1 つである場合に限ります。`ForAnyValue:StringEquals` 条件演算子により、DynamoDB が呼び出し元サービスの 1 つであることが保証されます。プリンシパルが AWS KMS を直接呼び出す場合、条件は `false` を返し、リクエストはこのポリシーで許可されません。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KmsActionsIfCalledViaDynamodb",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/my-example-key",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:CalledVia": [
                        "dynamodb.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

チェーン内の最初または最後の呼び出しを行うサービスを強制する場合は、`aws:CalledViaLast` キー `aws:CalledViaFirst` とキーを使用できます。たとえば、次のポリシーでは、`my-example-key` という名前のキーを AWS KMS で管理できます。これらの AWS KMS オペレーションは、複数のリクエストがチェーンに含まれている場合にのみ許可されます。最初のリクエストは CloudFormation を介して、最後のリクエストは DynamoDB を介して実行される必要があります。他のサービスがチェーンの途中でリクエストを実行しても、オペレーションは許可されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "KmsActionsIfCalledViaChain",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/my-example-key",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "cloudformation.amazonaws.com",
                    "aws:CalledViaLast": "dynamodb.amazonaws.com"
                }
            }
        }
    ]
}
```

------

サービスで IAM プリンシパルの認証情報を使用して別のサービスを呼び出す場合、`aws:CalledViaFirst` キーと `aws:CalledViaLast` キーはリクエスト内に存在します。これらは、リクエストのチェーンで呼び出しを行った最初と最後のサービスを示します。たとえば、CloudFormation が `X Service` という名前の別のサービスを呼び出し、それにより DynamoDB が呼び出され、AWS KMS が呼び出されるとします。AWS KMS への最後の呼び出しは、`User 1` を*介して* CloudFormation、DynamoDBの順に `X Service` によって実行されます。これは、最初に CloudFormation を介して呼び出され、最後に DynamoDB を介して呼び出されました。

![\[aws:CalledViaFirst および aws:CalledViaLast の使用例\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/condition-key-calledviafirstlast-example-diagram.png)


### aws:CalledViaFirst
<a name="condition-keys-calledviafirst"></a>

このキーを使用して、ポリシー内のサービスと、IAM プリンシパル (ユーザーまたはロール) に代わってリクエストを実行した***最初のサービス***を比較します。詳細については、「`aws:CalledVia`」を参照してください。
+ **可用性** – このキーは、サービスが IAM プリンシパルの認証情報を使用して、別のサービスに対して少なくとも 1 つの他のリクエストを実行する場合に、リクエスト内に存在します。サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合、このキーは存在しません。また、プリンシパルが直接呼び出しを行う場合にも存在しません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

### aws:CalledViaLast
<a name="condition-keys-calledvialast"></a>

このキーを使用して、ポリシー内のサービスと、IAM プリンシパル (ユーザーまたはロール) に代わってリクエストを実行した*最後のサービス*を比較します。詳細については、「`aws:CalledVia`」を参照してください。
+ **可用性** – このキーは、サービスが IAM プリンシパルの認証情報を使用して、別のサービスに対して少なくとも 1 つの他のリクエストを実行する場合に、リクエスト内に存在します。サービスが[サービスロールまたはサービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_terms-and-concepts)を使用してプリンシパルに代わって呼び出しを行う場合、このキーは存在しません。また、プリンシパルが直接呼び出しを行う場合にも存在しません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

### aws:ViaAWSService
<a name="condition-keys-viaawsservice"></a>

このキーを使用して、AWS のサービスが[転送アクセスセッション (FAS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html) を使用してユーザーに代わって別のサービスにリクエストを実行するかどうか確認します。

サービスが転送アクセスセッションを使用して元の IAM プリンシパルに代わってリクエストを実行すると、リクエストコンテキストキーは `true` を返します。リクエストコンテキストキーは、プリンシパルが直接呼び出しを行ったときも `false` を返します。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

### aws:CalledViaAWSMCP
<a name="condition-keys-calledviaawasmcp"></a>

このキーを使用して、ポリシー内のサービスと、IAM プリンシパル (ユーザーまたはロール) に代わってリクエストを実行した AWS MPC サービスを比較します。プリンシパルが AWS MCP サービスに対してリクエストを実行すると、そのサービスはプリンシパルの認証情報を使用して、後続のリクエストを他のサービスに対して実行します。AWS MCP サービスを使用してリクエストが行われる場合、このキーはサービスプリンシパルの値で設定されます。`aws:CalledViaAWSMCP` キーには、プリンシパルに代わってリクエストを行った MCP サービスのサービスプリンシパル名が含まれます。
+ **可用性** – このキーは、AWS MCP サービスが IAM プリンシパルの認証情報を使用して AWS サービスにリクエストを実行する場合、リクエスト内に存在します。また、プリンシパルが直接呼び出しを行う場合にも存在しません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

この条件キーを使用して、リクエストを開始した特定の MCP サーバーに基づいてアクセスを許可または拒否できます。例えば、次のポリシーは、特定の MCP サーバーから開始された機密性の高い削除オペレーションを拒否します。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenySensitiveActionsViaSpecificMCP",
            "Effect": "Deny",
            "Action": [
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "dynamodb:DeleteTable"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaAWSMCP": "aws-mcp.amazonaws.com"
                }
            }
        }
    ]
}
```

### aws:ViaAWSMCPService
<a name="condition-keys-viaawsmcpservice"></a>

このキーを使用して、AWS MCP サービスが転送アクセスセッション (FAS) を使用してユーザーに代わって別の AWS サービスにリクエストを実行するかどうか確認します。AWS MCP サービスが元の IAM プリンシパルに代わってリクエストを AWS サービスに転送すると、リクエストコンテキストキーは `true` を返します。リクエストコンテキストキーは、プリンシパルが直接呼び出しを行ったときも `false` を返します。
+ **可用性** – AWS MCP サーバーが IAM プリンシパルに代わってダウンストリームの AWS サービスにリクエストを行うと、このキーがリクエストコンテキストに含まれます。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

このキーを使用して、特定のアクションが MCP サーバーから行われたときにそのアクションを制限できます。例えば、次のポリシーは、任意の AWS MCP サーバーから開始された場合、機密性の高い削除オペレーションを拒否します。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenySensitiveActionsViaMCP",
            "Effect": "Deny",
            "Action": [
                "s3:DeleteBucket",
                "s3:DeleteObject",
                "dynamodb:DeleteTable"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "aws:ViaAWSMCPService": "true"
                }
            }
        }
    ]
}
```

### aws:CurrentTime
<a name="condition-keys-currenttime"></a>

このキーを使用して、リクエストの日時と、ポリシーで指定した日時を比較します。この条件キーを使用するポリシーの例を表示するには、「[AWS: 日付と時刻に基づいてアクセスを許可します](reference_policies_examples_aws-dates.md)」を参照してください。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** – [日付](reference_policies_elements_condition_operators.md#Conditions_Date)
+ **値タイプ** — 単一値

### aws:EpochTime
<a name="condition-keys-epochtime"></a>

このキーを使用して、リクエストの日時（epoch または Unix 時間）をポリシーで指定した値と比較します。このキーは、1970 年 1 月 1 日からの秒数も受け付けます。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** – [日付](reference_policies_elements_condition_operators.md#Conditions_Date)、[数値](reference_policies_elements_condition_operators.md#Conditions_Numeric)
+ **値タイプ** — 単一値

### aws:referer
<a name="condition-keys-referer"></a>

このキーを使用して、クライアントブラウザでリクエストを参照したユーザーとポリシーで指定したリファラーを比較します。`aws:referer` リクエストコンテキストの値は、HTTP ヘッダーで呼び出し元によって提供されます。`Referer` ヘッダーは、ウェブページ上のリンクを選択すると、ウェブブラウザリクエストに含まれます。`Referer` ヘッダーには、リンクが選択されたウェブページの URL が含まれます。
+ **可用性** – このキーは、ブラウザでウェブページ URL からリンクすることによって AWS リソースへのリクエストが呼び出された場合にのみ、リクエストコンテキストに含まれます。このキーは、AWS リソースへのアクセスにブラウザリンクを使用しないため、プログラムによるリクエストには含まれません。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

例えば、URL または直接 API 呼び出しを使用して、Amazon S3 オブジェクトに直接アクセスできます。詳細については、「[ウェブブラウザを使用して Amazon S3 API オペレーションを直接呼び出す](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-4)」をご参照ください。ウェブページに存在する URL から Amazon S3 オブジェクトにアクセスすると、ソースウェブページの URL が `aws:referer` で使用されます。ブラウザに URL を入力して Amazon S3 オブジェクトにアクセスすると、`aws:referer` は存在しません。API を直接呼び出すと、`aws:referer` も存在していません。ポリシーで `aws:referer` 条件キーを使用して、会社のドメイン内のウェブページ上のリンクなど、特定のリファラーからのリクエストを許可できます。

**警告**  
このキーは慎重に使用する必要があります。一般に知られている参照子のヘッダー値を含めるのは危険です。認可されていない当事者は、変更されたブラウザまたはカスタムブラウザを使用して任意の `aws:referer` 値を提供することができます。そのため `aws:referer` は、認可されていない当事者から AWS にリクエストが直接行われることを防止するために使用しないでください。このキーは、Amazon S3 に保存されているデジタルコンテンツなど、認可されていないサードパーティーサイトで参照されることから保護するためにのみ、お客様に提供されています。

### aws:RequestedRegion
<a name="condition-keys-requestedregion"></a>

このキーを使用して、リクエストで呼び出された AWS リージョンとポリシーで指定したリージョンを比較します。このグローバル条件キーを使用して、リクエストできるリージョンを制御できます。各サービスの AWS リージョンを表示するには、「*Amazon Web Services 全般のリファレンス*」の「[サービスエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)」を参照してください。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

IAM などのグローバルサービスには、単一のエンドポイントがあります。このエンドポイントは、物理的に米国東部 (バージニア北部) リージョンにあるため、IAM 呼び出しは常に us-east-1 リージョンで行われます。たとえば、リクエストされたリージョンが us-west-2 でない場合にすべてのサービスへのアクセスを拒否するポリシーを作成すると、IAM 呼び出しは必ず失敗します。これを回避する方法の例を表示するには、「[Deny での NotAction の使用](reference_policies_elements_notaction.md)」を参照してください。

**注記**  
`aws:RequestedRegion` 条件キーを使用すると、呼び出されるサービスのエンドポイントを制御できますが、オペレーションの影響を制御することはできません。一部のサービスではリージョン間の影響があります。  
例えば、Amazon S3 には複数のリージョンにまたがる API オペレーションがあります。  
1 つのリージョン（`aws:RequestedRegion` の条件キーの影響を受ける）で `s3:PutBucketReplication` を呼び出すことはできますが、他のリージョンはレプリケーションの構成設定に基づいて影響を受けます。
`s3:CreateBucket` を呼び出し、別のリージョンにバケットを作成できます。また、`s3:LocationConstraint` 条件キーを使用して該当するリージョンを制御できます。

このコンテキストキーを使用して、指定された一連のリージョン内の AWS サービスへのアクセスを制限できます。たとえば、以下のポリシーでは、AWS マネジメントコンソール でのすべての Amazon EC2 インスタンスの表示をユーザーに許可します。ただし、変更できるインスタンスは、アイルランド (eu-west-1)、ロンドン (eu-west-2)、パリ (eu-west-3) のみです。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "InstanceConsoleReadOnly",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:Export*",
                "ec2:Get*",
                "ec2:Search*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "InstanceWriteRegionRestricted",
            "Effect": "Allow",
            "Action": [
                "ec2:Associate*",
                "ec2:Import*",
                "ec2:Modify*",
                "ec2:Monitor*",
                "ec2:Reset*",
                "ec2:Run*",
                "ec2:Start*",
                "ec2:Stop*",
                "ec2:Terminate*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": [
                        "eu-west-1",
                        "eu-west-2",
                        "eu-west-3"
                    ]
                }
            }
        }
    ]
}
```

------

### aws:RequestTag/*tag-key*
<a name="condition-keys-requesttag"></a>

このキーを使用して、リクエストで渡されたタグキーバリューのペアと、ポリシーで指定したタグペアを比較します。たとえば、リクエストに「`"Dept"`」タグキーが含まれ、「`"Accounting"`」という値が含まれているかどうかを確認できます。詳細については、「[AWS リクエスト時のアクセスの制御](access_tags.md#access_tags_control-requests)」を参照してください。
+ **可用性** – このキーは、リクエストでタグのキー/値のペアが渡されたときにリクエストコンテキストに含まれます。複数のタグがリクエストで渡されると、タグキーバリューのペアごとに 1 つのコンテキストキーがあります。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

このコンテキストキーは `"aws:RequestTag/tag-key":"tag-value"` という形式です。ここで *tag-key* および *tag-value* はタグキーバリューのペアです。タグキーでは、大文字と小文字は区別されません。つまり、ポリシーの条件要素で `"aws:RequestTag/TagKey1": "Value1"` で指定した場合、その条件は `TagKey1` または `tagkey1` という名前のリクエストタグキーに一致しますが、その両方には一致しません。これらのタグキーと値のペアの値では、大文字と小文字が区別されます。したがって、ポリシーの条件要素で `"aws:RequestTag/TagKey1": "Production"` を指定した場合、その条件は `Production` という名前のリクエストタグ値に一致しますが、`production` や `PRODUCTION` には一致しません。

この例では、キーが単一値であっても、キーが異なる場合でもリクエストで複数のキー/値のペアが使用できることを示しています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": "ec2:CreateTags",
    "Resource": "arn:aws:ec2::111122223333:instance/*",
    "Condition": {
      "StringEquals": {
        "aws:RequestTag/environment": [
          "preprod",
          "production"
        ],
        "aws:RequestTag/team": [
          "engineering"
        ]
      }
    }
  }
}
```

------

### aws:TagKeys
<a name="condition-keys-tagkeys"></a>

このキーを使用して、リクエスト内のタグキーとポリシーで指定したキーを比較します。ポリシーでタグを使用してアクセスを制御する場合は、`aws:TagKeys` 条件キーを使用して、許可されるタグキーを定義することをお勧めします。ポリシー例と詳細については、「[タグキーに基づいたアクセスの制御](access_tags.md#access_tags_control-tag-keys)」を参照してください
+ **可用性** – このキーは、オペレーションがリクエストのタグを渡すサポートしている場合にのみ、リクエストコンテキストに含まれます。
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

このコンテキストキーは `"aws:TagKeys":"tag-key"` という形式であり、ここで *tag-key* は値 (`["Dept","Cost-Center"]` など) のないタグキーのリストです。

1 つのリクエストに複数のタグとキーバリューのペアを含めることができるため、リクエストのコンテンツは[複数の値を](reference_policies_condition-single-vs-multi-valued-context-keys.md)持つリクエストである場合があります。この場合、`ForAllValues` または `ForAnyValue` 集合演算子を使用する必要があります。詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。

一部のサービスでは、リソースの作成、変更、削除などのリソースオペレーションを使用したタグ付けをサポートしています。1 回の呼び出しでタグ付けとオペレーションを許可するには、タグ付けアクションとリソース変更アクションの両方を含むポリシーを作成する必要があります。次に、`aws:TagKeys` 条件キーを使用して、リクエストで特定のタグキーを使用して適用できます。たとえば、だれかが Amazon EC2 スナップショットを作成するときにタグを制限するには、ポリシーに ***`ec2:CreateSnapshot` の作成アクション***および `ec2:CreateTags` のタグ付けアクションを含める必要があります。`aws:TagKeys` を使用するこのシナリオのポリシーを表示するには、「*Amazon EC2 ユーザーガイド*」の[タグ付きのスナップショットの作成](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-creating-snapshot-with-tags)に関するページを参照してください。

### aws:SecureTransport
<a name="condition-keys-securetransport"></a>

このキーを使用してリクエストが TLS を使用して送信されたかどうかをチェックします。リクエストコンテキストは `true` または `false` を返します。ポリシーでは、リクエストが TLS を使用して送信された場合にのみ、特定のアクションを許可できます。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

**注記**  
ユーザーに代わって AWS のサービス が他の AWS のサービス を呼び出す場合 (サービス間コール)、特定のネットワーク固有の承認コンテキストが編集されます。ポリシーがこの条件キーを `Deny` ステートメントと一緒に使用した場合、意図せずに AWS のサービス プリンシパルがブロックされる可能性があります。セキュリティ要件を維持しながら AWS のサービス が適切に動作させするには、`false` の値を持つ `aws:PrincipalIsAWSService` 条件キーを追加することで、`Deny` ステートメントからサービスプリンシパルを除外します。例えば、次のようになります。  

```
{
  "Effect": "Deny",
  "Action": "s3:*",
  "Resource": "*",
  "Condition": {
    "Bool": {
      "aws:SecureTransport": "false",
      "aws:PrincipalIsAWSService": "false"
    }
  }
}
```
このポリシーにより、HTTPS が使用されていない (`aws:SecureTransport` が false) ときに Amazon S3 オペレーションへのアクセスが拒否されますが、AWS 以外のサービスプリンシパルのみが対象になります。条件付き制限がすべてのプリンシパルに適用されます (AWS のサービス プリンシパルを除く)。

### aws:SourceAccount
<a name="condition-keys-sourceaccount"></a>

このキーを使用して、サービス間リクエストを行っているリソースのアカウント ID を、ポリシーで指定したアカウント ID と比較します。ただし、このリクエストが AWS サービスプリンシパルによって実行された場合に限定されます。
+ **可用性** — このキーは、設定によってサービス間リクエストがトリガーされたリソースに代わって、[AWS サービスプリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)が直接リソースを呼び出している場合にのみリクエストコンテキストに含まれます。呼び出し元のサービスは、オリジナルのリソースのアカウント ID を呼び出し先のサービスに渡します。
**注記**  
このキーは、クロスサービスの混乱した使節のコントロールを AWS のサービス 全体で強制適用するための統一メカニズムを提供します。ただし、すべてのサービス統合で、このグローバル条件キーを使用する必要はありません。クロスサービスにおける混乱した使節のリスクを軽減するためのサービス固有のメカニズムの詳細については、使用する AWS のサービス のドキュメントを参照してください。  
![\[aws:SourceAccount\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/sourceAccount.png)
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

この条件キーを使用すると、リクエストが特定のアカウントからのものである場合にのみ、呼び出し元のサービスがリソースにアクセスできるようにするのに役立ちます。例えば、次のリソースコントロールポリシー (RCP) をアタッチして、指定されたアカウントのリソースによってトリガーされたものではない限り、サービスプリンシパルによる Amazon S3 バケットに対するリクエストを拒否できます。このポリシーは、`aws:SourceAccount` キーが存在するサービスプリンシパル (`"Bool": {"aws:PrincipalIsAWSService": "true"}`) によるリクエストに対してのみ、コントロールを適用します (`"Null": {"aws:SourceAccount": "false"}`)。これにより、このキーの使用を必要としないサービス統合とプリンシパルによる呼び出しは影響を受けません。`aws:SourceAccount` キーがリクエストコンテキストに存在する場合、`Null` 条件は `true` に評価され、`aws:SourceAccount` キーが強制適用されます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RCPEnforceConfusedDeputyProtection",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceAccount": "111122223333"
        },
        "Null": {
          "aws:SourceAccount": "false"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    }
  ]
}
```

------

プリンシパルが AWS のサービス プリンシパルであるリソースベースのポリシーでは、キーを使用してサービスに付与される許可を制限します。例えば、Amazon S3 バケットが Amazon SNS トピックに通知を送信するように設定されている場合、Amazon S3 サービスは設定されたすべてのイベントのために `sns:Publish` API オペレーションを呼び出します。`sns:Publish` 操作を許可するトピックポリシーで、条件キーの値を Amazon S3 バケットのアカウント ID に設定します。

### aws:SourceArn
<a name="condition-keys-sourcearn"></a>

このキーを使用して、サービス間リクエストを行っているリソースの [Amazon リソースネーム (ARN)](reference_identifiers.md#identifiers-arns) を、ポリシーで指定した ARN と比較します。ただし、このリクエストが AWS サービスプリンシパルによって実行された場合に限定されます。ソースの ARN にアカウント ID が含まれている場合は、`aws:SourceArn` で `aws:SourceAccount` を使用する必要はありません。

このキーは、リクエストを行うプリンシパルの ARN では機能しません。代わりに `aws:PrincipalArn` を使用してください。
+ **可用性** — このキーは、設定によってサービス間リクエストがトリガーされたリソースに代わって、[AWS サービスプリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)が直接リソースを呼び出している場合にのみリクエストコンテキストに含まれます。呼び出し元のサービスは、元のリソースの ARN を呼び出し先のサービスに渡します。
**注記**  
このキーは、クロスサービスの混乱した使節のコントロールを AWS のサービス 全体で強制適用するための統一メカニズムを提供します。ただし、すべてのサービス統合で、このグローバル条件キーを使用する必要はありません。クロスサービスにおける混乱した使節のリスクを軽減するためのサービス固有のメカニズムの詳細については、使用する AWS のサービス のドキュメントを参照してください。  
![\[aws:SourceArn\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/sourceArn.png)
+ **データ型** – ARN

  AWS では、ARN を比較する場合、[文字列演算子](reference_policies_elements_condition_operators.md#Conditions_String)の代わりに [ARN 演算子](reference_policies_elements_condition_operators.md#Conditions_ARN)を使用することをお勧めします。
+ **値タイプ** — 単一値

この条件キーを使用すると、リクエストが特定のリソースからのものである場合にのみ、呼び出し元のサービスがリソースにアクセスできるようにするのに役立ちます。AWS のサービス プリンシパルを `Principal` とするリソースベースのポリシーを使用する場合は、この条件キーの値を、アクセスを制限するリソースの ARN に設定します。例えば、Amazon S3 バケットが Amazon SNS トピックに通知を送信するように設定されている場合、Amazon S3 サービスは設定されたすべてのイベントのために `sns:Publish` API オペレーションを呼び出します。`sns:Publish` 操作を許可するトピックポリシーで、条件キーの値を Amazon S3 バケットの ARN に設定します。リソースベースのポリシーでこの条件キーを使用する場合に関するレコメンデーションについては、使用している AWS のサービス のドキュメントを参照してください。

### aws:SourceOrgID
<a name="condition-keys-sourceorgid"></a>

このキーを使用して、サービス間リクエストを行っているリソースの[組織 ID](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_details.html) を、ポリシーで指定した組織 ID と比較します。ただし、このリクエストが AWS サービスプリンシパルによって実行された場合に限定されます。AWS Organizations の組織にアカウントを追加する、または組織からアカウントを削除する場合、`aws:SourceOrgID` のキーを含むポリシーには正しいアカウントが自動的に組み込まれるため、手動で更新する必要はありません。
+ **可用性** — このキーがリクエストコンテキストに含まれるのは、組織のメンバーであるアカウントが所有するリソースに代わって、[AWSサービスプリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)が直接リソースを呼び出している場合のみです。呼び出し元のサービスは、元のリソースの組織 ID を呼び出し先のサービスに渡します。
**注記**  
このキーは、クロスサービスの混乱した使節のコントロールを AWS のサービス 全体で強制適用するための統一メカニズムを提供します。ただし、すべてのサービス統合で、このグローバル条件キーを使用する必要はありません。クロスサービスにおける混乱した使節のリスクを軽減するためのサービス固有のメカニズムの詳細については、使用する AWS のサービス のドキュメントを参照してください。  
![\[aws:SourceOrgID\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/sourceOrgID.png)
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

この条件キーを使用すると、リクエストが特定の組織からのものである場合にのみ、呼び出し元のサービスがリソースにアクセスできるようにするのに役立ちます。例えば、次のリソースコントロールポリシー (RCP) をアタッチして、指定された AWS 組織のリソースによってトリガーされたものではない限り、サービスプリンシパルによる Amazon S3 バケットに対するリクエストを拒否できます。このポリシーは、`aws:SourceAccount` キーが存在するサービスプリンシパル (`"Bool": {"aws:PrincipalIsAWSService": "true"}`) によるリクエストに対してのみ、コントロールを適用します (`"Null": {"aws:SourceAccount": "false"}`)。これにより、このキーの使用を必要としないサービス統合とプリンシパルによる呼び出しは影響を受けません。`aws:SourceAccount` キーがリクエストコンテキストに存在する場合、`Null` 条件は `true` に評価され、`aws:SourceOrgID` キーが強制適用されます。リクエストが組織に属さないアカウントからのものである場合でもコントロールが適用されるように、`Null` 条件演算子では `aws:SourceOrgID` ではなく `aws:SourceAccount` が使用されます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "RCPEnforceConfusedDeputyProtection",
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEqualsIfExists": {
          "aws:SourceOrgID": "o-xxxxxxxxxx"
        },
        "Null": {
          "aws:SourceAccount": "false"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
    }
  ]
}
```

------

### aws:SourceOrgPaths
<a name="condition-keys-sourceorgpaths"></a>

このキーを使用して、サービス間リクエストを行っているリソースの AWS Organizations パスを、ポリシーで指定した組織パスと比較します。ただし、このリクエストが AWS サービスプリンシパルによって実行された場合に限定されます。AWS Organizations パスは、AWS Organizations エンティティの構造をテキストで表記したものです。パスの使用と理解の詳細については、「[AWS Organizations エンティティパスを理解する](access_policies_last-accessed-view-data-orgs.md#access_policies_last-accessed-viewing-orgs-entity-path)」を参照してください。
+ **可用性** — このキーがリクエストコンテキストに含まれるのは、組織のメンバーであるアカウントが所有するリソースに代わって、[AWSサービスプリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services)が直接リソースを呼び出している場合のみです。呼び出し元のサービスは、元のリソースの組織パスを呼び出し先のサービスに渡します。
**注記**  
このキーは、クロスサービスの混乱した使節のコントロールを AWS のサービス 全体で強制適用するための統一メカニズムを提供します。ただし、すべてのサービス統合で、このグローバル条件キーを使用する必要はありません。クロスサービスにおける混乱した使節のリスクを軽減するためのサービス固有のメカニズムの詳細については、使用する AWS のサービス のドキュメントを参照してください。  
![\[aws:SourceOrgPaths\]](http://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/images/sourceOrgPaths.png)
+ **データ型** – [文字列](reference_policies_elements_condition_operators.md#Conditions_String) (リスト)
+ **値タイプ** — 複数値

この条件キーを使用すると、リクエストが AWS Organizations の特定の組織単位 (OU) からのものである場合にのみ、呼び出し元のサービスがリソースにアクセスできるようにするのに役立ちます。

`aws:SourceOrgID` と同様に、このキーの使用を必要としないサービス統合に対する影響を防ぐのに役立つよう、`Null` 条件キーで `aws:SourceAccount` 条件演算子を使用して、リクエストが組織に属さないアカウントからのものである場合でもコントロールが引き続き適用されるようにします。

```
{
      "Condition": {
        "ForAllValues:StringNotLikeIfExists": {
            "aws:SourceOrgPaths": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/"
        },
        "Null": {
          "aws:SourceAccount": "false"
        },
        "Bool": {
          "aws:PrincipalIsAWSService": "true"
        }
      }
}
```

`aws:SourceOrgPaths` は複数の値を持つ条件キーです。複数値のキーは、リクエストコンテキストに複数の値を持つことができます。このキーを使用する場合は、[文字列条件演算子](reference_policies_elements_condition_operators.md#Conditions_String)とともに `ForAnyValue` または `ForAllValues` の集合演算子を使用する必要があります。複数値を持つ条件キーの詳細については、「[複数値のコンテキストキーの演算子を設定する](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)」を参照してください。

### aws:UserAgent
<a name="condition-keys-useragent"></a>

このキーを使用して、リクエスタのクライアントアプリケーションとポリシーで指定したアプリケーションを比較します。
+ **可用性** – このキーは常にリクエストコンテキストに含まれます。
+ **データ型** - [文字列](reference_policies_elements_condition_operators.md#Conditions_String)
+ **値タイプ** — 単一値

**警告**  
このキーは慎重に使用する必要があります。しかし、`aws:UserAgent` 値は HTTP ヘッダー内の発信者によって渡されるため、認可されていない当事者が改造またはカスタムブラウザを使用して任意の `aws:UserAgent` 値を渡すことができます。そのため `aws:UserAgent` は、認可されていない当事者から AWS にリクエストが直接行われることを防止するために使用しないでください。このステートメントを使用して、ポリシーをテストした後にのみ、特定のクライアントアプリケーションのみを許可できます。

### aws:IsMcpServiceAction
<a name="condition-keys-ismcpserviceaction"></a>

承認されたアクションが MCP サービスアクションであることを確認するときはこのキーを使用します。このキーは、MCP サービスが他の AWS サービスに対して実行したアクションは参照しません。
+ **可用性** – このキーはリクエストコンテキストに含まれ、MCP サービスが MCP サービスアクションを承認している場合にのみ True に設定されます。
+ **データ型** – [ブール値](reference_policies_elements_condition_operators.md#Conditions_Boolean)
+ **値タイプ** — 単一値

## その他のクロスサービス条件キー
<a name="condition-keys-other"></a>

AWS STS は、[SAML ベースのフェデレーション条件キー](reference_policies_iam-condition-keys.md#condition-keys-saml)と [OIDC フェデレーション](reference_policies_iam-condition-keys.md#condition-keys-wif)のクロスサービス条件キーをサポートします。これらのキーは、OICD や SAML を使用してフェデレーションされたユーザーが他のサービスで AWS オペレーションを実行するときに利用できます。