

# Buat gateway dengan Policy Engine
<a name="create-gateway-with-policy"></a>

Bagian ini memberikan contoh pembuatan gateway dengan mesin kebijakan yang terkait dengan penegakan kebijakan.

**catatan**  
\* Nilai untuk konfigurasi otorisasi berasal dari saat Anda mengatur otorisasi masuk. \* Jika Anda memilih opsi yang melibatkan menentukan peran layanan gateway terbuka ARN, pastikan Anda menentukan yang sudah ada yang telah Anda siapkan. Untuk informasi selengkapnya, lihat Izin peran layanan Amazon Bedrock AgentCore Gateway.

Pilih salah satu metode berikut:

**Example**  

1. Jalankan kode berikut di terminal untuk membuat gateway dengan Policy Engine menggunakan AWS CLI:

   ```
   aws bedrock-agentcore-control create-gateway \
     --name my-gateway \
     --role-arn arn:aws:iam::123456789012:role/my-gateway-service-role \
     --protocol-type MCP \
     --authorizer-type CUSTOM_JWT \
     --authorizer-configuration '{
       "customJWTAuthorizer": {
         "discoveryUrl": "https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration",
         "allowedClients": ["clientId"]
       }
     }' \
     --policy-engine-configuration '{
       "mode": "ENFORCE",
       "arn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/my_policy_engine"
     }'
   ```

   GatewayUrl dalam respons adalah titik akhir yang akan digunakan saat Anda memanggil gateway.

1. Kode Python berikut menunjukkan cara membuat gateway dengan Policy Engine menggunakan AWS Python SDK (Boto3):

   ```
   import boto3
   
   gateway_client = boto3.client('bedrock-agentcore-control')
   
   response = gateway_client.create_gateway(
       name='my-gateway',
       protocolType='MCP',
       authorizerType='CUSTOM_JWT',
       authorizerConfiguration={
           'customJWTAuthorizer': {
               'allowedClients': ['clientId'],
               'discoveryUrl': 'https://cognito-idp.us-west-2.amazonaws.com/some-user-pool/.well-known/openid-configuration'
           }
       },
       roleArn='arn:aws:iam::123456789012:role/my-gateway-service-role',
       policyEngineConfiguration={
           'mode': 'ENFORCE',
           'arn': 'arn:aws:bedrock-agentcore:us-west-2:123456789012:policy-engine/my_policy_engine'
       }
   )
   print(f"GATEWAY ARN: {response['gatewayArn']}")
   print(f"GATEWAY URL: {response['gatewayUrl']}")
   ```

   GatewayUrl dalam respons adalah titik akhir yang akan digunakan saat Anda memanggil gateway.