AlibabaCloudのカスタマイズ権限付与ポリシーってどんなの?

# はじめに
前回は、AlibabaCloudのRAMユーザー、グループに
AdministratorAccess権限を付与してきました。
今回は、RAMのポリシーについて触れます。

# ドキュメントはこちら

[権限とポリシー - ユーザーガイド| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/28651.htm?spm=a21mg.p38356.b99.23.18e65bedxHa4q6)

# ポリシーは２種類あります。

## システム認証ポリシー

[権限付与ポリシー管理 - ユーザーガイド| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/28652.htm?spm=a21mg.p38356.b99.24.5af747afpz1GJz)
に記載されております。
少しピックアップしますと

|権限付与ポリシー名|補足|
|:---|:---|
|AliyunOSSFullAccess|管理コンソールから Object Storage Service (OSS) にフルにアクセスできます。|
|AliyunOSSReadOnlyAccess|管理コンソールから Object Storage Service (OSS) に読み取り専用でアクセスできます。|
|AliyunECSFullAccess|管理コンソールから Elastic Compute Service (ECS) にフルにアクセスできます。|

といったようAlibabaCloud側で用意されたのポリシーになってます。
厳密な管理をしないのであれば、XxxxxxFullAccess, XxxxxReadOnlyAccessでもある程度はできるでしょう。

## カスタム許可ポリシー

こちらはユーザー自身で記述し管理するものになります。
下記の２つのドキュメントを理解し記述する必要があります。

[ポリシーの基本要素 - ユーザーガイド| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/28663.htm?spm=a21mg.p38356.b99.28.8ab24cb3omrZZD)

[ポリシー構文の構造 - ユーザーガイド| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/28664.htm?spm=a21mg.p38356.b99.29.17d55bed2qzTK9)

# ポリシーの評価ルール

[評価ルール - ユーザーガイド| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/28665.htm?spm=a21mg.p38356.b99.30.2b8b4cb3dmNjzY)

のドキュメントは特に重要です。

![policy.png](http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/pic/28665/intl_en/1504164258084/policy.png)

ぜひ、こちらの図は必ず頭に入れておく必要があります。

# カスタム許可ポリシーを使用するユースケース

システムが使用するポリシーを例に考えてみましょう。
メッセージ（キュー）を利用するシステムで
メッセージを取得し処理するだけでしたら
例えばこういったポリシーになります。


```json
{
  "Version": "1",
  "Statement": [
    {
      "Action": [
        "mns:ReceiveMessage"
      ],
      "Resource": "acs:mns:*:*:/queues/pocMessage/messages",
      "Effect": "Allow"
    }
  ]
}
```

※**AliyunMNSReadOnlyAccess**を参考に作成しました。

# カスタム許可ポリシーを作ってみる
コンソールからRAMを選択します。

![36ad4008.png](https://qiita-image-store.s3.amazonaws.com/0/241104/cd8bb663-53a4-92e5-5bcf-515da1665627.png)

![baa420c8.png](https://qiita-image-store.s3.amazonaws.com/0/241104/fab6f6ff-30a3-a8b3-23e1-b08a5bb22a0e.png)

![95289f10.png](https://qiita-image-store.s3.amazonaws.com/0/241104/a8b8883f-9f26-08d6-b47f-b45d8c044415.png)

![71c66e86.png](https://qiita-image-store.s3.amazonaws.com/0/241104/f4f26dd4-e55a-b803-6714-e0a260effa96.png)

作成できましたので、RAMユーザーに関連付けします

![e0015a71.png](https://qiita-image-store.s3.amazonaws.com/0/241104/a2e7da65-9575-ad46-3a84-79be7e1fc34b.png)

![4ab19250.png](https://qiita-image-store.s3.amazonaws.com/0/241104/1c46a54f-6c00-f399-ddf6-45f3b6753113.png)

![1074bb65.png](https://qiita-image-store.s3.amazonaws.com/0/241104/c5751893-eb26-0a8d-f81a-2995227a511f.png)

![cc9c49d4.png](https://qiita-image-store.s3.amazonaws.com/0/241104/717e26df-f489-5ed0-7410-be848aa681c9.png)

![e1e2c121.png](https://qiita-image-store.s3.amazonaws.com/0/241104/c0109b50-c277-86ed-271d-fa22f23451f5.png)

# まとめ
カスタマイズ権限付与ポリシーを作成する前に
ポイントを押さえてから進めていくと効率よく進みます。

[ECS インスタンスの承認 - 権限付与ユースケース| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/faq-detail/58900.htm?spm=a21mg.p38356.b99.183.293c496fR1qUlG)
や
[OSS 権限付与ポリシーのサンプル - 権限付与ユースケース| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/faq-detail/44369.htm?spm=a21mg.o282931.b99.189.6ab92a93I7D4Sh)
などを参考にして進めるとスムーズです。

**ポリシー名は適切な命名ルール**を作成しておくとよいです。
数が増えたり煩雑になりましたら、整理するというのもよいかと思います。

また、各種サービスのAPIドキュメントをみて
必要なポリシーを付与していきましょう。

[RESTful APIの概要 - API リファレンス| Alibaba Cloud ドキュメントセンター](https://jp.alibabacloud.com/help/doc-detail/52027.htm?spm=a21mg.p38356.b99.61.b82358c869asvl)