

# Izin IAM untuk Runtime AgentCore
<a name="runtime-permissions"></a>

Berikut ini adalah izin IAM yang Anda perlukan untuk membuat agen di AgentCore Runtime dan izin peran eksekusi yang diperlukan agen untuk dijalankan di Runtime. AgentCore Anda juga dapat menggunakan kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya runtime Anda.

[Untuk informasi tentang menggunakan kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya AgentCore Runtime Anda, lihat kebijakan Resource-based untuk Amazon Bedrock. AgentCore](resource-based-policies.md)

**Topics**
+ [Gunakan Amazon Bedrock AgentCore](#runtime-permissions-use-agentcore)
+ [Gunakan AgentCore CLI](#runtime-permissions-cli)
+ [Izin pengguna untuk Amazon Bedrock Console AgentCore](#runtime-permissions-console)
+ [Peran eksekusi untuk menjalankan agen di AgentCore Runtime](#runtime-permissions-execution)

## Gunakan Amazon Bedrock AgentCore
<a name="runtime-permissions-use-agentcore"></a>

Untuk menggunakan Amazon Bedrock AgentCore, Anda dapat melampirkan kebijakan [BedrockAgentCoreFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/BedrockAgentCoreFullAccess.html) AWS terkelola ke pengguna IAM atau peran IAM Anda. Kebijakan AWS terkelola ini memberikan izin luas termasuk`GetWorkloadAccessTokenForUserId`, yang memungkinkan penerbitan token akses beban kerja menggunakan string pengenal pengguna yang disediakan pemanggil tanpa verifikasi token IDP. Sebaiknya buat kebijakan khusus hanya dengan izin yang diperlukan aplikasi Anda dengan menyalin pernyataan yang relevan dan membatasi sumber daya untuk kasus penggunaan spesifik Anda. Untuk penerapan produksi di mana aplikasi Anda memiliki token JWT tersedia, tolak secara eksplisit dan berikan saja. `GetWorkloadAccessTokenForUserId` `GetWorkloadAccessTokenForJWT` Untuk informasi selengkapnya, lihat [Mendapatkan token akses beban kerja](get-workload-access-token.md). Untuk menggunakan AgentCore CLI, Anda memerlukan izin [tambahan](#runtime-permissions-cli).

## Gunakan AgentCore CLI
<a name="runtime-permissions-cli"></a>

Untuk menggunakan AgentCore CLI, lampirkan kebijakan IAM berikut ke pengguna atau peran IAM Anda. Untuk mengubah izin IAM, lihat [Mengubah izin untuk](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) pengguna IAM.

**penting**  
Kebijakan IAM yang dibuat oleh AgentCore CLI dirancang untuk tujuan pengembangan dan pengujian. Izin ini memberikan akses luas untuk memfasilitasi pembuatan prototipe cepat dan tidak cocok untuk lingkungan produksi. Untuk penerapan produksi, buat kebijakan IAM khusus yang mengikuti prinsip hak istimewa paling sedikit dan batasi izin hanya untuk sumber daya dan tindakan spesifik yang diperlukan oleh aplikasi Amazon Bedrock Anda. AgentCore Untuk panduan keamanan IAM yang lengkap, lihat [Praktik terbaik keamanan untuk AgentCore Runtime](runtime-security-best-practices.md).

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "IAMRoleManagement",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:GetRole",
                "iam:PutRolePolicy",
                "iam:DeleteRolePolicy",
                "iam:AttachRolePolicy",
                "iam:DetachRolePolicy",
                "iam:TagRole",
                "iam:ListRolePolicies",
                "iam:ListAttachedRolePolicies"
            ],
            "Resource": [
                "arn:aws:iam::*:role/*BedrockAgentCore*",
                "arn:aws:iam::*:role/service-role/*BedrockAgentCore*"
            ]
        },
        {
            "Sid": "CodeBuildProjectAccess",
            "Effect": "Allow",
            "Action": [
                "codebuild:StartBuild",
                "codebuild:BatchGetBuilds",
                "codebuild:ListBuildsForProject",
                "codebuild:CreateProject",
                "codebuild:UpdateProject",
                "codebuild:BatchGetProjects"
            ],
            "Resource": [
                "arn:aws:codebuild:*:*:project/bedrock-agentcore-*",
                "arn:aws:codebuild:*:*:build/bedrock-agentcore-*"
            ]
        },
        {
            "Sid": "CodeBuildListAccess",
            "Effect": "Allow",
            "Action": [
                "codebuild:ListProjects"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMPassRoleAccess",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::*:role/AmazonBedrockAgentCore*",
                "arn:aws:iam::*:role/service-role/AmazonBedrockAgentCore*"
            ]
        },
        {
            "Sid": "CloudWatchLogsAccess",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/*",
                "arn:aws:logs:*:*:log-group:/aws/codebuild/*"
            ]
        },
        {
            "Sid": "S3Access",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket",
                "s3:CreateBucket",
                "s3:PutLifecycleConfiguration"
            ],
            "Resource": [
                "arn:aws:s3:::bedrock-agentcore-*",
                "arn:aws:s3:::bedrock-agentcore-*/*"
            ]
        },
        {
            "Sid": "ECRRepositoryAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:DescribeRepositories",
                "ecr:GetRepositoryPolicy",
                "ecr:InitiateLayerUpload",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:ListImages",
                "ecr:TagResource"
            ],
            "Resource": [
                "arn:aws:ecr:*:*:repository/bedrock-agentcore-*"
            ]
        },
        {
            "Sid": "ECRAuthorizationAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        }
    ]
}
```

## Izin pengguna untuk Amazon Bedrock Console AgentCore
<a name="runtime-permissions-console"></a>

Lampirkan [BedrockAgentCoreFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/BedrockAgentCoreFullAccess.html)kebijakan ke peran konsol. Selain itu, tambahkan izin berikut untuk IAM jika Anda ingin konsol layanan membuat peran eksekusi secara otomatis.

```
{
"Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Sid": "IAMRoleAccess",
    "Effect": "Allow",
    "Action": ["iam:CreateRole"],
    "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"]
  }, {
    "Sid": "IAMPolicyAccess",
    "Effect": "Allow",
    "Action": ["iam:CreatePolicy"],
    "Resource": ["arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*"]
  }, {
    "Sid": "IAMRolePolicyAccess",
    "Effect": "Allow",
    "Action": ["iam:AttachRolePolicy"],
    "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"],
    "Condition": {
      "ArnLike": {
        "iam:PolicyARN": "arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*"
      }
    }
  }]
}
```

## Peran eksekusi untuk menjalankan agen di AgentCore Runtime
<a name="runtime-permissions-execution"></a>

Untuk menjalankan agen atau alat di AgentCore Runtime, Anda memerlukan peran eksekusi AWS Identity and Access Management. Untuk informasi tentang membuat peran IAM, lihat Pembuatan peran [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html).

### Peran eksekusi penerapan AgentCore langsung Amazon Bedrock
<a name="runtime-permissions-direct-deploy-execution"></a>

Peran eksekusi penerapan AgentCore langsung Amazon Bedrock adalah peran IAM yang AgentCore diasumsikan Amazon Bedrock untuk menjalankan agen. Ganti yang berikut ini:
+  `us-east-1`dengan AWS Wilayah yang Anda gunakan
+  `123456789012`dengan ID AWS akun Anda
+  {{agentName}}dengan nama agen Anda. Anda harus memutuskan nama agen sebelum membuat peran dan AgentCore Runtime.

```
{
"Version": "2012-10-17",		 	 	 
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "logs:DescribeLogStreams",
      "logs:CreateLogGroup"
    ],
    "Resource": [
      "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*"
    ]
  }, {
    "Effect": "Allow",
    "Action": [
      "logs:PutResourcePolicy"
    ],
    "Resource": [
      "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*"
    ]
  }, {
    "Effect": "Allow",
    "Action": ["logs:DescribeLogGroups"],
    "Resource": ["arn:aws:logs:us-east-1:123456789012:log-group:*"]
  }, {
    "Effect": "Allow",
    "Action": [
      "logs:CreateLogStream",
      "logs:PutLogEvents"
    ],
    "Resource": [
      "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*"
    ]
  }, {
    "Effect": "Allow",
    "Action": [
      "xray:PutTraceSegments",
      "xray:PutTelemetryRecords",
      "xray:GetSamplingRules",
      "xray:GetSamplingTargets"
    ],
    "Resource": ["*"]
  }, {
    "Effect": "Allow",
    "Resource": "*",
    "Action": "cloudwatch:PutMetricData",
    "Condition": {
      "StringEquals": {
        "cloudwatch:namespace": "bedrock-agentcore"
      }
    }
  }, {
    "Sid": "BedrockModelInvocation",
    "Effect": "Allow",
    "Action": [
      "bedrock:InvokeModel",
      "bedrock:InvokeModelWithResponseStream"
    ],
    "Resource": [
      "arn:aws:bedrock:*::foundation-model/*",
      "arn:aws:bedrock:us-east-1:123456789012:*"
    ]
  }]
}
```

### AgentCore Peran eksekusi runtime
<a name="runtime-permissions-execution-role"></a>

Peran eksekusi AgentCore Runtime adalah peran IAM yang diasumsikan AgentCore Runtime untuk menjalankan agen. Ganti yang berikut ini:
+  `us-east-1`dengan AWS Wilayah yang Anda gunakan
+  `123456789012`dengan ID AWS akun Anda
+  {{agentName}}dengan nama agen Anda. Anda harus memutuskan nama agen sebelum membuat peran dan AgentCore Runtime.

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECRImageAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": [
                "arn:aws:ecr:us-east-1:123456789012:repository/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogStreams",
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:PutResourcePolicy"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*"
            ]
        },
        {
            "Sid": "ECRTokenAccess",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
        "Effect": "Allow",
        "Action": [
            "xray:PutTraceSegments",
            "xray:PutTelemetryRecords",
            "xray:GetSamplingRules",
            "xray:GetSamplingTargets"
            ],
         "Resource": [ "*" ]
         },
         {
            "Effect": "Allow",
            "Resource": "*",
            "Action": "cloudwatch:PutMetricData",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "bedrock-agentcore"
                }
            }
        },
        {
            "Sid": "GetAgentAccessToken",
            "Effect": "Allow",
            "Action": [
                "bedrock-agentcore:GetWorkloadAccessToken",
                "bedrock-agentcore:GetWorkloadAccessTokenForJWT",
                "bedrock-agentcore:GetWorkloadAccessTokenForUserId"
            ],
            "Resource": [
              "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default",
              "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/agentName-*"
            ]
        },
         {"Sid": "BedrockModelInvocation",
         "Effect": "Allow",
         "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
              ],
        "Resource": [
            "arn:aws:bedrock:*::foundation-model/*",
            "arn:aws:bedrock:us-east-1:123456789012:*"
        ]
        }
    ]
}
```

### AgentCore Kebijakan kepercayaan runtime
<a name="runtime-permissions-trust-policy"></a>

Peran eksekusi AgentCore Runtime harus menyertakan kebijakan kepercayaan berikut yang memungkinkan AgentCore Runtime untuk mengambil peran tersebut.

Dalam kebijakan, ganti:
+  `us-east-1`dengan AWS Wilayah yang Anda gunakan
+  `123456789012`dengan ID AWS akun Anda

Untuk menambahkan kebijakan kepercayaan ke peran eksekusi AgentCore Runtime, buka AWS Management Console, navigasikan ke peran, pilih tab **Trust relationship**, dan pilih **Edit trust policy**.

```
{
"Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AssumeRolePolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "bedrock-agentcore.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "123456789012"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*"
            }
       }
    }
  ]
}
```