
セキュリティコンプライアンスプラットフォーム - SOC2, CMMC, ASVS, ISO27001, HIPAA, NIST CSF, NIST 800-53, CSC CIS 18, PCI DSS, SSF トラッキング
Gappsは、さまざまなセキュリティフレームワークに対する進捗状況を簡単に追跡できるセキュリティコンプライアンスプラットフォームです。
❄️ Gappsサイトを表示
🏠 連絡をご希望の方は、Discordにご参加ください
| コントロールダッシュボード |
|---|
![]() |
| プロジェクト概要 |
|---|
![]() |
| コントロールの進捗状況の追跡 |
|---|
![]() |
ドキュメントに従ってください ドキュメント
[INFO] Checking if we can connect to the database server: postgresql://db1:db1@localhost/db1
[ERROR] could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
通常は、Docker内で実行している場合に2つの変数を解除することで修正できます。外部データベースを使用したい場合は、次のFAQを参照してください。
unset SQLALCHEMY_DATABASE_URI
unset POSTGRES_HOST
値 db1 は、ユーザー名、データベース、パスワードのデフォルト値です。変更したい場合は、db1 をそれぞれの値に更新し、ホストには postgres を指定してください。
export POSTGRES_HOST=${POSTGRES_HOST:-postgres}
export POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-db1}
export POSTGRES_USER=${POSTGRES_USER:-db1}
export POSTGRES_DB=${POSTGRES_DB:-db1}
export SQLALCHEMY_DATABASE_URI="postgresql://db1:db1@postgres/db1"
Gappsを初めて起動すると、自動的にデータベースモデルが作成されます。データをリセットしたい場合(例:すべてのデータを削除)、RESET_DB 環境変数を export RESET_DB=yes のように設定します。
Dockerの外部でGappsを実行したい場合があります。その場合は、Postgresコンテナを起動してから、Gappsをフォアグラウンドで起動します。
docker-compose up -d postgresexport POSTGRES_HOST=${POSTGRES_HOST:-localhost}
export POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-db1}
export POSTGRES_USER=${POSTGRES_USER:-db1}
export POSTGRES_DB=${POSTGRES_DB:-db1}
export SQLALCHEMY_DATABASE_URI="postgresql://db1:db1@localhost/db1"
export FLASK_CONFIG=development;bash run.sh を実行します。docker compose up を実行します。docker exec -e ONESHOT=yes gapps env
docker exec -e INIT_MIGRATE=yes -e MIGRATE=yes -e ONESHOT=yes gapps bash run.sh
または
docker-compose up -d
docker exec -it gapps bash
python3 manage.py db migrate
python3 manage.py db stamp head
python3 manage.py db upgrade
exit
警告 - これによりデータベース内のすべてのデータが削除されます!
docker exec -it gapps bash
python3 tools/check_db_connection.py
python3 tools/check_db_models.py
python3 manage.py init_db
1.) docker-compose.yml ファイルを編集し、Docker Hub から希望のバージョンを指定します。コンポーズファイル内で古いバージョンが表示されている箇所(4箇所あるはずです)を、希望のバージョンに更新します。(例:bmarsh13/gapps:3.3.9 → bmarsh13/gapps:3.4.0)
2.) docker-compose up -d
3.) 必要に応じて データベースマイグレーションを実行 します
UI内で新しいフレームワークとコントロールを作成することもできますが、これには時間がかかります。代わりに、JSONファイルをGappsにロードできます。
フォーマットは、コントロールとサブコントロールで構成されます。以下のスニペットは、1つのサブコントロールを持つコントロールの例ですが、好きなだけ追加できます。コントロールにサブコントロールを持たせる必要はありません(0でも可)。ただし、コントロールを追跡可能な具体的なアクションに分割したい場合には意味があるでしょう。例としてCIS 18フレームワークを取り上げます。18すべての「ドメイン」をコントロールとして配置し、各ドメイン内のコントロールをGapps内のサブコントロールにすることができます。
[
{
"name": "Limit information system access to authorized users, processes acting on behalf of authorized users or",
"description": "Maintain list of authorized users defining their identity and associated role and sync with sys",
"guidance": "List approved users, services, and devices, and have logical controls in place to prevent unauthor",
"ref_code": "AC.L1-3.1.1",
"system_level": false,
"subcategory": "Identity & Access Management (IAM)",
"category": "Access Control",
"dti": "easy",
"dtc": "easy",
"meta": {},
"subcontrols": [
{
"ref_code": "3.1.1.a",
"name": "Authorized users are identified.",
"description": "Authorized users are identified.",
"meta": {},
"tasks": [
{
"title": "title of the task",
"description": "description of the task"
}
]
}
]
}
]
次に、上記のJSON形式をファイル(例:my_framework.json、ただし拡張子は .json にしてください)に保存します。フレームワークの名前は、Gappsがロードするときにファイル名から取得されます(この場合 my_framework)。ファイルを app/files/base_controls/ ディレクトリに保存します。また、FRAMEWORK_FOLDER 環境変数を設定することで、ロードディレクトリを変更することもできます。新しいフレームワークがファイルに保存され、フレームワークディレクトリに配置されたら、UI内で新しいテナントを作成できます。Gappsは自動的にフレームワークをロードします。既存のテナントにフレームワークを追加したい場合は、「Tenants」ページに移動し、テナントを編集して「Reload Frameworks」ボタンをクリックします。
docker build -t gapps:3.4.3 .
docker tag gapps:3.4.3 bmarsh13/gapps:3.4.3
docker push bmarsh13/gapps:3.4.3
ブラウザで以下のルートにアクセスして、APIトークンを生成できます。
# Create token that expires in 15 minutes
<gapps-host>/api/v1/token
# Create token that expires in 30 seconds
<gapps-host>/api/v1/token?expiration=30
# Create token that never expires
<gapps-host>/api/v1/token?expiration=0
トークンを使用して認証する方法は以下の通りです(curlの例)。
TOKEN="TOKEN HERE"
curl <gapps-host>/api/v1/tenants -H "token: $TOKEN"