# CIS AWS/Google Cloud Foundations Benchmark に対する解説・検査の拡充

[Shisho Cloud](https://shisho.dev/ja) における CIS AWS/Google Cloud Foundations Benchmark に関連して提供している解説・検査ルールを拡充しました。
これにより Shisho Cloud 上で、より広い範囲の AWS/Google Cloud 上のリソースのセキュリティ様態を、より広い観点で評価していただけます。

![eyecatch](/docs/ja/_md-assets/c206e517ba-eyecatch.png)

## 拡充の概要

今回の拡充により、以下のベンチマークに記載のある項目のうち、**自動化が可能な項目全て** に対して **Rego によるマネージド検査ルール・Flatt Security による解説**がご利用いただけるようになりました:

- **CIS AWS Foundations Benchmark v1.5.0**
- **CIS Google Cloud Foundations Benchmark v1.3.0**

:::info

同ベンチマークの最新版は現在以下です:

- CIS AWS Foundations Benchmark v2.0.0
- CIS Google Cloud Foundations Benchmark v2.0.0

バージョン間で削除されずに残っている項目のうち、_Manual_ と _Audomated_ の分類の変化や、_Profile Applicability_ の変化のみを有するものは、既に今回の更新において変更を一部適用しております。
また数点ほど存在する追加項目に関しても、Shisho Cloud 上でのマネージド検査ルールや解説の提供を順次進めてまいります。
:::

![Findings](/docs/ja/_md-assets/3178636483-findings.png)

## 利用開始方法

### Shisho Cloud を新しく利用したい場合

ご関心をお寄せ頂きありがとうございます！[Shisho Cloud 公式ページ](https://shisho.dev/ja) からお問い合わせください。
直ちに Shisho Cloud の無料トライアルの開始手順をご案内いたします。

### 既存の Shisho Cloud 組織での適用

既に Shisho Cloud を利用している **全てのお客様** が、以下の手順で拡充されたポリシーを利用できます:

1. Shisho Cloud とクラウド間の連携を更新する
2. Shisho Cloud に新規ワークフローを追加する
3. ワークフローを GitHub リポジトリに追加する (オプショナル)

#### (1) 連携の更新

以下のガイドを確認し、Shisho Cloud と AWS/Google Cloud 間の連携を更新してください。

<Tabs>
<TabItem value="googlecloud" label="Google Cloud" default>

既に連携用のサービスアカウントを作成している場合、Google Cloud 連携に関して、Shisho Cloud 側で変更すべき設定は基本的にありません。
また、サービスアカウントを再作成する必要もありません。

しかし、連携用サービスアカウントが存在するプロジェクトにおいて、一部の Google Cloud API を有効化する必要があります。
以下のコマンドや、[Google Cloud 連携のチュートリアル](/g/getting-started/integrate-apps/googlecloud) 中に記載のある Terraform コード片により、必要な API を全て有効化できますから、これを **必ず** 実行してください:

```bash
gcloud services enable \
  bigquery.googleapis.com \
  cloudasset.googleapis.com \
  cloudkms.googleapis.com \
  cloudresourcemanager.googleapis.com \
  compute.googleapis.com \
  container.googleapis.com \
  dns.googleapis.com \
  essentialcontacts.googleapis.com \
  logging.googleapis.com \
  iamcredentials.googleapis.com \
  iam.googleapis.com \
  pubsub.googleapis.com \
  serviceusage.googleapis.com \
  storage-component.googleapis.com \
  sqladmin.googleapis.com \
  --project "$PROJECT_ID"
```

</TabItem>

<TabItem value="aws" label="AWS">
既に連携用の IAM ロールを作成している場合、AWS 連携に関して、Shisho Cloud 側で変更すべき設定は基本的にありません。
また、IAM ロールを再作成する必要もありません。

しかし、各アカウントに作成した IAM ロール内のインラインポリシーを更新する必要があります。
[AWS 連携のチュートリアル](/g/getting-started/integrate-apps/aws) を参照し、各アカウントに作成した IAM ロールを **必ず** 更新してください。

</TabItem>

</Tabs>

#### (2) 更新後のワークフローの適用

以下の手順で最新のワークフローを適用できます:

:::danger
以下の手順では Shisho Cloud 上に登録されたワークフローを上書きします。
Shisho Cloud 上でパラメータの設定をしている場合や、Rego ポリシーを変更している場合は、以下のコマンドにより **必ず** 既存の Shisho Cloud マニフェストのバックアップを取得してください:

```bash
SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"
shishoctl workflow export --structured --org "$SHISHO_ORG_ID" --path .
```

なお現在 Shisho Cloud 上でのワークフローのバージョニング機能の提供も検討してしています。
また意図せずにワークフローを上書きしてしまい、ワークフローに対するパラメータの設定が失われた場合は、Flatt Security サポートにお問い合わせください。
:::

:::info
`shishoctl` コマンドを利用したことがない場合は、[チュートリアル](/c/accessing-via-shishoctl-cli) を参照し、設定を行ってください。
:::

```bash
SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"

# 最新のワークフローを取得する
git clone https://github.com/flatt-security/shisho-cloud-managed-workflows
cd ./shisho-cloud-managed-workflows

# CIS AWS Foundations Benchmark v1.5.0 に対応するポリシーを $SHISHO_ORG 組織に適用する
shishoctl workflow apply --org "$SHISHO_ORG_ID" -f ./workflows/cis-benchmark/aws-v1.5.0

# CIS Google Cloud Foundations Benchmark v1.3.0 に対応するポリシーを $SHISHO_ORG 組織に適用する
shishoctl workflow apply --org "$SHISHO_ORG_ID" -f ./workflows/cis-benchmark/googlecloud-v1.3.0
```

#### (3) 自組織の GitHub リポジトリへの取り込み

[GitHub Actions に関するチュートリアル](/g/getting-started/deploy-policies-with-git-repositories/github) に記載の手順でポリシーコードを格納したリポジトリを作成した場合は、上記手順で Shisho Cloud 上のワークフローを更新した後に、以下の手順を実施してください:

```bash
SHISHO_ORG_ID="自分の Shisho Cloud 組織 ID"

# 自組織の GitHub リポジトリを習得する
git clone <GitHub リポジトリの URL> ./repo
cd ./repo

# 改めて更新後のワークフローを Shisho Cloud からエクスポートする
shishoctl workflow export --structured --org "$SHISHO_ORG_ID" --path .

# 差分をレビューする
git diff

# ... 変更を取り込むか判断し、コミット・プッシュする
```

[flatt-security/shisho-cloud-managed-workflows](https://github.com/flatt-security/shisho-cloud-managed-workflows) を fork して作成した場合は、同リポジトリの最新のブランチをマージし、差分を取り込んでください。
