

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# IAM 和 AWS STS 條件內容索引鍵
<a name="reference_policies_iam-condition-keys"></a>

您可以使用 JSON 政策中的 `Condition`元素來測試包含在所有請求請求內容中的金鑰值 AWS 。這些鍵提供有關請求本身或請求參考的資源的資訊。在允許使用者請求的動作之前，您可以檢查鍵是否有指定的值。這可讓您可以在 JSON 政策陳述式符合或不符合傳入請求時進行精細控制。如需有關如何 JSON 政策中使用 `Condition` 元素的資訊，請參閱 [IAM JSON 政策元素：Condition](reference_policies_elements_condition.md)。

本主題說明 IAM 服務 （字`iam:`首為 ) 和 AWS Security Token Service (AWS STS) 服務 (`sts:`字首為 ) 定義和提供的金鑰。其他數個 AWS 服務也提供與該服務定義的動作和資源相關的服務特定金鑰。如需詳細資訊，請參閱 [AWS 服務的動作、資源和條件金鑰](reference_policies_actions-resources-contextkeys.html)。支援條件鍵的服務文件通常包含其他資訊。例如，如需可在 Amazon S3 資源政策中使用之金鑰的資訊，請參閱 *Amazon Simple Storage Service 使用者指南*中的 [Amazon S3 政策鍵](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#AvailableKeys-iamV2)。

**Topics**
+ [IAM 的可用鍵](#available-keys-for-iam)
+ [AWS OIDC 聯合的可用金鑰](#condition-keys-wif)
+ [SAML AWS STS 型聯合的可用金鑰](#condition-keys-saml)
+ [跨服務 SAML AWS STS 型聯合內容索引鍵](#cross-condition-keys-saml)
+ [的可用金鑰 AWS STS](#condition-keys-sts)

## IAM 的可用鍵
<a name="available-keys-for-iam"></a>

您可以在控制存取 IAM 資源的政策中使用以下條件鍵：

**iam:AssociatedResourceArn**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
指定將在目標服務與此角色建立關聯之資源的 ARN。資源通常屬於主體者傳遞角色的目標服務。有時候，資源也可能屬於第三個服務。例如，您可以將角色傳遞給他們在 Amazon EC2 執行個體上使用的 Amazon EC2 Auto Scaling。在這種情況下，條件可能會符合 Amazon EC2 執行個體的 ARN。  
此條件鍵僅適用於政策中的 [PassRole](id_roles_use_passrole.md) 動作。不能用來限制任何其他動作。  
在政策中使用 `iam:AssociatedResourceArn` 條件來限制 [PassRole](id_roles_use_passrole.md) 動作時，如果政策旨在定義 [AddRoleToInstanceProfile](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AddRoleToInstanceProfile.html) 動作的存取權，則需特別考量。在這種情況下，您無法在 EC2 執行個體 ARN 中指定區域或執行個體 ID。ARN 值必須為 `arn:aws:ec2:*:CallerAccountId:instance/*`。使用任何其他 ARN 值可能會導致非預期評估結果。
在身分型政策中使用此條件索引鍵以允許實體傳遞角色，但前提是該角色與指定的資源相關聯。例如，您可以允許 IAM 使用者或角色將任何角色傳遞給 Amazon EC2 服務，以便與 AWS 帳戶中的執行個體搭配使用。不允許 IAM 使用者或角色將角色傳遞給其他服務。  

```
{
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "iam:PassedToService": "ec2.amazonaws.com"
        },
        "ArnLike": {
            "iam:AssociatedResourceARN": [
                "arn:aws:ec2:*:111122223333:instance/*"
            ]
        }
    }
}
```
AWS 支援 [iam：PassedToService](#ck_PassedToService) 的 服務也支援此條件金鑰。

**iam:AWSServiceName**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
指定此角色所連接的 AWS 服務。  
[https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) API 操作支援此條件索引鍵。  
如需哪些服務支援使用服務連結角色的資訊，請參閱 [AWS 使用 IAM 的 服務](reference_aws-services-that-work-with-iam.md)，並尋找 **Service-Linked Role (服務連結角色)** 欄中顯示 **Yes (是)** 的服務。選擇具有連結的 **Yes (是)**，以檢視該服務的服務連結角色文件。
在此範例中，若服務名稱為 *access-analyzer.amazonaws.com*，您可允許實體使用 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html) API 操作建立服務連結角色。    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
       "Effect": "Allow",
       "Action": "iam:CreateServiceLinkedRole",
       "Resource": "*",
       "Condition": {
         "StringLike": {
           "iam:AWSServiceName": "access-analyzer.amazonaws.com"
         }
       }
     }]
 }
```

**iam:FIDO-certification**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
在註冊 FIDO 安全金鑰時檢查 MFA 裝置 FIDO 認證等級。從 [FIDO Alliance Metadata Service (MDS)](https://fidoalliance.org/metadata/) 中擷取裝置認證。如果 FIDO 安全金鑰的認證狀態或等級發生變更，除非裝置已取消註冊並再次註冊以取得更新的認證資訊，否則其將不會更新。  
L1、L1plus、L2、L2plus、L3、L3plus 的可能值  
在此範例中，您註冊安全金鑰並擷取您裝置的 FIDO Level 1 plus 認證。    
****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-certification": "L1plus"
                }
            }
        }
    ]
                  
 }
```

**iam:FIDO-FIPS-140-2-certification**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
在註冊 FIDO 安全金鑰時檢查 MFA 裝置 FIPS-140-2 驗證認證等級。從 [FIDO Alliance Metadata Service (MDS)](https://fidoalliance.org/metadata/) 中擷取裝置認證。如果 FIDO 安全金鑰的認證狀態或等級發生變更，除非裝置已取消註冊並再次註冊以取得更新的認證資訊，否則其將不會更新。  
L1、L2、L3、L4 的可能值  
在此範例中，您註冊安全金鑰並擷取您裝置的 FIPS-140-2 Level 2 認證。    
****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        }
    ]
                  
 }
```

**iam:FIDO-FIPS-140-3-certification**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
在註冊 FIDO 安全金鑰時檢查 MFA 裝置 FIPS-140-3 驗證認證等級。從 [FIDO Alliance Metadata Service (MDS)](https://fidoalliance.org/metadata/) 中擷取裝置認證。如果 FIDO 安全金鑰的認證狀態或等級發生變更，除非裝置已取消註冊並再次註冊以取得更新的認證資訊，否則其將不會更新。  
L1、L2、L3、L4 的可能值  
在此範例中，您註冊安全金鑰並擷取裝置的 FIPS-140-3 Level 3 認證。    
****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L3"
                }
            }
        }
    ]
                  
 }
```

**iam:OrganizationsPolicyId**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
檢查具有指定 AWS Organizations ID 的政策是否符合請求中使用的政策。如要檢視使用此條件鍵的範例 IAM 政策，請參閱 [IAM：檢視 AWS Organizations 政策的服務上次存取資訊](reference_policies_examples_iam_service-accessed-data-orgs.md)。

**iam:PassedToService**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
指定可以將角色傳遞到的服務的服務主體。此條件鍵僅適用於政策中的 [PassRole](id_roles_use_passrole.md) 動作。不能用來限制任何其他動作。  
當您在政策中使用此條件鍵時，請使用服務主體指定服務。服務主體是可以在政策的 `Principal` 元素中指定的服務名稱。這是通常的格式：`SERVICE_NAME_URL.amazonaws.com`。  
您可以使用 `iam:PassedToService` 限制使用者，以便他們只能將角色傳遞給特定服務。例如，使用者可能會建立[服務角色](id_roles.md#iam-term-service-role)，它信任 CloudWatch 代他們將日誌資料寫入 Amazon S3 儲存貯體。然後，使用者必須將許可政策和信任政策連接到新的服務角色。在這種情況下，信任政策必須在 `cloudwatch.amazonaws.com` 元素中指定 `Principal`。若要檢視允許使用者將該角色傳遞至 CloudWatch 的政策，請參閱 [IAM：將 IAM 角色傳遞至特定 AWS 服務](reference_policies_examples_iam-passrole-service.md)。  
透過使用此條件鍵，您可以確保使用者僅為您指定的服務建立服務角色。例如，如果具有上述政策的使用者嘗試為 Amazon EC2 建立服務角色，操作將會失敗。發生失敗的原因是使用者沒有將角色傳遞至 Amazon EC2 的許可。  
有時您會將角色傳遞給服務，然後將角色傳遞給不同服務。`iam:PassedToService` 僅包含擔任角色的最終服務，而不是傳遞角色的中繼服務。  
有些服務不支援此條件鍵。

**iam:PermissionsBoundary**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
檢查指定的政策連接為 IAM 主體資源上的許可界限。如需詳細資訊，請參閱[IAM 實體的許可界限](access_policies_boundaries.md)

**iam:PolicyARN**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
在涉及受管政策的請求中檢查託管政策的 Amazon Resource Name (ARN) 。如需詳細資訊，請參閱[控制對政策的存取](access_controlling.md#access_controlling-policies)。

**iam:RegisterSecurityKey**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
檢查 MFA 裝置啟用的目前狀態。  
可能值為 `Create` 或 `Activate`。  
在此範例中，您註冊安全金鑰並擷取裝置的 FIPS-140-3 Level 1 認證。    
****  

```
{
      "Version":"2012-10-17",		 	 	 
      "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L1"
                }
            }
        }
    ]
                  
 }
```

**iam:ResourceTag/{{key-name}}**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
檢查連接至身分資源 (使用者或角色) 的標籤是否符合指定的鍵名稱和值。  
IAM 和 同時 AWS STS 支援 `iam:ResourceTag` IAM 條件金鑰和`aws:ResourceTag`全域條件金鑰。
您可以將自訂屬性以鍵/值組的形式新增至 IAM 資源。如需有關 IAM 資源標籤的詳細資訊，請參閱 [AWS Identity and Access Management 資源的標籤](id_tags.md)。您可以使用 `ResourceTag` [控制對 AWS 資源的存取](access_tags.md#access_tags_control-resources)，包括 IAM 資源。但是，由於 IAM 不支援群組的標籤，因此您無法使用標籤來控制群組的存取。  
此範例會示範如何建立身分型政策，允許刪除具有 **status=terminated** 標籤的使用者。若要使用此政策，請將範例政策中的{{斜體預留位置文字}}取代為您自己的資訊。然後，遵循[建立政策](access_policies_create.md)或[編輯政策](access_policies_manage-edit.md)中的指示進行操作。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": "iam:DeleteUser",
        "Resource": "*",
        "Condition": {"StringEquals": {"iam:ResourceTag/{{status}}": "{{terminated}}"}}
    }]
}
```

**iam:ServiceSpecificCredentialAgeDays**  
適用於[數字運算子](reference_policies_elements_condition_operators.md#Conditions_Numeric)。  
此條件索引鍵會根據服務特定憑證的過期設定限制憑證的建立，便於您控制可建立之服務特定憑證的存留期上限 (以天為單位)。  
天的有效範圍為 1 至 36600 (最短 1 天，最長 36600 天)。  
[https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) API 操作支援此條件索引鍵。  
在此範例中，您僅允許使用者在服務特定憑證於 90 天內過期時，為 Amazon Bedrock 服務建立服務特定憑證。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceSpecificCredential",
            "Resource": "arn:aws:iam::111122223333:user/{{username}}",
            "Condition": {
                "StringEquals": {
                    "iam:ServiceSpecificCredentialServiceName": "{{bedrock.amazonaws.com}}"
                },
                "NumericLessThanEquals": {
                    "iam:ServiceSpecificCredentialAgeDays": "{{90}}"
                }
            }
        }
    ]
}
```

**iam:ServiceSpecificCredentialServiceName**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
指定管理 AWS 服務特定登入資料時可以使用哪些服務。此條件金鑰可讓您限制在管理 AWS 服務特定登入資料時允許哪些服務。  
下列 API 操作支援此條件索引鍵：  
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html)
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html)
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html)
+ [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html)
下列服務支援服務特定憑證，其確切值格式如下：  
+ `bedrock.amazonaws.com`
+ `cassandra.amazonaws.com`
+ `codecommit.amazonaws.com`
在此範例中，您僅允許使用者使用 [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) API 操作，為 Amazon Bedrock 服務建立服務特定憑證。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceSpecificCredential",
            "Resource": "arn:aws:iam::111122223333:user/{{username}}",
            "Condition": {
                "StringEquals": {
                    "iam:ServiceSpecificCredentialServiceName": "{{bedrock.amazonaws.com}}"
                }
            }
        }
    ]
}
```

**iam：DelegationDuration**  
適用於[數字運算子](reference_policies_elements_condition_operators.md#Conditions_Numeric)。  
根據委派請求中請求的暫時存取持續時間篩選存取權。  
產品提供者可以使用此條件金鑰來控制他們在傳送給客戶的委派請求中允許的最長持續時間。持續時間以秒為單位指定，並決定臨時憑證在客戶釋出交換字符後保持有效的時間長度。這有助於產品提供者根據其使用案例強制執行有關存取持續時間限制的內部政策。  
`CreateDelegationRequest` API 操作支援此條件索引鍵。  
在此範例中，只有在請求的持續時間為 7200 秒 (2 小時） 或更短時，您才允許建立委派請求。  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateDelegationRequest",
            "Resource": "*",
            "Condition": {
                "NumericLessThanEquals": {
                    "iam:DelegationDuration": "7200"
                }
            }
        }
    ]
}
```

