カスタムポリシーを作成して、権限をきめ細かく管理できます。
背景情報
特定の条件下でリソースに対する操作を許可または拒否する権限を定義できます。権限は、Resource Access Management (RAM) ポリシーで定義されます。カスタムポリシーを作成することで、カスタム権限を定義できます。
詳細については、「カスタムポリシーを作成する」をご参照ください。このトピックでは、RAM コンソールの [JSON] タブでスクリプトを編集してカスタムポリシーを作成する方法について説明します。
手順
管理者権限を持つ RAM ユーザーとして RAM コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。
[ポリシーの作成] ページで、[JSON] タブをクリックします。
コードエディタに次のポリシーコンテンツを入力し、ポリシーコンテンツを入力します。 をクリックします。
RAM ポリシーの構文と構造の詳細については、「ポリシーの構造と構文」をご参照ください。
JSON 形式でポリシーを設定します。次の要素が必要です。
操作: 承認する操作。IoT Platform の操作は iot: で始まります。操作と例の詳細については、このトピックの「操作を定義する」セクションを参照してください。
効果: 承認タイプ。有効な値: 許可 および 拒否。
リソース: RAM ユーザーがアクセスすることを承認するリソース。
RAM ユーザーが IoT Platform のすべてのリソースにアクセスすることを承認する場合は、このパラメーターを
*
に設定します。条件: 条件。IoT は条件定義をサポートしていません。
詳細については、「ポリシー要素」をご参照ください。
[ポリシーの作成] ダイアログボックスで、[名前] パラメーターと [説明] パラメーターを設定し、[OK] をクリックします。
操作を定義する
ポリシーの操作を定義するには、Action 要素で API 操作を指定する必要があります。IoT Platform に対する権限を付与するポリシーを作成する場合は、Action 要素に IoT Platform の操作を指定します。各 IoT Platform 操作は iot:
で始まらなければなりません。複数の操作はコンマ (,) で区切る必要があります。Action 要素の値をアスタリスク (*) に設定できます。これはワイルドカードを示します。IoT Platform の API 操作については、「IoT Platform の操作と RAM ポリシーのマッピング」をご参照ください。
次の例は、操作を定義する方法を示しています。
単一の API 操作を指定して操作を定義します。
"Action": "iot:CreateProduct"
複数の API 操作を指定して操作を定義します。
"Action": [ "iot:UpdateProduct", "iot:QueryProduct" ]
ルールエンジンがプロダクトのデータを転送するときに実行される操作を含め、すべての読み取り専用 API 操作を指定して操作を定義します。
{ "Version": "1", "Statement": [ { "Action": [ "iot:Query*", "iot:List*", "iot:Get*", "iot:BatchGet*", "iot:Check*" // 読み取り専用操作を指定 ], "Resource": "*", "Effect": "Allow" }, // ... (他のサービスの操作) ] }
ルールエンジンがプロダクトのデータを転送するときに実行される操作を含め、すべての読み取り/書き込み API 操作を指定して操作を定義します。
{ "Version": "1", "Statement": [ { "Action": "iot:*", // 全ての iot 操作を許可 "Resource": "*", "Effect": "Allow" }, // ... (他のサービスの操作) ] }
ポリシーが作成された後、RAM ユーザーにポリシーをアタッチできます。その後、RAM ユーザーはポリシーで定義されている操作を実行できます。RAM ユーザーの作成と承認方法の詳細については、「RAM ユーザーとして IoT Platform にアクセスする」をご参照ください。