

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

# Amazon Bedrock 代理程式的身分型政策範例
<a name="security_iam_id-based-policy-examples-agent"></a>

選取主題以查看您可以連接到 IAM 角色的範例 IAM 政策，以在 [使用 AI 代理程式自動執行應用程式中的任務](agents.md) 中佈建動作的許可。

**Topics**
+ [Amazon Bedrock 代理程式的必要許可](#iam-agents-ex-all)
+ [允許使用者檢視與調用和代理程式相關的資訊](#security_iam_id-based-policy-examples-perform-actions-agent)
+ [控制對服務層的存取](#security_iam_id-based-policy-examples-service-tiers)

## Amazon Bedrock 代理程式的必要許可
<a name="iam-agents-ex-all"></a>

若要讓 IAM 身分使用 Amazon Bedrock 代理程式，您必須使用必要的許可進行設定。您可以連接 [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess) 政策，將適當的許可授予角色。

若要將許可限制為僅限於 Amazon Bedrock 代理程式中使用的動作，請將下列身分型政策連接至 IAM 角色：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentPermissions",
            "Effect": "Allow",
            "Action": [  
                "bedrock:ListFoundationModels",
                "bedrock:GetFoundationModel",
                "bedrock:TagResource", 
                "bedrock:UntagResource", 
                "bedrock:ListTagsForResource", 
                "bedrock:CreateAgent", 
                "bedrock:UpdateAgent", 
                "bedrock:GetAgent", 
                "bedrock:ListAgents", 
                "bedrock:DeleteAgent",
                "bedrock:CreateAgentActionGroup", 
                "bedrock:UpdateAgentActionGroup", 
                "bedrock:GetAgentActionGroup", 
                "bedrock:ListAgentActionGroups", 
                "bedrock:DeleteAgentActionGroup",
                "bedrock:GetAgentVersion",
                "bedrock:ListAgentVersions", 
                "bedrock:DeleteAgentVersion",
                "bedrock:CreateAgentAlias", 
                "bedrock:UpdateAgentAlias",               
                "bedrock:GetAgentAlias",
                "bedrock:ListAgentAliases",
                "bedrock:DeleteAgentAlias",
                "bedrock:AssociateAgentKnowledgeBase",
                "bedrock:DisassociateAgentKnowledgeBase",
                "bedrock:ListAgentKnowledgeBases",
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:PrepareAgent",
                "bedrock:InvokeAgent",
                "bedrock:AssociateAgentCollaborator",
                "bedrock:DisassociateAgentCollaborator",
                "bedrock:GetAgentCollaborator",
                "bedrock:ListAgentCollaborators",
                "bedrock:UpdateAgentCollaborator"
            ],
            "Resource": "*"
        }
    ]   
}
```

------

您可以省略[動作](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions)或指定[資源](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources)和[條件索引鍵](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys)，進一步限制許可。IAM 身分可以針對特定資源呼叫 API 操作。例如，[https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) 操作只能用於代理程式資源，而 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) 操作只能用於別名資源。對於未用於特定資源類型的 API 操作 (例如 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html))，請將 \* 指定為 `Resource`。如果您指定的 API 操作無法在政策中指定的資源上使用，則 Amazon Bedrock 會傳回錯誤。

## 允許使用者檢視與調用和代理程式相關的資訊
<a name="security_iam_id-based-policy-examples-perform-actions-agent"></a>

以下是您可以連接到 IAM 角色的範例政策，以允許該角色檢視 ID 為 {{AGENT12345}} 的代理程式相關資訊或編輯該代理程式，並與 ID 為 {{ALIAS12345}} 的別名互動。例如，您可以將此政策連接至您只想要擁有可對代理程式進行疑難排解及更新之許可的角色。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetAndUpdateAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgent",
                "bedrock:UpdateAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
        }
    ]
}
```

------

## 控制對服務層的存取
<a name="security_iam_id-based-policy-examples-service-tiers"></a>

Amazon Bedrock 服務層為推論請求提供不同層級的處理優先順序和定價。根據預設，所有服務層 （優先順序、預設和彈性） 都可供具有適當 Bedrock 許可的使用者使用，並遵循允許清單方法授予存取權，除非明確限制。

不過，組織可能想要控制其使用者可以存取的服務層，以管理成本或強制執行用量政策。您可以使用 IAM 政策搭配 `bedrock:ServiceTier`條件金鑰來實作存取限制，以拒絕存取特定服務層。此方法可讓您精確控制哪些團隊成員可以使用高級服務方案，例如「優先順序」或成本最佳化方案，例如「彈性」。

下列範例顯示身分型政策，拒絕存取所有服務層。當您想要防止使用者指定任何服務層，強制他們使用系統預設行為時，這種類型的政策很有用：

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:InvokeModel",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:ServiceTier": ["reserved", "priority", "default", "flex"]
                }
            }
        }
    ]
}
```

您可以自訂此政策，透過修改`bedrock:ServiceTier`條件值來拒絕僅存取特定服務層。例如，若要只拒絕高級 "priority" 層，同時允許 "default" 和 "flex"，您只能在 條件`["priority"]`中指定 。這種靈活的方法可讓您實作符合組織成本管理和操作需求的用量政策。如需服務方案的詳細資訊，請參閱 [最佳化效能和成本的服務層](service-tiers-inference.md)。