**iam：NotificationChannel**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
根據為接收委派請求通知指定的 Amazon SNS 主題 ARN 篩選存取權。  
產品提供者可以使用此條件金鑰來限制哪些 SNS 主題可用於 CreateDelegationRequest API 呼叫中的委派請求通知。產品提供者必須指定 SNS 主題，才能接收狀態變更通知和交換字符。這可確保通知只會傳送到產品提供者組織內已核准的管道。  
`CreateDelegationRequest` API 操作支援此條件索引鍵。  
在此範例中，只有在委派請求使用特定 SNS 主題進行通知時，您才允許建立委派請求。  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateDelegationRequest",
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "iam:NotificationChannel": "arn:aws:sns:us-east-1:123456789012:delegation-notifications"
                }
            }
        }
    ]
}
```

**iam：TemplateArn**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
根據用於在委派請求中定義許可的政策範本 ARN 篩選存取權。  
產品提供者可以使用此條件金鑰來控制可在 CreateDelegationRequest API 呼叫中使用的政策範本。政策範本定義產品提供者在客戶帳戶中請求的暫時許可。這可讓產品提供者限制在建立委派請求時可以使用哪些已註冊的政策範本。  
`CreateDelegationRequest` API 操作支援此條件索引鍵。  
在此範例中，只有當委派請求使用來自特定合作夥伴網域的政策範本時，您才允許建立委派請求。  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateDelegationRequest",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "iam:TemplateArn": "arn:aws:iam:::delegation-template/partner_*"
                }
            }
        }
    ]
}
```

