

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

# 控制產生和使用 Amazon Bedrock API 金鑰的許可
<a name="api-keys-permissions"></a>

Amazon Bedrock API 金鑰的產生和使用由 Amazon Bedrock 和 IAM 服務中的動作和條件索引鍵控制。

**控制 Amazon Bedrock API 金鑰的產生**  
[iam:CreateServiceSpecificCredential](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-actions-as-permissions) 動作會控制產生服務特定金鑰 (例如長期 Amazon Bedrock API 金鑰)。您可以將此動作的範圍限定為 IAM 使用者，以此限制可以為其產生金鑰的使用者。

您可以使用下列條件索引鍵，對 `iam:CreateServiceSpecificCredential` 動作的許可施加條件：
+ [iam:ServiceSpecificCredentialAgeDays](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) – 可讓您在條件中指定金鑰的過期時間，以天為單位。例如，您可以使用此條件索引鍵，僅允許建立有效期為 90 天的 API 金鑰。
+ [iam:ServiceSpecificCredentialServiceName](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) – 可讓您在條件中指定服務的名稱。例如，您可以使用此條件索引鍵，僅允許為 Amazon Bedrock 而非其他服務建立 API 金鑰。

**控制 Amazon Bedrock API 金鑰的使用**  
[bedrock:CallWithBearerToken](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) 動作控制短期或長期 Amazon Bedrock API 金鑰的使用。

您可以使用 `bedrock:bearerTokenType` 條件索引鍵搭配[字串條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String)來指定要套用 `bedrock:CallWithBearerToken` 許可的承載字符類型。您可以指定下列其中一個值：
+ `SHORT_TERM` – 在條件中指定短期 Amazon Bedrock API 金鑰。
+ `LONG_TERM` – 在條件中指定長期 Amazon Bedrock API 金鑰。

下表摘要說明如何防止身分產生或使用 Amazon Bedrock API 金鑰：


****  

| 用途 | 長期金鑰 | 短期金鑰 | 
| --- | --- | --- | 
| 防止產生金鑰 | 將拒絕 iam:CreateServiceSpecificCredential 動作的政策連接至 IAM 身分。 | N/A | 
| 防止使用金鑰 | 將拒絕 bedrock:CallWithBearerToken 動作的政策連接到與金鑰相關聯的 IAM 使用者。 | 將拒絕 bedrock:CallWithBearerToken 動作的政策連接到您不想使用金鑰的 IAM 身分。 | 

**警告**  
由於短期 Amazon Bedrock API 金鑰使用工作階段的現有憑證，因此您可以拒絕對產生金鑰的身分執行 `bedrock:CallWithBearerToken` 動作，來阻止其使用。不過，您無法防止產生短期金鑰。

## 控制 API 金鑰產生和使用的範例政策
<a name="api-keys-permissions-examples"></a>

如需控制 API 金鑰產生和使用的 IAM 政策範例，請從下列主題中選取：

**Topics**
+ [防止身分產生長期金鑰和使用 Amazon Bedrock API 金鑰](#api-keys-permissions-examples-prevent-generation-and-use)
+ [防止身分使用短期 API 金鑰](#api-keys-permissions-examples-prevent-use-short-term)
+ [防止身分使用長期 API 金鑰](#api-keys-permissions-examples-prevent-use-long-term)
+ [明確防止身分使用短期 API 金鑰](#api-keys-permissions-examples-deny-use-short-term-explicitly)
+ [明確防止身分使用長期 API 金鑰](#api-keys-permissions-examples-deny-use-long-term-explicitly)
+ [僅允許建立有效期在 90 天內的 Amazon Bedrock 金鑰](#api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days)

### 防止身分產生長期金鑰和使用 Amazon Bedrock API 金鑰
<a name="api-keys-permissions-examples-prevent-generation-and-use"></a>

若要防止 IAM 身分產生長期 Amazon Bedrock API 金鑰和使用任何 Amazon Bedrock API 金鑰，請將下列政策連接至身分：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"DenyBedrockShortAndLongTermAPIKeys",
      "Effect": "Deny",
      "Action": [
        "iam:CreateServiceSpecificCredential",
        "bedrock:CallWithBearerToken"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

**警告**  
您無法防止產生短期金鑰。
此政策將防止為所有支援建立服務特定登入資料的 AWS 服務建立登入資料。如需詳細資訊，請參閱 [IAM 使用者的服務特定憑證](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_service-specific-creds.html)。

### 防止身分使用短期 API 金鑰
<a name="api-keys-permissions-examples-prevent-use-short-term"></a>

若要防止 IAM 身分使用短期 Amazon Bedrock API 金鑰，請將下列政策連接至身分：

### 防止身分使用長期 API 金鑰
<a name="api-keys-permissions-examples-prevent-use-long-term"></a>

若要防止 IAM 身分使用長期 Amazon Bedrock API 金鑰，請將下列政策連接至身分：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        }
    ]
}
```

------

### 明確防止身分使用短期 API 金鑰
<a name="api-keys-permissions-examples-deny-use-short-term-explicitly"></a>

若要明確防止 IAM 身分使用短期 Amazon Bedrock API 金鑰，但允許使用其他 API 金鑰，請將下列政策連接至身分：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "SHORT_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### 明確防止身分使用長期 API 金鑰
<a name="api-keys-permissions-examples-deny-use-long-term-explicitly"></a>

若要明確防止 IAM 身分使用長期 Amazon Bedrock API 金鑰，但允許使用其他 API 金鑰，請將下列政策連接至身分：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### 僅允許建立有效期在 90 天內的 Amazon Bedrock 金鑰
<a name="api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days"></a>

若要允許 IAM 身分僅在適用於 Amazon Bedrock 且過期時間為 90 天或更短時才允許其建立長期 API 金鑰，請將下列政策連接至身分：

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

****  

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

------