デフォルトでは、Resource Access Management (RAM) ユーザーまたは RAM ロールは、Alibaba Cloud サービスの API を呼び出す権限を持っていません。Container Service for Kubernetes (ACK) および Alibaba Cloud Container Compute Service (ACS) の API を使用し、ACS コンソールでクラスターを表示するには、RAM ユーザーまたは RAM ロールに権限を付与する必要があります。このトピックでは、システムポリシーまたはカスタムポリシーを使用して、RAM ユーザーまたは RAM ロールに権限を付与する方法について説明します。
前提条件
カスタムポリシーを作成する前に、ポリシー要素、構造、および構文の基本的な知識が必要です。詳細については、「ポリシー要素」をご参照ください。
システムポリシー
システムポリシーをアタッチする: この方法を使用すると、RAM ユーザーまたは RAM ロールに、現在の Alibaba Cloud アカウントに属するすべてのクラスターに対する読み取りおよび書き込み権限を付与できます。Alibaba Cloud に属するすべての ACK クラスターに対する O&M 権限を付与するには、システムポリシーを使用することをお勧めします。
RAM ユーザーまたは RAM ロールにシステムポリシーをアタッチする
Alibaba Cloud アカウントは、アカウント内のリソースに対する完全な管理権限を持っています。 RAM ユーザーを作成し、AdministratorAccess ポリシーをアタッチできます。その後、RAM ユーザーをアカウント管理者として使用して、Alibaba Cloud アカウントに属するすべてのクラウド リソースを管理できます。詳細については、「アカウント管理者として RAM ユーザーを作成する」をご参照ください。
RAM 管理者として RAM コンソール にログインします。
左側のナビゲーションペインで、 を選択します。
[ユーザー] ページで、必要な RAM ユーザーを見つけ、権限の追加[アクション] 列の をクリックします。

複数の RAM ユーザーを選択し、ページの下部にある [権限の追加] をクリックして、一度に複数の RAM ユーザーに権限を付与することもできます。
[権限の付与] パネルで、RAM ユーザーに権限を付与します。
[リソーススコープ] パラメーターを設定します。
[アカウント]: 認証は現在の Alibaba Cloud アカウントに有効です。
[リソースグループ]: 認証は特定のリソースグループに有効です。
重要[リソーススコープ] パラメーターで [リソースグループ] を選択した場合は、必要なクラウドサービスがリソースグループをサポートしていることを確認してください。詳細については、「リソースグループで動作するサービス」をご参照ください。リソースグループに権限を付与する方法の詳細については、「リソースグループを使用して RAM ユーザーに特定の ECS インスタンスを管理する権限を付与する」をご参照ください。
プリンシパルパラメーターを設定します。
プリンシパルは、権限を付与する RAM ユーザーです。現在の RAM ユーザーが自動的に選択されます。
アタッチするシステムポリシーを選択します。
[権限の付与] をクリックし、次に [閉じる] をクリックします。
カスタムポリシー
ACK によって提供されるシステムポリシーは粗粒度です。システムポリシーが要件を満たしていない場合は、カスタムポリシーを作成して、ACK クラスターに対してきめ細かいアクセス制御を実装できます。たとえば、指定されたクラスターに対する操作権限を制御する場合、きめ細かい管理のためにこの要件を満たすカスタムポリシーを作成する必要があります。
手順 1: カスタムポリシーを作成する
RAM 管理者として RAM コンソール にログインします。
左側のナビゲーションペインで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。

[ポリシーの作成] ページで、[JSON] タブをクリックし、ポリシーの内容を入力します。
{ "Statement": [{ "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/Cluster ID" // クラスター ID を指定します ] }], "Version": "1" }パラメーター
説明
Action
付与する権限。ワイルドカード文字がサポートされています。
Resource
Cluster IDをクラスターの実際の ID(cae93341766c843479ae986b3305xxxxxなど)に置き換えます。1 つのクラスターに権限を付与する
"Resource": [ "acs:cs:*:*:cluster/Cluster ID" ]複数のクラスターに権限を付与する
"Resource": [ "acs:cs:*:*:cluster/Cluster ID", "acs:cs:*:*:cluster/Cluster ID" ]すべてのクラスターに権限を付与する
"Resource": [ "*" ]
内容を入力した後、[OK] をクリックします。表示されるダイアログボックスで、ポリシー名を入力し、[OK] をクリックしてポリシーを作成します。
[ポリシー] ページに戻り、ポリシーの名前または説明を検索ボックスに入力して、ポリシーを検索できます。
手順 2: カスタムポリシーを RAM ユーザーまたは RAM ロールにアタッチする
システムポリシーをアタッチするのと同じ方法で、カスタムポリシーをアタッチできます。詳細については、「RAM ユーザーまたは RAM ロールにシステムポリシーをアタッチする」をご参照ください。
例
RAM ユーザーまたは RAM ロールにクラスター固有ではない API オペレーションを呼び出す権限を付与する
DescribeEvents などのクラスター固有ではない API オペレーションを呼び出す権限を RAM ユーザーまたは RAM ロールに付与する場合は、ポリシーコンテンツの Resource フィールドにクラスター ID を指定しないでください。
次のコードブロックは、現在の RAM ポリシーを示しています。
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/Cluster ID" // クラスター ID を指定します
]
}
],
"Version": "1"
}DescribeEvents オペレーションを呼び出す権限を付与するには、次のコードブロックに示すように、対応する RAM アクション cs:DescribeEvents を RAM ポリシーに追加する必要があります。
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/Cluster ID" // クラスター ID を指定します
]
}
],
"Version": "1"
}次のステップ
このトピックの手順を完了した後、RAM ユーザーまたは RAM ロールがクラスター内の内部リソースを管理できるように、Kubernetes リソースに対する RBAC 権限を付与する必要があります。詳細については、「RAM ユーザーまたは RAM ロールに RBAC 権限を付与する」をご参照ください。
RAM ユーザーまたは RAM ロールに対して RBAC 認証を実行する前に、RAM ユーザーまたは RAM ロールが管理するクラスターに対する読み取り専用権限を持っていることを確認してください。
{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/Cluster ID" // クラスター ID を指定します ] } ], "Version": "1" }