**iam：DelegationRequestOwner**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
根據擁有委派請求的 AWS 身分或委託人篩選存取權。  
客戶可以使用此條件金鑰來控制誰可以根據擁有權對委派請求執行動作。委派請求的擁有者是客戶帳戶中啟動或接收委派請求的 AWS 身分或委託人。  
下列 API 操作支援此條件索引鍵：  
+ `GetDelegationRequest`
+ `AcceptDelegationRequest`
+ `RejectDelegationRequest`
+ `SendDelegatedToken`
+ `ListDelegationRequests`
+ `UpdateDelegationRequest`
在此範例中，您允許使用者僅管理他們擁有的委派請求。  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetDelegationRequest",
                "iam:AcceptDelegationRequest",
                "iam:RejectDelegationRequest",
                "iam:SendDelegatedToken",
                "iam:UpdateDelegationRequest",
                "iam:ListDelegationRequests"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "iam:DelegationRequestOwner": "${aws:PrincipalArn}"
                }
            }
        }
    ]
}
```

## AWS OIDC 聯合的可用金鑰
<a name="condition-keys-wif"></a>

您可以使用 OIDC 聯合，將臨時安全登入資料提供給已透過 OpenID Connect 相容身分提供者 (IdP) 驗證的使用者，提供給 AWS 帳戶中的 IAM OpenID Connect (OIDC) 身分提供者。此類身分提供者範例包括 GitHub、Amazon Cognito、Login with Amazon 以及 Google。可以使用您自己的 IdP 的身分權杖和存取權杖，以及授予給 Amazon Elastic Kubernetes Service 工作負載的[服務帳戶權杖](https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html#service-account-tokens)。

您可以使用 AWS OIDC 條件內容金鑰來撰寫政策，將聯合主體的存取權限制為與特定提供者、應用程式或使用者相關聯的資源。這些鍵通常用於角色的信任政策。使用 OIDC 提供者的名稱 (`token.actions.githubusercontent.com`) 後跟宣告 (`:aud`): `token.actions.githubusercontent.com:aud` 來定義條件索引鍵。

某些 OIDC 聯合條件索引鍵可用於角色工作階段，以授權資源存取。如果此值在**工作階段中可用**欄中為**是**，您可以在政策中使用這些條件索引鍵來定義允許使用者在其他 AWS 服務中存取哪些 。當工作階段中無法使用宣告時，OIDC 條件內容索引鍵僅用於初始 [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html) 身分驗證的角色信任政策。

選取您的 IdP，查看如何將 IdP 中的宣告對應至 AWS中的 IAM 條件內容索引鍵。適用於 GitHub 和 Google 的索引鍵的詳細資訊位於**預設**索引標籤下。

------
#### [ Default ]

預設會列出標準 OIDC 宣告及其對應至 AWS STS 條件內容索引鍵的方式 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。如果您的 IdP 未列在索引標籤選項中，可使用此映射。

GitHub Actions 工作流程和 Google 是在其 OIDC JWT ID 權杖中使用預設實作的 IdP 的一些範例。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| amr | amr | 是 | 
| aud | azp<br />如果未設定 `azp` 的值，則 `aud` 條件索引鍵會映射至 `aud` 宣告。 | 是 | 
| email | email | 否 | 
| oaud | aud | 否 | 
| sub | sub | 是 | 

如需有關搭配使用條件內容索引鍵與 GitHub 的詳細資訊，請參閱 [設定 GitHub OIDC 身分提供者的角色](id_roles_create_for-idp_oidc.md#idp_oidc_Create_GitHub)。如需有關 Google `aud` 和 `azp` 欄位的詳細資訊，請參閱 [Google Identity Platform OpenID Connect](https://developers.google.com/identity/protocols/OpenIDConnect) 指南。

**amr**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。鍵是多值的，這表示您使用[條件設定運算子](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)在政策中對其進行測試。  
**範例**：`token.actions.githubusercontent.com:amr`  
身分驗證方法參考包含使用者的登入資訊。鍵可以包含以下值：  
+ 如果使用者未經身分驗證，則鍵只包含 `unauthenticated`。
+ 如果使用者已通過身分驗證，則金鑰會包含值 `authenticated` 以及呼叫中所使用的登入提供者的名稱 (`accounts.google.com`)。

**aud**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例**：  
+ `accounts.google.com:aud`
+ `token.actions.githubusercontent.com:aud`
使用 `aud` 條件索引鍵來驗證對象是否與您在政策中所指定的相符。可以將 aud 金鑰與 sub 金鑰用於相同的身分提供者。  
在下列權杖欄位中設定此條件索引鍵：  
+ 未設定 `aud` 欄位時，您應用程式的 OAuth 2.0 Google 用戶端 ID 的 `azp`。設定 `azp` 欄位時，`aud` 欄位與 `accounts.google.com:oaud` 條件索引鍵相符。
+ 設定 `azp` 欄位時為 `azp`。這可能發生於混合式應用程式，其中，Web 應用程式和 Android 應用程式具有不同的 OAuth 2.0 Google 用戶端 ID，但共用相同的 Google API 專案。
當您使用 `accounts.google.com:aud` 條件鍵撰寫政策時，您必須知道應用程式是否為設定 `azp` 欄位的混合式應用程式。  
`azp` Field Not Set  
下列範例政策適用於未設定 `azp` 欄位的非混合式應用程式。在這種情況下，Google ID 權杖 `aud` 欄位值符合 `accounts.google.com:aud` 和 `accounts.google.com:oaud` 條件鍵值。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {"Federated": "accounts.google.com"},
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "accounts.google.com:aud": "aud-value",
                    "accounts.google.com:oaud": "aud-value",
                    "accounts.google.com:sub": "sub-value"
                }
            }
        }
    ]
}
```
`azp` Field Set  
下列範例政策適用於已設定 `azp` 欄位的混合式應用程式。在這種情況下，Google ID 權杖 `aud` 欄位值只符合 `accounts.google.com:oaud` 條件鍵值。`azp` 欄位值符合 `accounts.google.com:aud` 條件鍵值。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {"Federated": "accounts.google.com"},
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "accounts.google.com:aud": "azp-value",
                    "accounts.google.com:oaud": "aud-value",
                    "accounts.google.com:sub": "sub-value"
                }
            }
        }
    ]
}
```

**email**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例**：`accounts.google.com:email`  
此條件索引鍵會驗證使用者的電子郵件地址。此宣告的值對於此賬戶可能不是唯一，而且可能會隨著時間而變更，因此不應使用此值作為主要識別符來驗證您的使用者記錄。

**oaud**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例**：`accounts.google.com:oaud`  
此金鑰會指定預期使用此 ID 權杖的其他對象 (`aud`)。必須是您應用程式的其中一個 OAuth 2.0 用戶端 ID。

**sub**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例**：  
+ `accounts.google.com:sub`
+ token.actions.githubusercontent.com:sub
使用這些金鑰來驗證主旨是否與您在政策中所指定的相符。您可以搭配相同身分提供者的 `sub` 鍵來使用 `aud` 鍵。  
在下列角色信任政策中， `sub`條件索引鍵會將角色限制為名為 的 GitHub 分支`demo`。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::{{111122223333}}:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
          "token.actions.githubusercontent.com:sub": "repo:{{org-name/repo-name}}:ref:refs/heads/{{demo}}"
        }
      }
    }
  ]
}
```

