デフォルトでは、Resource Access Management (RAM) ユーザーおよび RAM ロールは、Alibaba Cloud サービスの OpenAPI を呼び出す権限を持っていません。Container Service for Kubernetes (ACK) の OpenAPI 操作を呼び出す前に、システムポリシーまたはカスタムポリシーを RAM ユーザーまたは RAM ロールに付与する必要があります。このトピックでは、RAM ユーザーおよび RAM ロールにクラスターレベルおよびクラウドリソースレベルの権限を付与する方法について説明します。
システムポリシーを使用した権限付与
システムポリシーは、グローバルリソースへの読み取り/書き込みアクセスを付与する事前定義された権限ポリシーです。RAM ユーザーまたは RAM ロールが、ご利用の Alibaba Cloud アカウント配下のすべてのクラスターに対する運用管理権限を必要とする場合、迅速な権限付与のためにシステムポリシーを使用します。
システムポリシーにおけるフルアクセス権限は、高いセキュリティリスクをもたらします。慎重に付与してください。
Alibaba Cloud アカウントは、アカウント内のすべてのリソースに対するフル管理権限を持っています。または、RAM ユーザーを作成し、AdministratorAccess 権限を付与してアカウント管理者として指定することもできます。この管理者は、アカウント内のすべてのクラウドリソースを管理できます。詳細については、「アカウント管理者として RAM ユーザーを作成する」をご参照ください。
RAM 管理者として RAM コンソールにログインします。
[左側のナビゲーションウィンドウ]で、 を選択します。
「[ユーザー]」ページで、必要な RAM ユーザーを検索し、「[権限の追加]」を「[操作]」列でクリックします。

また、複数の RAM ユーザーを選択し、ページ下部の [権限の追加] をクリックして、RAM ユーザーに一度に権限を付与することもできます。
「[権限の付与]」パネルで、RAM ユーザーに権限を付与します。
[リソース範囲] パラメーターを設定します。
[アカウント]: 権限付与は、現在の Alibaba Cloud アカウントで有効になります。
[リソースグループ]: 権限付与は特定のリソースグループに適用されます。
重要[リソーススコープ] パラメーターで [リソースグループ] を選択する場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループと連携するサービス」をご参照ください。リソースグループに対する権限を付与する方法の詳細については、「特定の ECS インスタンスのみを管理するように RAM ユーザーを制限する」をご参照ください。
[プリンシパル] パラメーターを構成します。
プリンシパルは、権限を付与する RAM ユーザーです。現在の RAM ユーザーが自動的に選択されます。
付与するシステムポリシーを選択します。
[権限の付与] をクリックします。
[閉じる] をクリックします。
カスタムポリシーを使用した権限付与
カスタムポリシーは、クラウドリソースに対する詳細なアクセスの制御を提供します。カスタムポリシーは、次の場合に必要です。
特定のクラスターへの権限を制限する場合
SDK ベースの開発でAPI レベルの権限コントロールを実装する
特定のクラスター ID に基づいてアクセスを制御する場合
カスタムポリシーを作成する前に、ポリシー言語の構造と構文をよく理解してください。詳細については、「ポリシー要素」をご参照ください。
ステップ 1: カスタムポリシーの作成
管理権限を持つ RAM ユーザーとして RAM コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。

[アクセス ポリシーの作成] ページで、[スクリプトエディター] タブをクリックし、ポリシードキュメントを入力します。
YOUR_CLUSTER_IDをターゲットクラスターの ID に置き換えます。{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/YOUR_CLUSTER_ID" ] } ], "Version": "1" }パラメーター
説明
Action
付与する権限。すべてのアクションはワイルドカード文字 (*) をサポートしています。
Resource
単一クラスターへの権限付与
"Resource": [ "acs:cs:*:*:cluster/<span class="var-span" contenteditable="true" data-var="YOUR_CLUSTER_ID">YOUR_CLUSTER_ID"</span> ]複数クラスターへの権限付与
"Resource": [ "acs:cs:*:*:cluster/<span class="var-span" contenteditable="true" data-var="YOUR_CLUSTER_ID_1">YOUR_CLUSTER_ID_1"</span>, "acs:cs:*:*:cluster/<span class="var-span" contenteditable="true" data-var="YOUR_CLUSTER_ID_2">YOUR_CLUSTER_ID_2"</span> ]すべてのクラスターへの権限付与
"Resource": [ "*" ]
[ポリシーの作成] ページで、[OK] をクリックします。
「ポリシーの作成」ダイアログボックスで、[ポリシー名] および [説明] を入力し、「[OK]」をクリックします。
ステップ 2: カスタムポリシーを RAM ユーザーまたは RAM ロールに付与
カスタムポリシーを付与する手順は、システムポリシーを付与する場合と同じです。ポリシーを選択する際は、作成したカスタムポリシーを選択します。詳細については、「システムポリシーを使用した権限付与」をご参照ください。
カスタムポリシーの権限付与例
例 1: 特定のクラスターへの読み取り専用権限付与
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/YOUR_CLUSTER_ID"
]
}
],
"Version": "1"
}例 2: 特定の OSS バケットへの読み取り権限付与
YOUR_OSS_BUCKET_NAME をターゲット OSS バケットの名前に置き換えます。{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketStat",
"oss:GetBucketInfo",
"oss:GetBucketTagging",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:*"
},
{
"Effect": "Allow": [
"oss:ListObjects",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:<span class="var-span" contenteditable="true" data-var="YOUR_OSS_BUCKET_NAME">YOUR_OSS_BUCKET_NAME"</span>
},
{
"Effect": "Allow": [
"oss:GetObject",
"oss:GetObjectAcl"
],
"Resource": "acs:oss:*:*:<span class="var-span" contenteditable="true" data-var="YOUR_OSS_BUCKET_NAME">YOUR_OSS_BUCKET_NAME/*"</span>
}
]
}例 3: クラスターレベルの制限をサポートしない OpenAPI 操作への権限付与
一部の OpenAPI 操作 (例: DescribeEvents) は、クラスターレベルの権限付与をサポートしていません。これらの操作では、Resource 要素にクラスター ID を指定しないでください。
変更前の RAM アクセスポリシー | 変更後の RAM アクセスポリシー |
| |
次のステップ
RAM 権限付与後、クラスター内の Kubernetes リソースにアクセスするために RBAC 権限付与を構成します。詳細については、「RBAC を使用してクラスター内のリソースに対する操作を承認する」をご参照ください。
他の Alibaba Cloud サービスにアクセスする ACK クラスター内のアプリケーションのセキュリティを向上させるには、RRSA を使用して ServiceAccount の RAM 権限を構成し、Pod 権限を分離します。詳細については、「RRSA を使用して ServiceAccount の RAM 権限を構成し、Pod 権限を分離する」をご参照ください。
詳細な RAM 権限付与の詳細については、「タグを使用した詳細な権限管理を実装する」および「ACK マネージドクラスターの Worker RAM ロールの権限を手動で集約する」をご参照ください。
権限付与の問題については、「権限管理のよくある質問」をご参照ください。