このトピックでは、Enterprise Distributed Application Service (EDAS) に関連する Resource Access Management (RAM) ポリシーについて説明します。
ポリシーのリソース変数
ポリシーでは、次の変数を使用してリソースを定義します。
$regionid: リソースがデプロイされているリージョンの ID。例: cn-shanghai。詳細については、「リージョンとゾーン」をご参照ください。
$namespace: マイクロサービス名前空間の ID。次の図は、マイクロサービス名前空間の ID を示しています。
マイクロサービス名前空間 ID を表示するには、EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。[マイクロサービス名前空間] ページで、各マイクロサービス名前空間の ID を表示できます。

$clusterId: クラスタの ID。例: 8c349f69-505c-436f-8dc7-**********。次の図は、クラスタの ID を示しています。
クラスタ ID を表示するには、EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。[ECS クラスタ] ページで、[クラスタ ID/名前] 列にある目的のクラスタ ID をクリックして [クラスタの詳細] ページに移動し、クラスタの ID を表示します。

$applicationId: アプリケーションの ID。例: ec8e38a3-3dca-47a7-b6f9-5**********。次の図は、アプリケーションの ID を示しています。
アプリケーション ID を表示するには、EDAS コンソール にログインします。左側のナビゲーションペインで、 を選択します。[アプリケーション] ページで、[アプリケーション名] 列にある目的のアプリケーションの名前をクリックして、アプリケーション詳細ページに移動します。アプリケーション詳細ページの [基本情報] タブで、アプリケーションの ID を表示できます。

