Enterprise Distributed Application Service (EDAS) で管理されるアプリケーションには、複数のサービスまたはサブシステムが含まれている場合があります。これらは、異なるチームやメンバーによって開発および保守できます。EDAS は、エンタープライズクラスの権限管理システムを提供します。 EDAS 権限管理システムを使用して、アプリケーション、リソース、およびデータを分離し、アクセス制御を実装できます。 これにより、アプリケーションのセキュリティが確保されます。
EDAS定義の権限とRAMポリシー
EDAS は権限管理システムを使用して開発されており、Resource Access Management (RAM) とも統合されています。
RAM を使用して権限を管理する方法の詳細については、「概要」をご参照ください。
EDAS定義の権限の詳細については、「EDAS定義の権限の管理 (非推奨)」をご参照ください。
EDAS を含むAlibaba Cloud サービスの権限を同じシステムで管理するには、RAM を使用することをお勧めします。 EDAS では、EDAS定義の権限をRAMポリシーに置き換えることもできます。 詳細については、「EDAS定義の権限をRAMポリシーに置き換える」をご参照ください。
サブアカウントに付与されたEDAS定義の権限を管理するには、EDASコンソールにログオンし、サブアカウントがアクセスを許可または拒否されるリソースを指定します。 EDAS定義の権限をRAMポリシーに置き換えた後、EDAS定義の権限をサブアカウントに付与することはできなくなります。 サブアカウントはRAMユーザーに切り替えられます。 RAMコンソールでRAMユーザーにEDASの権限を付与する必要があります。
EDAS は、EDAS定義の権限とRAMポリシーの両方をサポートしています。 サブアカウントとRAMユーザーは、次のルールを使用して管理されます。
RAMユーザーのアクセスは、EDAS定義の権限ではなく、RAMポリシーによって制御されます。
サブアカウントの場合:
AliyunEDASFullAccess 権限が付与されているサブアカウントのアクセスは、EDAS定義の権限ではなく、RAMポリシーによって制御されます。
EDAS定義の権限によって規制されているサブアカウントをRAMユーザーに切り替えることをお勧めします。 詳細については、「EDAS定義の権限をRAMポリシーに置き換える」をご参照ください。 サブアカウントをRAMユーザーに切り替えない場合は、引き続きEDAS定義の権限を使用してサブアカウントのアクセスを制御できます。
RAMの利点
RAM は、Alibaba Cloud によって提供されるリソースアクセス制御サービスです。 ポリシー を使用して、従業員、システム、アプリケーションなどのRAMユーザーのアクセスを制御し、リソースに対する特定の権限をRAMユーザーに付与できます。 たとえば、EDASアプリケーションに対する読み取り専用権限をRAMユーザーに付与できます。
よりきめ細かいアクセス制御
EDAS定義の権限 | RAMポリシー |
|
|
Alibaba Cloud アカウントがリソースに対する権限をサブアカウントに付与した後、リソースに対する操作はすべての権限によって制御されます。 たとえば、APP1 と APP2 に対する権限、およびアプリケーションをデプロイおよび停止する権限をサブアカウントに付与すると、サブアカウントは APP1 と APP2 をデプロイおよび停止できます。 EDAS定義の権限は、RAMポリシーよりも粒度が粗くなります。 | RAMポリシーは、EDAS定義の権限よりもきめ細かいものです。 各権限は特定のリソースを定義します。 たとえば、アプリケーションをデプロイおよび停止する権限をRAMユーザーに付与できます。 RAMユーザーがデプロイできるリソースを APP1 と APP2 として指定し、RAMユーザーが停止できるリソースを APP2 と APP3 として指定できます。 この場合、RAMユーザーは APP1 と APP2 のみデプロイでき、APP3 はデプロイできません。 RAMユーザーは APP2 と APP3 のみ停止でき、APP1 は停止できません。 |
より多くの構文タイプ
RAMポリシーは、EDAS定義の権限よりも多くの構文タイプをサポートしています。 たとえば、権限ステートメントでワイルドカード文字を使用したり、複数のポリシーをRAMユーザーにアタッチしてアクセス制御を正確に規制したりできます。
次の例は、RAMポリシーの構文を示しています。
{
"Statement": [
{
"Action": [
"edas:ReadApplication" // アプリケーションの読み取り
],
"Effect": "Allow",
"Resource": ["acs:edas:*:*:namespace/*/application/*"]
},
{
"Action": [
"edas:ReadApplication" // アプリケーションの読み取り
],
"Effect": "Deny",
"Resource": ["acs:edas:cn-beijing:*:namespace/*/application/12345678"]
}
],
"Version": "1"
}上記のポリシーには2つのステートメントが含まれています。
最初のステートメントでは、effect は Allow に設定され、action は edas:ReadApplication に設定されています。これは、RAMユーザーが アプリケーションを表示 できるようにし、resource はワイルドカード文字 (*) に設定されています。これは すべてのアプリケーション を指定します。 このステートメントは、RAMユーザーがすべてのEDASアプリケーションを表示できることを指定します。
2番目のステートメントでは、effect は Deny に設定され、resource は 12345678 に設定されています。これは、ID が 12345678 のアプリケーションを指定します。 このステートメントは、RAMユーザーが ID が 12345678 のアプリケーションを表示できないことを指定します。
したがって、上記のステートメントを含むポリシーは、RAMユーザーが ID が 12345678 のアプリケーション以外のすべてのアプリケーションを表示できることを指定します。
条件式を使用してポリシーを定義することもできます。 詳細については、「ポリシーの概要」をご参照ください。
EDAS定義の権限とRAMポリシーの関係
EDAS定義の権限はRAMポリシーと同等ではありません。 したがって、EDAS定義の権限をRAMポリシーに直接変更することはできません。 EDAS では、EDAS定義の権限をRAMポリシーに置き換えることができ、ほとんどの場合、EDAS定義の権限を継承できます。 デフォルトでは、サブアカウントがアプリケーションやクラスターなどのEDASリソースに対して特定の操作を実行できるかどうかを定義する権限は、サブアカウントが切り替えられるRAMユーザーによって継承されます。
表 1. EDAS定義の権限とRAMポリシーの定義方法
EDAS定義の権限 | RAMポリシー | RAMポリシーで定義されたリソース |
スーパー管理者 (すべての権限) | edas:* | acs:edas:*:*:* |
代行Alibaba Cloud アカウント | edas:ManageSystem | acs:edas:*:*:* |
システム管理 - 操作ログの表示 | edas:ReadOperationLog | acs:edas:*:*:* |
アプリケーション管理 - マイクロサービス名前空間の変更 | edas:ManageNamespace | acs:edas:*:*:namespace/${namespaceId} |
アプリケーション管理 - マイクロサービス名前空間のクエリ | edas:ReadNamespace | acs:edas:*:*:namespace/${namespaceId} |
リソース管理 - クラスターの作成 | edas:CreateCluster | acs:edas:*:*:namespace/* |
リソース管理 - クラスターの表示 | edas:ReadCluster | acs:edas:*:*:namespace/*/cluster/${clusterId} |
リソース管理 - クラスターの管理と削除 | edas:ReadCluster edas:ManageCluster | acs:edas:*:*:namespace/*/cluster/${clusterId} |
アプリケーション管理 - アプリケーションの作成 | edas:CreateApplication | acs:edas:*:*:namespace/* |
アプリケーション管理 - アプリケーションのデプロイ、起動、スケールアウト、および削除 | edas:ManageApplication edas:ReadApplication | acs:edas:*:*:namespace/*/application/${applicationId} |
アプリケーション管理 - アプリケーション情報の表示 | edas:ReadApplication | acs:edas:*:*:namespace/*/application/${applicationId} |
アプリケーション管理 - アプリケーションのコンテナの設定とJava仮想マシン ( JVM ) パラメーターの設定 | edas:ConfigApplication edas:ReadApplication | acs:edas:*:*:namespace/*/application/${applicationId} |
アプリケーション管理 - ログディレクトリの設定 | edas:ManageAppLog edas:ReadApplication | acs:edas:*:*:namespace/*/application/${applicationId} |
Elastic Compute Service ( ECS ) リソースの購入 | edas:ECSPurchase | acs:edas:*:*:* |
Server Load Balancer (SLB) リソースの購入 | edas:SLBPurchase | acs:edas:*:*:* |
ログサービスリソースの購入 | edas:SLSPurchase | acs:edas:*:*:* |