------
#### [ Amazon Cognito ]

此索引標籤說明 Amazon Cognito 如何將 OIDC 宣告映射至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。

對於 Amazon Cognito 使用的角色，金鑰的定義方式使用宣告後的 `cognito-identity.amazonaws.com`。

如需有關身分池宣告映射的詳細資訊，請參閱 *Amazon Cognito Developer Guide* 中的 [Default provider mappings](https://docs.aws.amazon.com/cognito/latest/developerguide/provider-mappings.html)。如需有關使用者集區宣告映射的詳細資訊，請參閱*Amazon Cognito Developer Guide* 中的 [Using the ID token](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-id-token.html)。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| amr | amr | 是 | 
| aud | aud | 是 | 
| oaud | aud | 否 | 
| sub | sub | 是 | 

**amr**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。鍵是多值的，這表示您使用[條件設定運算子](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys)在政策中對其進行測試。  
**範例** – `cognito-identity.amazonaws.com:amr`  
身分驗證方法參考包含使用者的登入資訊。鍵可以包含以下值：  
+ 如果使用者未經身分驗證，則鍵只包含 `unauthenticated`。
+ 如果使用者已通過身分驗證，則金鑰會包含值 `authenticated` 以及呼叫中所使用的登入提供者的名稱 (`cognito-identity.amazonaws.com`)。
舉例來說，Amazon Cognito 角色的信任政策中的以下條件會測試使用者是否未經身分驗證。  

```
"Condition": {
  "StringEquals": 
    { "cognito-identity.amazonaws.com:aud": "us-east-2:{{identity-pool-id}}" },
  "ForAnyValue:StringLike": 
    { "cognito-identity.amazonaws.com:amr": "unauthenticated" }
}
```

**aud**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `cognito-identity.amazonaws.com:aud`  
對您的使用者進行身分驗證的使用者集區應用程式用戶端。Amazon Cognito 會在存取權杖 `client_id` 宣告中呈現相同的值。

**oaud**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `cognito-identity.amazonaws.com:oaud`  
對您的使用者進行身分驗證的使用者集區應用程式用戶端。Amazon Cognito 會在存取權杖 `client_id` 宣告中呈現相同的值。

**sub**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `cognito-identity.amazonaws.com:sub`  
已驗證使用者的唯一識別碼 (UUID) 或主體。使用者名稱在您的使用者集區中可能不是唯一的。子宣告是識別特定使用者的最佳方法。您可以搭配相同身分提供者的 `sub` 鍵來使用 `aud` 鍵。  

```
"Condition": {
         "StringEquals": {
            "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-abcd-abcd-abcd-123456790ab",
            "cognito-identity.amazonaws.com:sub": [
               "us-east-1:12345678-1234-1234-1234-123456790ab",
               "us-east-1:98765432-1234-1234-1243-123456790ab"
            ]
         }
      }
```

------
#### [ Login with Amazon ]

此索引標籤說明 Login with Amazon 如何將 OIDC 宣告對應至其中 AWS STS 的條件內容金鑰 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| app\_id | 應用程式 ID | 是 | 
| sub | 使用者 ID | 是 | 
| user\_id | 使用者 ID | 是 | 

**app\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `www.amazon.com:app_id`  
此金鑰會指定與其他身分提供者所使用之 `aud` 欄位相符的對象內容。

**sub**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `www.amazon.com:sub`  
此金鑰會確認使用者 ID 與您在政策中所指定的相符。您可以搭配相同身分提供者的 `sub ` 鍵來使用 `aud` 鍵。

**user\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `www.amazon.com:user_id`  
此金鑰會指定與其他身分提供者使用之 `aud` 欄位相符的對象內容。您可以將 `user_id` 金鑰與 `id` 金鑰用於相同身分提供者。

------
#### [ Facebook ]

此索引標籤說明 Facebook 如何將 OIDC 宣告對應至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| app\_id | 應用程式 ID | 是 | 
| id | id | 是 | 

**app\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `graph.facebook.com:app_id`  
此金鑰會確認對象內容與其他身分提供者所使用之 `aud` 欄位相符。

**id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `graph.facebook.com:id`  
此金鑰已確認應用程式 (或網站) ID 與您在政策中所指定的相符。

------
#### [ GitHub ]

此索引標籤說明 GitHub Actions 如何將 OIDC 宣告映射至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| 演員 | 演員 | 否 | 
| actor\_id | actor\_id | 否 | 
| job\_workflow\_ref | job\_workflow\_ref | 否 | 
| repository | repository | 否 | 
| repository\_id | repository\_id | 否 | 
| 工作流程 | 工作流程 | 否 | 
| 參考 | 參考 | 否 | 
| 環境 | 環境 | 否 | 
| enterprise\_id | enterprise\_id | 否 | 

**演員**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:actor`  
此金鑰可識別啟動工作流程執行的個人帳戶。使用此項目來限制特定演員的存取。

**actor\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:actor_id`  
此金鑰會驗證啟動工作流程執行之個人帳戶的 ID。演員 IDs由 GitHub 產生，不可變。

**job\_workflow\_ref**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:job_workflow_ref`  
此金鑰包含使用可重複使用工作流程之任務可重複使用工作流程的參考路徑。使用此項目來限制對特定工作流程的存取，並確保只有核准的工作流程才能擔任角色。

**儲存庫**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:repository`  
此金鑰可識別工作流程執行所在的儲存庫。使用此項目來限制對特定 GitHub 儲存庫的存取。

**repository\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:repository_id`  
此金鑰會驗證工作流程執行所在之儲存庫的 ID。儲存庫 IDs 是不可變的，即使重新命名儲存庫也不會變更。

**工作流程**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:workflow`  
此金鑰包含工作流程的名稱。使用此項目來限制對儲存庫中特定工作流程的存取。

**參考**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:ref`  
此金鑰可識別觸發工作流程執行的 git ref （分支或標籤）。使用此選項根據特定分支來限制存取，例如僅允許 `main`或 `production`分支。

**環境**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:environment`  
此金鑰包含任務所使用的環境名稱。使用此選項實作環境型存取控制，例如開發、預備和生產環境的個別許可。  
如果您的信任政策中包含環境宣告，則必須在 GitHub 工作流程中設定並提供環境。

**enterprise\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `token.actions.githubusercontent.com:enterprise_id`  
此金鑰會驗證包含工作流程執行所在儲存庫的企業 ID。使用此選項可確保存取權僅限於 GitHub Enterprise 組織內的儲存庫。

下列範例信任政策使用 GitHub OIDC 權杖中的自訂宣告來限制對角色的存取。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "Federated": "arn:aws:iam::AWS_ACCOUNT_ID:oidc-provider/token.actions.githubusercontent.com"
         },
         "Action": "sts:AssumeRoleWithWebIdentity",
         "Condition": {
            "StringLike": {
                "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
                "token.actions.githubusercontent.com:job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main",
                "token.actions.githubusercontent.com:repository": "octo-org/octo-repo",
                "token.actions.githubusercontent.com:actor": "octocat",
                "token.actions.githubusercontent.com:ref": "refs/heads/main",
                "token.actions.githubusercontent.com:enterprise_id": "345"
               }
           }
        }
    ]
}
```

------
#### [ Google ]

此索引標籤說明 Google 如何將 OIDC 宣告映射至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| google/organization\_number | google：organization\_number | 否 | 

**google/organization\_number**  
適用於[數字運算子](reference_policies_elements_condition_operators.md#Conditions_Numeric)。  
**範例** – `accounts.google.com:google/organization_number`  
此金鑰會驗證權杖是否代表屬於特定 Google Cloud 或 Google Workspace 組織的 Google 身分。使用此項目來限制特定組織的使用者存取，確保只有您組織的身分才能擔任該角色。

下列範例信任政策使用 `google/organization_number`宣告來限制對角色的存取。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "Federated": "accounts.google.com"
         },
         "Action": "sts:AssumeRoleWithWebIdentity",
         "Condition": {
            "NumericEquals": {
                "accounts.google.com:google/organization_number": "123456"
               }
           }
        }
    ]
}
```

