# Alibaba Cloudを接続する

### Alibaba Cloudを接続する理由

ユーザーデータを保護するためには、クラウドインフラストラクチャのセキュリティ確保が不可欠です。Aikidoのセキュリティチェックを活用して、Alibaba Cloud環境における設定ミスを検出し、対処することができます。

#### **主なユースケース**

* Aikidoは、攻撃者がAlibaba Cloud環境に侵入できてしまう重大なクラウドの設定ミスを検出します。実際のビジネスに影響を与えるリスクに焦点を当て、ノイズを削減します。すべての設定チェックは[こちら](https://app.aikido.dev/clouds/checks)で確認できます。
* Aikidoは、環境の変化に合わせて、Alibaba Cloud環境に新たなリスクがないか継続的に監視します。
* Alibaba Cloud Container Registry (ACR) のコンテナイメージスキャン。
* Alibaba Cloudインスタンス上でのLocal VM Scannerによる仮想マシンスキャン。

Aikidoは上記について毎日コンプライアンススキャンを実行します。

### はじめに

Aikidoの[クラウド概要ページ](https://app.aikido.dev/clouds)に移動し、**「Connect Cloud」**をクリックして、リストから**Alibaba Cloud**を選択します。

<figure><img src="https://help.aikido.dev/_assets/423537b50bfc/image-302.png" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}
**Alibaba Cloudにログインしてオンボーディングを設定する**

Alibaba Cloudへの接続方法は2つあります。

* **Single Alibaba Account:** Alibaba Cloudアカウントを1つずつ接続します。アカウント数が少ない場合や、小規模に始めたい場合に最適です。
* **Full Alibaba Resource Directory:** Alibabaの組織全体を一度に接続します。AikidoはResource Directory内のすべてのアカウントを自動的に取り込み、後から追加された新しいアカウントも含まれます。複数のアカウントを大規模に管理するチームに最適です。

{% tabs %}
{% tab title="Full Alibaba Resource Directory" %}
**Full Alibaba Resource Directory**

1. Resource Directoryの**管理アカウント**を使用して、[Alibaba Cloud Console](https://www.alibabacloud.com/)にサインインします。
2. Resource Directoryで[Stack Groupsの信頼されたアクセス](https://www.alibabacloud.com/help/en/ros/user-guide/use-stack-groups-to-deploy-resources-across-accounts-and-regions)が有効になっていることを確認します。
3. Aikidoウィザードで、以下を入力します。
   * **Resource Directory ID**（例: `rd-XXXXXX`）
   * **Root Directory IDまたはFolder ID**（例: `r-abcdef` または `fd-abcdefghij, fd-jihgfedcba`）。すべてをスキャンするにはルートIDを使用し、範囲を絞り込むには特定のフォルダIDを列挙します。
   * **除外するアカウントID** _（任意）_: Aikidoにスキップさせたいアカウント。
   * インフラストラクチャと併せてAlibaba Cloud Container Registryのイメージをスキャンしたい場合は、**Enable ACR Scanning**を有効にします。

これらの値は、Alibabaコンソールの**Resource Directory**で確認できます。
{% endtab %}

{% tab title="Single Alibaba Account" %}
**Single Alibaba Account**

[Alibaba Cloud Console](https://www.alibabacloud.com/)に移動し、接続したいアカウントでサインインします。
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}
**RAMロールとポリシーを作成する**

Aikidoウィザードで**「Create RAM Role & Policy」**をクリックします。テンプレートが事前入力された状態でAlibaba Cloud ROSが開きます。このロールはAikidoに読み取り専用の監査権限を付与するもので、Aikidoがインフラストラクチャを編集することは決してありません。

_AccessKeyペアやパスワードがAikidoと共有されることはありません。_

* `ExternalId`パラメータに、ウィザードに表示された値を入力します（例: `aikido-3377`）。
* （Resource Directoryセットアップの場合のみ）`ResourceDirectoryFolderIds`と`EnableAcrScanning`に、Aikidoで入力したものと同じ値を入力します。
* **「I confirm that Alibaba Cloud ROS may create RAM resources」**にチェックを入れます。
* **Create**をクリックします。

正確なROSテンプレートを確認するには、[こちらをクリック](https://aikido-cspm-templates.s3.eu-west-1.amazonaws.com/alibaba-ros-template-production.json)してください。Terraformでロールをプロビジョニングしたい場合は、ウィザードで同等のTerraformテンプレートを生成することもできます。
{% endstep %}

{% step %}
**AikidoRoleARNをコピーしてAikidoに貼り付ける**

Alibaba Cloud ROSで、作成したスタックを開き、**Outputs**タブに移動します。**AikidoRoleARN**の値をコピーしてAikidoウィザードの入力欄に貼り付け、**Continue**をクリックします。

<figure><img src="https://help.aikido.dev/_assets/8d2998942b96/image-303.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**クラウド接続に名前を付ける**

Aikidoで接続したクラウドに名前を付け、稼働する環境（Production、Staging、Development、またはMixed）を選択します。これにより、Aikidoは深刻度とビジネスへの影響に基づいて検出結果の優先順位を付けることができます。**Save**をクリックして完了します。

<figure><img src="https://help.aikido.dev/_assets/adc1e08dbfd3/image-304.png" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

アカウントを接続してから数分以内に、Aikidoは脅威となりうる設定ミスを報告します。

### コンテナイメージスキャン

{% hint style="info" %}
Alibaba Cloud Resource Directoryを接続した場合、コンテナイメージはRAMロールを通じてスキャンされるため、追加の操作は必要ありません。このセクションは、個別のACR接続の場合にのみ該当します。
{% endhint %}

Alibaba Cloud Container Registry (ACR) と、Alibaba Cloudから使用するほとんどのサードパーティレジストリはOCI互換であるため、Aikidoでスキャンできます。

Alibaba Cloud Container Registryで読み取り専用またはプル専用のユーザーを作成します: [https://www.alibabacloud.com/help/en/acr/user-guide/configure-access-credentials](https://www.alibabacloud.com/help/en/acr/user-guide/configure-access-credentials)

次に、以下のOCIガイドに従ってコンテナイメージスキャンを設定します。

{% content-ref url="../../container-image-scanning/standalone-registries/generic-oci-compatible-registry.md" %}
[generic-oci-compatible-registry.md](https://help.aikido.dev/docs/docs-ja/container-image-scanning/standalone-registries/generic-oci-compatible-registry)
{% endcontent-ref %}

### 仮想マシンスキャン

Alibaba Cloud上の仮想マシンをスキャンするには、Local VM Scannerを使用します。インスタンス上のパッケージ、システム依存関係、設定を直接検査します。

{% content-ref url="../../virtual-machine-scanning/local-vm-scanning/" %}
[local-vm-scanning](https://help.aikido.dev/docs/docs-ja/virtual-machine-scanning/local-vm-scanning)
{% endcontent-ref %}

ECSインスタンスでは、必要なバイナリをダウンロードしてインストールするように[ユーザーデータを設定](https://www.alibabacloud.com/help/en/ecs/user-guide/customize-the-initialization-configuration-for-an-instance)することで、Local VM Scannerを導入できます。また、普段使用している自動化ツール（Ansible、Terraformでプロビジョニングされたスクリプト、cloud-init）を使って一元的に展開することもでき、新しいAlibaba Cloudインスタンスが自動的に登録されるようになります。
