はじめに
Context-Based Restriction(以下CBR)とは、IAMの権限管理に加えて、IBM Cloudリソースに対するアクセス制限が出来る機能です。ルール内で制御できる要素としては、アクセス要求のネットワークロケーション、要求が送信されるエンドポイントタイプ、IDの多要素認証レベル、要求がアクセスしようとするAPIが含まれます。
Code Engineでは、これまでは管理機能のみがCBR機能の対象となっており、ワークロードへのアクセス制御はCISという有償サービスを使う必要がありましたが、今回上で稼働するワークロードへのアクセス制御(Resource Group、Acceess management tags、Location、Project単位)もCBRで設定出来るようになりました。
(2025/11月現在は、Code EngineにおけるCBR機能はPrivate Networkからのアクセスに限定されています。)
今回の検証では、このCBR機能を使って、Code Engineにデプロイしたアプリケーションへの、Private NWからのアクセスを制限してみます。
手順
1. Code Engineでアプリを作成し、アクセス確認
Code Engineで新規にProjectを作成、アプリケーションをデプロイします。
今回はPrivate NW経由のアクセス制御を検証するため、Private Endpointをつけておきます。

Projectの作成とアプリケーションのデプロイが完了したら、
2台のクライアントPCから、VPN経由でPrivate Endpointにアクセスしてみます。
この時点ではPrivate NWから誰でもアクセスできる状態です。
続いてCBRを設定して、クライアントPC①のIPアドレスからのアクセスに絞ります。
2. CBR設定
Private NWからの特定のIPアドレスからのアクセスを許可するルールを作成します。
ルール作成前に、許可するクライアントPC①のIPアドレスをVPNサーバーの"Clients"で確認してメモしておきます。

Portal右上の"Manage">"Context-based restriction">"New rules"を開き、"Create"から新しいルールを作成します。
Select your resources
Add a context
- Endpoint:Private、Public両方作成します。まずはPrivateにチェックを入れ、許可するIPアドレス(クライアントPC①)を設定します。
- Network zone:VPNサーバーからクライアントPC①に割り当てられているIPアドレスを指定


Network zoneを作成し、選択したらAddをクリックし適用します。
更に、Public Endpointも選択し、いずれのNetwork zoneも許可しない状態でAddクリックし適用します。このようにContextを2つ設定しないとエラーが出てしまいます。
Describe your rules
ルール作成完了
3. CBRを設定した状態で再度アクセス確認
VPNを繋いだ状態でPrivate Endpointにアクセス。
クライアントPC①アクセス成功

クライアントPC①からのアクセスは成功し、クライアントPC②からのアクセスは拒否されました。
CBRで「特定のIPアドレスからのみワークロードへのアクセスを許可する」という制御が出来ていることがわかりました。
今後、Public NWからの通信についてもCBR機能が使えるようになれば更に便利になりますので、その際は改めて検証してみます。