------
#### [ CircleCI ]

此索引標籤說明 CircleCI 如何將 OIDC 宣告映射至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| oidc.circleci.com/project-id | oidc.circleci.com/project-id | 否 | 

**oidc.circleci.com/project-id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `circleci-issuer-url:oidc.circleci.com/project-id`  
此金鑰可識別正在執行任務的 CircleCI 專案。其值是包含唯一識別 CircleCI 專案之 UUID 的字串。使用此項目來限制對特定 CircleCI 專案的存取。

下列範例信任政策使用 `oidc.circleci.com/project-id`宣告來限制對角色的存取。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::123456789012:oidc-provider/oidc.circleci.com/org/12345"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "oidc.circleci.com/org/12345:aud": "sts.amazonaws.com",
          "oidc.circleci.com/org/12345:oidc.circleci.com/project-id": "76543210-ba98-fedc-3210-edcba0987654"
        }
      }
    }
  ]
}
```

------
#### [ Oracle Cloud Infrastructure (OCI) ]

此索引標籤說明 Oracle Cloud Infrastructure 如何將 OIDC 宣告映射至 中的 AWS STS 條件內容索引鍵 AWS。您可以使用這些金鑰來控制角色的存取。為此，請將 **AWS STS 條件索引鍵**與 **IdP JWT 宣告**欄中的值進行比較。


| AWS STS 條件索引鍵 | IdP JWT 宣告 | 在工作階段中可用 | 
| --- | --- | --- | 
| rpst\_id | rpst\_id | 否 | 

**rpst\_id**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
**範例** – `oci-issuer-url:rpst_id`  
此金鑰可唯一識別 OCI 中的資源主體。使用此項目來限制對特定 OCI 資源主體的存取。rpst\_id （資源主體工作階段字符 ID) 為 OCI 資源型身分驗證提供穩定的識別符。

下列範例信任政策使用 `rpst_id`宣告來限制對角色的存取。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::123456789012:oidc-provider/idcs-abc123ef5678901234abcd.identity.oraclecloud.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "idcs-abc123ef5678901234abcd.identity.oraclecloud.com:aud": "sts.amazonaws.com",
          "idcs-abc123ef5678901234abcd.identity.oraclecloud.com:rpst_id": "your-rpst-id"
        }
      }
    }
  ]
}
```

------

### 關於 OIDC 聯合的詳細資訊
<a name="condition-keys-wif-more-info"></a>


+ [Amazon Cognito 使用者指南](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)
+ [OIDC 聯合身分](id_roles_providers_oidc.md)

## SAML AWS STS 型聯合的可用金鑰
<a name="condition-keys-saml"></a>

