Skip to content

Commit 199bf3d

Browse files
authored
Add document about Tenant Isolation Model (#273)
*Issue #, if available:* *Description of changes:* By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
1 parent 988c613 commit 199bf3d

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,14 +304,27 @@ After successful deployment, you can access the Remote SWE Agents system through
304304
- Respond to issue comments and assignments
305305
- Seamless CI/CD integration
306306

307-
For tips on how to effectively use the agents, refer to the "Useful Tips" section below.
307+
For tips on how to effectively use the agents, refer to the [Useful Tips](#useful-tips) section.
308308

309309
### GitHub Actions Integration
310310

311311
This repository can be used as a GitHub Action to automatically trigger Remote SWE agents from GitHub events like issue comments, assignments, and PR reviews. The GitHub Action uses the Remote SWE API functionality to create and manage agent sessions.
312312

313313
Use `aws-samples/remote-swe-agents` in your workflow and configure your API base URL and key as repository secrets. You can generate API keys from the deployed webapp interface. See [action.yml](./action.yml) for input parameters and [.github/workflows/remote-swe.yml](./.github/workflows/remote-swe.yml) for a complete example workflow.
314314

315+
### Tenant Isolation Model
316+
317+
This project is currently designed as a single-tenant system, meaning it is intended to be deployed on a per-tenant basis.
318+
319+
Since it follows a completely pay-as-you-go model, the overhead of deploying multiple instances is minimal in terms of infrastructure costs.
320+
321+
To control access for each tenant, you have the following access permission configurations:
322+
323+
1. **Slack App**: You can set the `SLACK_ADMIN_USER_ID_LIST` environment variable in CDK to deny access from non-permitted users. You can then add allowed users using the `approve_user` Slack command.
324+
2. **Webapp**: Cognito self-sign-up is disabled by default. You can add users from the Cognito management console. Currently, anyone with a Cognito account has equal permissions. Users can configure the system, create new sessions, issue API keys, or view cost analysis from the web UI.
325+
3. **REST API**: Anyone who knows the API keys can access it. You should delete keys that are no longer in use.
326+
4. **GitHub Actions**: Anyone with write access to the repository (i.e., collaborators) can invoke the action.
327+
315328
## Useful Tips
316329

317330
### Prompting Best Practices

README_ja.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,19 @@ npx cdk deploy --all
306306

307307
ワークフローで`aws-samples/remote-swe-agents`を使用し、APIベースURLとキーをリポジトリシークレットとして設定してください。APIキーはデプロイされたwebappインターフェースから生成できます。入力パラメータについては[action.yml](./action.yml)を、完全なワークフロー例については[.github/workflows/remote-swe.yml](./.github/workflows/remote-swe.yml)を参照してください。
308308

309+
### テナント分離モデル
310+
311+
このプロジェクトは現在、シングルテナントシステムとして設計されており、テナントごとにデプロイすることを想定しています。
312+
313+
完全従量課金制モデルに従っているため、複数のインスタンスをデプロイするオーバーヘッドは、インフラストラクチャコストの観点では最小限です。
314+
315+
各テナントのアクセスを制御するために、以下のアクセス許可設定があります:
316+
317+
1. **Slackアプリ**:CDKで`SLACK_ADMIN_USER_ID_LIST`環境変数を設定して、許可されていないユーザーからのアクセスを拒否できます。その後、`approve_user` Slackコマンドを使用して許可されたユーザーを追加できます。
318+
2. **Webapp**:Cognitoのセルフサインアップはデフォルトで無効になっています。Cognito管理コンソールからユーザーを追加できます。現在、Cognitoアカウントを持つ人は誰でも同等の権限を持ちます。ユーザーはWeb UIからシステムの設定、新しいセッションの作成、APIキーの発行、またはコスト分析の確認ができます。
319+
3. **REST API**:APIキーを知っている人は誰でもアクセスできます。使用されなくなったキーは削除する必要があります。
320+
4. **GitHub Actions**:リポジトリへの書き込みアクセス権を持つ人(つまり、コラボレーター)は誰でもアクションを呼び出すことができます。
321+
309322
## 有用なヒント
310323

311324
### プロンプトのベストプラクティス

0 commit comments

Comments
 (0)