このトピックでは、RAMユーザーまたはRAMロールにContainer Compute Service (ACS) クラスターのクエリ、拡張、および削除を行うための権限を付与するカスタムポリシーを作成する方法について説明します。
前提条件
カスタムポリシーを作成する前に、ポリシーの要素、構造、および構文に関する基本的な知識が必要です。 詳細については、「ポリシー要素」をご参照ください。
背景情報
Alibaba Cloud Container Compute Service (ACS) によって提供されるシステムポリシーは粗粒度であり、ビジネス要件を満たせない場合があります。 ACS できめ細かい管理を実装するために、カスタムポリシーを作成できます。 たとえば、特定のクラスターに対する操作権限を制御する場合、この要件を満たしてきめ細かい管理を実現するためにカスタムポリシーを作成する必要があります。
ロールベースのアクセス制御 (RBAC) を使用して RAMユーザーまたは RAMロールにクラスターを管理するための権限を付与する前に、RAMコンソールで RAMユーザーまたは RAMロールにクラスターを管理するための権限を付与する必要があります。 ビジネス要件に基づいて、RAMユーザーまたはRAMロールにクラスターに対する読み取りおよび書き込み権限を付与できます。
読み取り権限:クラスター構成やkubeconfigファイルなど、特定のクラスターに関する基本情報を表示します。
書き込み権限:クラスターのスケーリングとアップグレード、クラスターからのノードの削除など、特定のクラスターを管理します。
RAMユーザーまたはRAMロールに対してRBAC認証を実行する前に、管理するクラスターに対する読み取り専用権限がRAMユーザーまたはRAMロールにあることを確認してください。
{
"Statement": [
{
"Action": [
"cs:Describe*" // Describe* アクションを許可します
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/Cluster ID" // クラスターIDを指定します
]
}
],
"Version": "1"
}RAMユーザーに必要なクラスターに対するRAM権限を付与した後、RBACを使用してRAMユーザーにクラスターリソースを管理するための権限を付与します。
カスタムポリシー
ACK によって提供されるシステムポリシーは粗粒度です。 システムポリシーが要件を満たせない場合は、カスタムポリシーを作成して ACK クラスターへのきめ細かいアクセス制御を実装できます。 たとえば、指定されたクラスターに対する操作権限を制御する場合は、きめ細かい管理のためにこの要件を満たすカスタムポリシーを作成する必要があります。
手順 1:カスタムポリシーを作成する
RAM管理者として RAMコンソール にログインします。
左側のナビゲーションペインで、 を選択します。
[ポリシー] ページで、[ポリシーの作成] をクリックします。

[ポリシーの作成] ページで、[JSON] タブをクリックし、ポリシーの内容を入力します。
{ "Statement": [{ "Action": [ "cs:Get*", // Get* アクションを許可します "cs:List*", // List* アクションを許可します "cs:Describe*", // Describe* アクションを許可します "cs:ScaleCluster", // ScaleCluster アクションを許可します "cs:DeleteCluster" // DeleteCluster アクションを許可します ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/Cluster ID" // クラスターIDを指定します ] }], "Version": "1" }パラメーター
説明
Action
付与する権限。 ワイルドカード文字がサポートされています。
Resource
Cluster IDをクラスターの実際の ID に置き換えます。1 つのクラスターに権限を付与する
"Resource": [ "acs:cs:*:*:cluster/Cluster ID" // 1つのクラスターIDを指定します ]複数のクラスターに権限を付与する
"Resource": [ "acs:cs:*:*:cluster/Cluster ID", // 複数のクラスターIDを指定します "acs:cs:*:*:cluster/Cluster ID" // 複数のクラスターIDを指定します ]すべてのクラスターに権限を付与する
"Resource": [ "*" // 全てのクラスターを指定します ]
[ポリシー情報の編集に進む] をクリックし、ポリシーの名前を入力して、[OK] をクリックします。
[ポリシー] ページに戻ると、ポリシーの名前または説明を検索ボックスに入力してポリシーを検索できます。
手順 2:カスタムポリシーを RAMユーザーまたは RAMロールにアタッチする
システムポリシーをアタッチするのと同じ方法で、カスタムポリシーをアタッチできます。 詳細については、「システムポリシーをRAMユーザーまたはRAMロールにアタッチする」をご参照ください。
参照
RAMユーザーまたはRAMロールにクラスター固有ではないACK API操作を呼び出す権限を付与する
DescribeEvents など、クラスター固有ではない ACK API 操作を呼び出す権限を RAMユーザーに付与する場合は、ポリシーコンテンツの Resource フィールドにクラスター ID を指定しないでください。
次のコードブロックは、現在のRAMポリシーを示しています。
{
"Statement": [
{
"Action": [
"cs:Describe*" // Describe* アクションを許可します
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/Cluster ID" // クラスターIDを指定します
]
}
],
"Version": "1"
}