ポリシーの詳細
このセクションでは、EDAS で定義された権限が RAM ポリシーにどのように対応しているかについて説明します。
マイクロサービス名前空間管理
表 1. マイクロサービス名前空間管理
コード | 説明 | 依存アクション | リソース |
1.1 | マイクロサービス名前空間を作成します。 | edas:CreateNamespace | acs:edas:$regionid:$accountid:namespace/* |
1.2 | マイクロサービス名前空間を削除します。 | edas:ReadNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
edas:DeleteNamespace | |||
1.4 | マイクロサービス名前空間を変更します。 | edas:ManageNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
edas:ReadNamespace | |||
1.5 | マイクロサービス名前空間を表示します。 | edas:ReadNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
表 2. クラスタ管理
コード | 説明 | 依存アクション | リソース |
2.1 | クラスタを作成します。 | edas:CreateCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/* |
2.2 | クラスタを削除します。 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
edas:DeleteCluster | |||
2.4 | クラスタを管理します。 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
edas:ManageCluster | |||
2.3 | クラスタを表示します。 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
表 3. アプリケーション管理
コード | 説明 | 依存アクション | リソース |
3.1 | アプリケーションを作成します。 | edas:CreateApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/* |
3.2 | アプリケーションを削除します。 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:DeleteApplication | |||
3.3 | アプリケーションを表示します。 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
3.4 | アプリケーションを管理します。 | edas:ManageApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ReadApplication | |||
3.5 | アプリケーションを設定します。 | edas:ConfigApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ReadApplication | |||
3.6 | ログを管理します。 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ManageAppLog |
表 4. マイクロサービス管理
コード | 説明 | 依存アクション | リソース |
4.1 | マイクロサービスを表示します。 | edas:ReadService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
4.2 | マイクロサービスをテストします。 | edas:TestService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
4.3 | マイクロサービスを管理します。 | edas:ReadService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ManageService |
表 5. 構成管理
コード | 説明 | 依存アクション | リソース |
5.1 | 構成を表示します。 | acms:R | acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId |
5.2 | 構成を管理します。 | acms:* | acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId |
表 6. システム管理
コード | 説明 | 依存アクション | リソース |
6.1 | EDAS システムを管理します。 | edas:ManageSystem | acs:edas:$regionid:$accountid:* |
6.2 | 操作ログを表示します。 | edas:ReadOperationLog | acs:edas:$regionid:$accountid:* |
6.3 | システム O&M 操作を実行します。 | edas:ManageOperation | acs:edas:$regionid:$accountid:* |
6.4 | Elastic Compute Service (ECS) インスタンスを購入します。 | edas:ECSPurchase | acs:edas:*:*:* |
6.5 | Server Load Balancer (SLB) インスタンスを購入します。 | edas:SLBPurchase | acs:edas:*:*:* |
6.6 | Simple Log Service プロジェクトを購入します。 | edas:SLSPurchase | acs:edas:*:*:* |
表 7. 商用利用可能な EDAS 機能の管理
コード | 説明 | 依存アクション | リソース |
7 | 商用利用可能な EDAS 機能を管理します。 | edas:ManageCommercialization | acs:edas:$regionid:$accountid:* |
クラスタ管理
以下のシナリオでは、クラスタの管理に必要な権限について説明します。
クラスタの作成
RAM ユーザーにクラスタを作成するために必要な権限を付与するには、Resource パラメータの値の cluster/ の後にアスタリスク (*) が続くことを確認してください。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:CreateCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
"Effect": "Allow"
}
]
}
// クラスタを作成するためのポリシークラスタの詳細の表示
クラスタに対する読み取り専用権限が必要です。たとえば、クラスタ内のインスタンスやアプリケーションなど、クラスタに関する詳細を表示するために必要な権限です。
RAM ユーザーにリソースグループに対する権限を付与して、RAM ユーザーがリソースグループ内のクラスタの詳細を表示できるようにすることができます。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
// クラスタの詳細を表示するためのポリシークラスタの管理
RAM ユーザーがクラスタを作成、クラスタにインスタンスを追加、クラスタを変更、およびクラスタを削除することを許可します。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
// クラスタを管理するためのポリシー次の例は、RAM ユーザーにクラスタ管理権限を付与する方法を示しています。
[例 1]: RAM ユーザーにクラスタ管理権限を付与しますが、RAM ユーザーがクラスタを作成することは禁止します。
{ "Version": "1", "Statement": [ { "Action": ["edas:ManageCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"], "Effect": "Allow" }, { "Action": ["edas:CreateCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"], "Effect": "Deny" } ] } // クラスタ管理権限を付与し、クラスタの作成を禁止するポリシー説明$clusterId変数が特定のクラスタ ID に設定されている場合、RAM ユーザーは指定されたクラスタのみを管理できます。 $clusterId 変数がアスタリスク (*) に設定されている場合、RAM ユーザーは指定されたマイクロサービス名前空間内のすべてのクラスタを管理できます。[例 2]: RAM ユーザーにクラスタ管理権限を付与しますが、RAM ユーザーがクラスタを作成または削除することは禁止します。
{ "Version": "1", "Statement": [ { "Action": ["edas:ManageCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"], "Effect": "Allow" }, { "Action": ["edas:CreateCluster","edas:DeleteCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"], "Effect": "Deny" } ] } // クラスタ管理権限を付与し、クラスタの作成と削除を禁止するポリシー
クラスタの削除
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadCluster","edas:DeleteCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
// クラスタを削除するためのポリシーマイクロサービス名前空間管理
以下のシナリオでは、マイクロサービス名前空間の管理に必要な権限について説明します。
マイクロサービス名前空間の作成
RAM ユーザーにマイクロサービス名前空間を作成するために必要な権限を付与するには、Resource パラメータの値の namespace/ の後にアスタリスク (*) が続くことを確認してください。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:CreateNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/*"],
"Effect": "Allow"
}
]
}
// マイクロサービス名前空間を作成するためのポリシーマイクロサービス名前空間の表示
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
// マイクロサービス名前空間を表示するためのポリシーマイクロサービス名前空間の管理
RAM ユーザーがマイクロサービス名前空間を変更または名前変更できるようにするには、RAM ユーザーにマイクロサービス名前空間を管理する権限を付与する必要があります。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
// マイクロサービス名前空間を管理するためのポリシーマイクロサービス名前空間の削除
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadNamespace","edas:DeleteNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
// マイクロサービス名前空間を削除するためのポリシー
リソースの購入
企業ユーザーの権限管理機能を強化するため、EDAS では企業ユーザーがリソースを購入するための権限を付与することができます。リソースには、ECS、SLB、および Log Service リソースが含まれます。
以下のシナリオでは、リソースの購入に必要な権限について説明します。
すべてのリソース購入ポリシーで、
Resourceパラメータの値はacs:edas:*:*:*である必要があります。よりきめ細かい構成はサポートされていません。リソース購入ポリシーは RAM ユーザーにのみ適用されます。
ECS リソースの購入
適用範囲:
ECS クラスタ内の ECS リソースを購入します。
ECS クラスタにアプリケーションを作成するときに ECS リソースを購入します。
ECS クラスタでアプリケーションをスケールアウトするときに ECS リソースを購入します。
ポリシーの例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:ECSPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] } // ECS リソースを購入するためのポリシー
SLB リソースの購入
適用範囲: SLB インスタンスをアプリケーションにバインドするときに SLB リソースを購入します。
ポリシーの例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:SLBPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] } // SLB リソースを購入するためのポリシー
Simple Log Service リソースの購入
適用範囲: アプリケーションの Log Service リソースを購入します。
ポリシーの例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:SLSPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] } // Simple Log Service リソースを購入するためのポリシー
アプリケーション管理
以下のシナリオでは、アプリケーションの管理に必要な権限について説明します。
個々のアプリケーションに対する権限
[アプリケーションの管理]: RAM ユーザーがアプリケーションに関する情報を表示し、アプリケーションの構成とログを管理することを許可しますが、RAM ユーザーがアプリケーションを作成または削除することは許可しません。
{ "Statement": [ { "Action": [ "edas:*Application" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] }, { "Action": [ "edas:DeleteApplication" ], "Resource":["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"], "Effect": "Deny" }, { "Action": [ "edas:CreateApplication" ], "Resource":["acs:edas:$regionid:*:namespace/$namespace/application/*"], "Effect": "Deny" } ], "Version": "1" } // アプリケーションを管理するためのポリシー。ただし、アプリケーションの作成と削除は禁止されています。[アプリケーションの作成]
重要アプリケーションを作成するには、ユーザーはクラスタ内のインスタンスを使用する必要があります。したがって、RAM ユーザーにクラスタを表示する権限を付与する必要があります。
{ "Statement": [ { "Action": [ "edas:CreateApplication", "edas:ReadCluster" ], "Effect": "Allow", "Resource": [ "acs:edas:$regionid:*:namespace/$namespace/application/*", "acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId" ] } ], "Version": "1" } // アプリケーションを作成するためのポリシー[アプリケーションの削除]
重要RAM ユーザーがアプリケーションを削除できるようにするには、RAM ユーザーにアプリケーションを表示する権限を付与する必要があります。そうでない場合、RAM ユーザーはアプリケーションを見つけることができません。
{ "Statement": [ { "Action": [ "edas:DeleteApplication", "edas:ReadApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] } ], "Version": "1" } // アプリケーションを削除するためのポリシー[ログの管理]
重要RAM ユーザーがアプリケーションのログを管理できるようにするには、RAM ユーザーにアプリケーションを表示する権限を付与する必要があります。そうでない場合、RAM ユーザーはアプリケーションを見つけることができません。
{ "Statement": [ { "Action": [ "edas:ReadApplication", "edas:ManageAppLog" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] } ], "Version": "1" } // アプリケーションのログを管理するためのポリシー[アプリケーションの構成]: RAM ユーザーがアプリケーションポート、Tomcat コンテキスト、負荷分散パラメータ、ヘルスチェックパラメータ、Java 仮想マシン (JVM) パラメータ、およびゾーン内プロバイダー優先機能を設定することを許可します。
重要RAM ユーザーがアプリケーションを構成できるようにするには、RAM ユーザーにアプリケーションを表示する権限を付与する必要があります。
{ "Statement": [ { "Action": [ "edas:ReadApplication", "edas:ConfigApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] }, ], "Version": "1" } // アプリケーションを構成するためのポリシー
複数のアプリケーションに対する権限
[アプリケーションのクエリ]: RAM ユーザーが指定されたリージョン内のアプリケーションをクエリすることを許可します。
説明1 つのリージョンに複数のマイクロサービス名前空間が含まれている場合があります。この権限により、RAM ユーザーは指定されたリージョン内のすべてのマイクロサービス名前空間のアプリケーションをクエリできます。
{ "Statement": [ { "Action": [ "edas:ReadApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/*/application/*"] } ], "Version": "1" } // アプリケーションをクエリするためのポリシー[アプリケーションの表示]: RAM ユーザーが指定されたマイクロサービス名前空間内のアプリケーションを表示することを許可します。
{ "Statement": [ { "Action": [ "edas:*Application", "edas:ReadCluster" ], "Effect": "Allow", "Resource": [ "acs:edas:$regionid:*:namespace/$namespace/application/*", "acs:edas:$regionid:*:namespace/$namespace/cluster/*" ] } ], "Version": "1" } // アプリケーションを表示するためのポリシー
マイクロサービス管理
以下のシナリオでは、マイクロサービスの管理に必要な権限について説明します。
マイクロサービスの表示
RAM ユーザーにすべてのマイクロサービスを表示するために必要な権限を付与するには、次のポリシーの $applicationId 変数をアスタリスク (*) に設定します。
{
"Statement": [
{
"Action": [
"edas:ReadService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
// マイクロサービスを表示するためのポリシー
マイクロサービスのテスト
RAM ユーザーにマイクロサービス名前空間全体で全てのマイクロサービスをテストするために必要な権限を付与するには、次のポリシーの $namespace 変数と $applicationId 変数をアスタリスク (*) に設定します。
{
"Statement": [
{
"Action": [
"edas:TestService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
// マイクロサービスをテストするためのポリシー
マイクロサービスの管理
RAM ユーザーにすべてのマイクロサービスを管理するために必要な権限を付与するには、次のポリシーの $applicationId 変数をアスタリスク (*) に設定します。
{
"Statement": [
{
"Action": [
"edas:ManageService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
// マイクロサービスを管理するためのポリシー
外れ値インスタンスの削除
外れ値インスタンスの削除は、マイクロサービス名前空間内のアプリケーションに影響します。 RAM ユーザーに、指定されたマイクロサービス名前空間内でのみ外れ値インスタンスを削除する権限を付与できます。
{
"Statement": [
{
"Action": [
"edas:ManageService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace"
]
}
],
"Version": "1"
}
// 外れ値インスタンスを削除するためのポリシー
システム管理
RAM ユーザーの管理、リソース使用量の表示、操作ログの表示などの権限が含まれます。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageSystem"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}
// システムを管理するためのポリシー
システムポリシーは特定のリソースによって定義されていません。これらのポリシーの Resource 変数を acs:edas:*:*:* に設定します。
システム O&M 操作の実行
RAM ユーザーが操作ログを表示し、一度に 1 つ以上の O&M タスクを実行し、リソースグループを管理することを許可します。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageOperation"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}
// システム O&M 操作を実行するためのポリシー
操作ログの表示
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadOperationLog"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}
// 操作ログを表示するためのポリシー