如果您使用 AWS Security Token Service (AWS STS) 使用[以 SAML 為基礎的聯合，](https://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)您可以在政策中包含其他條件金鑰。

### SAML 角色信任政策
<a name="condition-keys-saml_trust-policy"></a>

在角色的信任政策中，您可以包含以下鍵，這些鍵可幫助您確定是否允許呼叫者擔任該角色。除了 `saml:doc` 外，所有值均來自 SAML 聲明。當您建立或編輯具有條件的政策時，在 IAM 主控台視覺化編輯器中可使用清單中的所有項目。標示為 `[]` 的項目*可以*具有一個值，該值是指定類型的清單。

**saml:aud**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
顯示 SAML 聲明的端點 URL。此鍵值來自聲明中的 `SAML Recipient` 欄位，*而不是* `Audience` 欄位。

**saml:commonName[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `commonName` 屬性。

**saml:cn[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:doc**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這代表用來擔任該角色的主體。格式為 {{account-ID}}/{{provider-friendly-name}}，例如 `123456789012/SAMLProviderName`。*account-ID* 值是指擁有 [SAML 提供者](id_roles_providers_create_saml.md)的帳戶。

**saml:edupersonaffiliation[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonassurance[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonentitlement[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonnickname[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonorgdn**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonorgunitdn[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonprimaryaffiliation**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonprimaryorgunitdn**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonprincipalname**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersonscopedaffiliation[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:edupersontargetedid[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduPerson` 屬性。

**saml:eduorghomepageuri[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:eduorgidentityauthnpolicyuri[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:eduorglegalname[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:eduorgsuperioruri[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:eduorgwhitepagesuri[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `eduOrg` 屬性。

**saml:givenName[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `givenName` 屬性。

**saml:iss**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
發行者，由 URN 代表。

**saml:mail[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `mail` 屬性。

**saml:name[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `name` 屬性。

**saml:namequalifier**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
以 SAML 提供者易記名稱為基礎的雜湊值。該值是下列值的串連，依照順序且以 '/' 字元區隔：  

1. `Issuer` 回應值 (`saml:iss`)

1. `AWS` 帳戶 ID

1.  IAM 中 SAML 提供者的易記名稱 (ARN 的最後一個部分) 
帳戶 ID 與 SAML 提供者的易記名稱的串聯可作為鍵 `saml:doc` 供 IAM 政策使用。如需詳細資訊，請參閱 [單獨辨識以 SAML 為基礎的聯合身分中的使用者](id_roles_providers_saml.md#CreatingSAML-userid)。

**saml:organizationStatus[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `organizationStatus` 屬性。

**saml:primaryGroupSID[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `primaryGroupSID` 屬性。

**saml:sub**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是該陳述的主題，其中包含單獨辨識組織中某個使用者的值 (例如 `_cbb88bf52c2510eabe00c1642d4643f41430fe25e3`)。

**saml:sub\_type**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
此鍵可以具有值 `persistent`、`transient` 或者由 SAML 聲明中使用的 `Format` 與 `Subject` 元素的完整 `NameID` URI 組成。`persistent` 的值表示 `saml:sub` 中的值對於工作階段之間的使用者是相同的。如果值為 `transient`，則使用者在每個工作階段中擁有不同的 `saml:sub` 值。如需 `NameID` 元素的 `Format` 屬性的詳細資訊，請參閱 [為身分驗證回應設定 SAML 聲明](id_roles_providers_create_saml_assertions.md)。

**saml:surname[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `surnameuid` 屬性。

**saml:uid[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `uid` 屬性。

**saml:x500UniqueIdentifier[]**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是 `x500UniqueIdentifier` 屬性。

如需 `eduPerson` 和 `eduOrg` 屬性的一般資訊，請參閱 [REFEDS Wiki 網站](https://wiki.refeds.org/display/STAN/eduPerson)。如需 `eduPerson` 屬性的清單，請參閱 [eduPerson 物件類別規格 (201602)](https://software.internet2.edu/eduperson/internet2-mace-dir-eduperson-201602.html)。

類型為清單的條件鍵可包括多個值。若要在清單值的政策中建立條件，可以使用[設定運算子](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys) (`ForAllValues`、`ForAnyValue`)。例如，若要允許關係為「教職員」或「員工」 (但不是「學生」) 的任何使用者，您可以使用如下條件：

```
"Condition": {
   "ForAllValues:StringLike": {
     "saml:edupersonaffiliation":[ "faculty", "staff"] 
   }
}
```

## 跨服務 SAML AWS STS 型聯合內容索引鍵
<a name="cross-condition-keys-saml"></a>

某些以 SAML 為基礎的聯合條件金鑰可用於後續請求，以授權其他服務和`AssumeRole`呼叫中的 AWS 操作。這些是下列條件索引鍵，當聯合身分主體擔任另一個角色時，可用於角色信任政策，以及在來自其他服務的資源政策中 AWS 用於授權聯合身分主體的資源存取。如需使用這些金鑰的詳細資訊，請參閱[關於以 SAML 2.0 為基礎的聯合](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html#CreatingSAML-userid)。

選取條件鍵以查看描述。
+ [saml:namequalifier](#ck_saml-namequalifier)
+ [saml:sub](#ck_saml-sub)
+ [saml:sub_type](#ck_saml-subtype)

**注意**  
在初始外部身分提供者 (IdP) 驗證回應之後，沒有其他以 SAML 為基礎的聯合條件鍵可供使用。

## 的可用金鑰 AWS STS
<a name="condition-keys-sts"></a>

對於使用 AWS Security Token Service (AWS STS) 操作擔任的角色，您可以在 IAM 角色信任政策中使用下列條件金鑰。

**saml:sub**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
這是該陳述的主題，其中包含單獨辨識組織中某個使用者的值 (例如 `_cbb88bf52c2510eabe00c1642d4643f41430fe25e3`)。

**sts:AWSServiceName**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵來指定可以使用持有人權杖的服務。當您在政策中使用此條件鍵時，請使用服務主體指定服務。服務主體是可以在政策的 `Principal` 元素中指定的服務名稱。例如， `codeartifact.amazonaws.com`是 AWS CodeArtifact 服務主體。  
**可用性** – 此鍵會呈現在取得持有人權杖的請求中。您無法直接呼叫 AWS STS 以取得承載字符。當您在其他服務中執行某些操作時，服務會代表您請求持有人權杖。  
有些 AWS 服務需要您取得 AWS STS 服務承載字符的許可，才能以程式設計方式存取其資源。例如， AWS CodeArtifact 需要主體使用持有人權杖來執行某些操作。`aws codeartifact get-authorization-token` 命令會傳回一個持有人權杖。然後，您可以使用承載字符來執行 AWS CodeArtifact 操作。如需有關持有人權杖的詳細資訊，請參閱[服務持有人權杖](id_credentials_bearer.md)。  
您可以使用此條件鍵來允許主體取得持有人權杖，以與特定服務搭配使用。

**sts:DurationSeconds**  
適用於[數字運算子](reference_policies_elements_condition_operators.md#Conditions_Numeric)。  
使用此金鑰指定主體從 [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) API 取得 AWS AWS STS 承載字符或 JSON Web 字符時可以使用的持續時間 （以秒為單位）。  
**可用性** – 此金鑰存在於從 GetWebIdentityToken API 取得承載字符或 JSON Web 字符的請求中。您無法直接呼叫 AWS STS 以取得承載字符。當您在其他服務中執行某些操作時，服務會代表您請求持有人權杖。金鑰不適用於 AWS STS 擔任角色操作。  
有些 AWS 服務需要您取得 AWS STS 服務承載字符的許可，才能以程式設計方式存取其資源。例如， AWS CodeArtifact 需要主體使用持有人權杖來執行某些操作。`aws codeartifact get-authorization-token` 命令會傳回一個持有人權杖。然後，您可以使用承載字符來執行 AWS CodeArtifact 操作。如需有關持有人權杖的詳細資訊，請參閱[服務持有人權杖](id_credentials_bearer.md)。

**sts：IdentityTokenAudience**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此金鑰指定 IAM 主體可以使用 [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) API 請求 JSON Web Token JWTs) 的對象。當 IAM 政策中存在此條件金鑰時，IAM 主體只能為政策中指定的對象請求權杖。外部服務會驗證 JSON Web 權杖中的對象 (「aud」) 宣告，以確保權杖適用於他們。  
**可用性** – 此金鑰存在於 GetWebIdentityToken API 的請求中，用於取得 JSON Web Token (JWTs) 以使用外部服務進行身分驗證。  
當您在政策中使用此條件索引鍵時，請指定符合預期收件人識別符的對象值 （例如 https://api.example.com)。  
下列範例政策允許委託人請求指定外部服務的字符：  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:GetWebIdentityToken",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "sts:IdentityTokenAudience": [
                        "https://api2.example.com",
                        "https://api1.example.com"
                    ]
                }
            }
        }
    ]
}
```

**sts：SigningAlgorithm**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此金鑰指定密碼編譯演算法， AWS AWS STS 用來簽署 [GetWebIdentityToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetWebIdentityToken.html) API 所產生的 JSON Web Token JWTs)。當您在政策中使用此條件金鑰時，請指定 ES384 (ECDSA 搭配 P-384 曲線和 SHA-384) 或 RS256 (RSA 搭配 SHA-256)。  
**可用性** – 此金鑰存在於 GetWebIdentityToken API 的請求中，該 API 用於取得 JSON Web Token (JWTs) 以使用外部服務進行身分驗證。  
您可以使用此條件金鑰，強制執行 IAM 主體使用與您的安全需求或整合的外部服務相容的簽署演算法來請求權杖。ES384 提供最佳的安全性和效能，而 RS256 提供與不支援 ECDSA 的系統更廣泛的相容性。  
下列範例政策要求主體使用 ES384 簽署演算法：  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:GetWebIdentityToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "sts:SigningAlgorithm": "ES384"
                }
            }
        }
    ]
}
```

**sts:ExternalId**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵來請求主體在擔任 IAM 角色時提供特定的識別碼。  
**可用性** – 當委託人在使用 AWS CLI 或 AWS API 擔任角色時提供外部 ID 時，此金鑰會出現在請求中。  
當您在其他帳戶擔任角色時，可能需要此唯一識別符。若帳戶管理員 (該角色所屬的帳戶) 提供給您外部 ID，請將該數值填入 `ExternalId` ​參數。該值可為任何字串，例如密碼短語或帳號。外部 ID 的主要功能是解決並防止「混淆代理人」問題。如需有關外部 ID 和混淆代理人問題的詳細資訊，請參閱 [存取第三方 AWS 帳戶 擁有的](id_roles_common-scenarios_third-party.md)。  
`ExternalId` 值必須最少為 2 個字元，最多為 1,224 個字元。該值必須為英數字元，且不包含空格。也可以包含下列符號：加號 (\+)、等號 (=)、逗號 (,)、句號 (.)、小老鼠 (@)、冒號 (:)、正斜線 (/) 和連字號 (-)。

**sts:RequestContext/*context-key***  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵，可將內嵌在請求中所傳遞的受信任權杖發行者簽署之內容聲明的工作階段內容鍵/值對，與角色信任政策中指定的內容鍵/值進行比較。  
**可用性** – 當使用 AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API 操作擔任角色時，`ProvidedContexts`在請求參數中提供內容聲明時，請求中會出現此金鑰。  
此內容鍵會格式化為 `"sts:RequestContext/context-key":"context-value"`，其中位 `context-key` 和 `context-value` 為內容鍵/值對。如果請求中傳遞簽署內容聲明中內嵌了多個內容鍵，則每一組鍵/值對都有一個內容鍵。您必須為角色信任政策中的 `sts:SetContext` 動作授予許可，才能允許主體在產生的工作階段權杖中設定內容鍵。若要進一步了解可與此索引鍵搭配使用的受支援 IAM Identity Center 內容索引鍵，請參閱 *AWS IAM Identity Center User Guide* 中的 [AWS STS condition keys for IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/condition-context-keys-sts-idc.html)。  
您可以在角色信任政策中使用此鍵，以便在使用者或其屬性擔任角色時，能根據使用者或其屬性實行精細的存取控制。擔任角色後，活動會出現在 `AdditionalEventData` 屬性內的 AWS CloudTrail 日誌中，其中包含由擔任角色請求中的內容提供者所設定的工作階段內容索引鍵/值對。當不同的主體使用角色時，這可讓系統管理員更容易區分角色工作階段。鍵/值對是由指定的內容提供者設定，而不是由 AWS CloudTrail 或 設定 AWS STS。這可讓內容提供者控制 CloudTrail 日誌和工作階段資訊所包含的內容。

**sts:RequestContextProviders**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
使用此鍵，可將請求中的內容提供者 ARN 與角色信任政策中指定的內容提供者 ARN 進行比較。  
**可用性** – 當使用 AWS STS [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) API 操作擔任角色時，`ProvidedContexts`在請求參數中提供內容聲明時，請求中會出現此金鑰。  
下列範例條件會檢查請求中傳遞的內容提供者 ARN 是否符合角色信任政策條件中指定的 ARN。建議您新增帶有 `ForAllValues` 的 Null 檢查，防止遺失內容索引鍵或具有空值的內容索引鍵評估為 true。如需詳細資訊，請參閱[用於檢查條件索引鍵是否存在的條件運算子](reference_policies_elements_condition_operators.md#Conditions_Null)。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Action": "sts:SetContext",
    "Effect": "Allow",
    "Resource": "*",
    "Condition": {
      "ForAllValues:ArnEquals": {
        "sts:RequestContextProviders": [
          "arn:aws:iam::aws:contextProvider/IdentityCenter"
        ]
      },
      "Null": {
        "sts:RequestContextProviders": "false"
      }
    }
  }
}
```

**sts:RoleSessionName**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵，比較使用政策中指定的值擔任角色時，主體指定的工作階段名稱。  
**可用性** – 當委託人使用 AWS 管理主控台、任何擔任角色 CLI 命令或任何 AWS STS `AssumeRole` API 操作擔任角色時，此金鑰會出現在請求中。  
您可以在角色信任政策中使用此鍵，請求您的使用者在擔任角色時提供特定的工作階段名稱。例如，您可以請求 IAM 使用者將自己的使用者名稱指定為其工作階段名稱。在 IAM 使用者擔任角色之後，活動會出現在 [AWS CloudTrail 日誌](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds)中，其工作階段名稱與其使用者名稱相符。當不同的主體使用角色時，這可讓系統管理員更容易區分角色工作階段。  
下列角色信任政策會請求 `111122223333` 帳戶中的 IAM 使用者在擔任角色時，提供其 IAM 使用者名稱作為工作階段名稱。使用條件鍵中的 `aws:username` [條件變數](reference_policies_variables.md)強制執行此需求。此政策允許 IAM 使用者擔任政策所連接的角色。此政策不允許使用暫時憑證的任何人擔任該角色，因為 `username` 變數僅供 IAM 使用者使用。  
您可以使用任何單一值條件鍵作為[變數](reference_policies_variables.md)。您無法使用多重值條件鍵做為變數。  
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RoleTrustPolicyRequireUsernameForSessionName",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {"AWS": "arn:aws:iam::{{111122223333}}:root"},
            "Condition": {
                "StringLike": {"sts:RoleSessionName": "prefix-${aws:username}"}
            }
        }
    ]
}
```
當管理員檢視 動作的 AWS CloudTrail 日誌時，他們可以將工作階段名稱與其帳戶中的使用者名稱進行比較。在下列範例中，名為 `matjac` 的使用者使用名為 `MateoRole` 的角色執行作業。然後，管理員可以聯絡 Mateo Jackson，他擁有名為 `matjac` 的使用者。  

```
    "assumedRoleUser": {
        "assumedRoleId": "AROACQRSTUVWRAOEXAMPLE:{{matjac}}",
        "arn": "arn:aws:sts::111122223333:assumed-role/{{MateoRole}}/{{matjac}}"
    }
```
如果您允許[使用角色進行跨帳戶存取](id_roles_common-scenarios_aws-accounts.md)，則某個帳戶中的使用者可以在另一個帳戶中擔任角色。CloudTrail 中列出的假設角色使用者 ARN 包含*角色存在*的帳號。它不包括擔任角色的使用者帳戶。使用者僅在帳戶中是唯一的。因此，建議您只使用這個方法來檢查所管理帳戶中使用者假設之角色的 CloudTrail 日誌。您的使用者可能會在多個帳戶中使用相同的使用者名稱。

**sts:SourceIdentity**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵，比較使用政策中指定的值擔任角色時，主體指定的來源身分。  
**可用性** – 當委託人在使用任何 AWS STS 擔任角色 CLI 命令或 AWS STS `AssumeRole` API 操作時提供來源身分時，此金鑰會出現在請求中。  
您可以在角色信任政策中使用此鍵，請求您的使用者在擔任角色時設定特定的來源身分。例如，您可以要求人力或聯合身分來指定來源身分的值。您可以將身分提供者 (IdP) 設定為使用與使用者相關聯的其中一個屬性，例如使用者名稱或電子郵件作為來源身分。然後，IdP 會在傳送的聲明或宣告中，將來源身分做為屬性傳遞 AWS。來源身分屬性的值可識別擔任該角色的使用者或應用程式。  
在使用者擔任該角色之後，活動會出現在具有已設定來源身分值的 [AWS CloudTrail 日誌](cloudtrail-integration.md#cloudtrail-integration_signin-tempcreds)中。這可讓管理員更輕鬆地判斷角色執行動作的對象或對象 AWS。您必須對 `sts:SetSourceIdentity` 動作授予許可，允許身分以設定來源身分。  
與 [`sts:RoleSessionName`](#ck_rolesessionname) 不同，在設定來源身分之後，就無法變更值。這會出現在由角色以來源身分所採取的所有動作的請求內容中。當您使用工作階段憑證來擔任另一個角色時，此值仍然存在於後續角色工作階段。從另一個角色取得及擔任角色稱為[角色鏈結](id_roles.md#iam-term-role-chaining)。  
您可以使用 [`aws:SourceIdentity`](reference_policies_condition-keys.md#condition-keys-sourceidentity)全域條件金鑰，根據後續請求中的來源身分值，進一步控制對 AWS 資源的存取。  
下列角色信任政策允許 IAM 使用者 `AdminUser` 擔任帳戶 `111122223333` 中的角色。它也會對 `AdminUser` 許可授予來設定來源身分，只要來源身分識別設定為 `DiegoRamirez`。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAdminUserAssumeRole",
            "Effect": "Allow",
            "Principal": {"AWS": " arn:aws:iam::111122223333:user/AdminUser"},
            "Action": [
                "sts:AssumeRole",
                "sts:SetSourceIdentity"
            ],
            "Condition": {
                "StringEquals": {"sts:SourceIdentity": "DiegoRamirez"}
            }
        }
    ]
}
```
若要進一步了解有關使用來源身分的詳細資訊，請參閱 [監控並控制使用擔任角色所採取的動作](id_credentials_temp_control-access_monitor.md)。

**sts:TaskPolicyArn**  
使用 [ARN 運算子](reference_policies_elements_condition_operators.md#Conditions_ARN)。  
使用此金鑰來比較 [sts:AssumeRoot](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) 請求中的政策 ARN 與政策中指定的政策 ARN。  
**可用性**：當您使用 [sts:AssumeRoot](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) 提出請求時，此金鑰會出現在請求中。  
管理員可以在 IAM 政策中使用此條件索引鍵，限制管理帳戶或委派管理員帳戶內的特定角色或使用者在擔任根憑證時執行特定動作。如需詳細資訊，請參閱[在 AWS Organizations 成員帳戶上執行特權任務](id_root-user-privileged-task.md)。

**sts:TransitiveTagKeys**  
使用[字串運算子](reference_policies_elements_condition_operators.md#Conditions_String)。  
使用此鍵，可將請求中的可轉移工作階段標籤鍵與政策中指定的內容進行比較。  
**可用性** – 當您使用臨時安全憑證提出請求時，此鍵會呈現在請求中。這些包括使用任何 assume-role 操作或 `GetFederationToken` 操作所建立的憑證。  
當您使用暫時安全憑證提出請求時，[請求內容](reference_policies_elements_condition.md#AccessPolicyLanguage_RequestContext)會包含 `aws:PrincipalTag` 內容鍵。此鍵包含[工作階段標籤](id_session-tags.md)的清單、[可轉移工作階段標籤](id_session-tags.md#id_session-tags_role-chaining)和角色標籤。可轉移工作階段標籤是在您使用工作階段憑證擔任另一個角色時，保存到所有後續工作階段的標籤。從另一個角色取得及擔任角色稱為[角色鏈結](id_roles.md#iam-term-role-chaining)。  
您可以在政策中使用此條件鍵，要求在擔任角色或與使用者聯合身分時將特定工作階段標籤設為可轉移。