ロールベースのアクセス制御 (RBAC) は、ユーザーのロールに基づいてリソースへのアクセスを制御します。クラスターロールに複数の権限を付与し、ロールごとに異なる権限ポリシーを設定して、アカウントのセキュリティを向上させることができます。このトピックでは、Alibaba Cloud Container Compute Service (ACS) クラスターで Resource Access Management (RAM) ユーザーまたは RAM ロールに RBAC 権限を付与する方法について説明します。
構成
項目 | 説明 |
デフォルトの権限 |
|
認証方法 |
説明 RAM ユーザーまたは RAM ロールに権限を付与する前に、RAM コンソールで、指定されたクラスターに対する読み取り専用権限が RAM ユーザーまたは RAM ロールに付与されていることを確認してください。 |
認証モデル | 一度に 1 人以上の RAM ユーザーまたは RAM ロールに権限を付与できます。 |
データセキュリティを確保するため、ACS コンソールで RAM ユーザーまたは RAM ロールにアタッチされている RAM ポリシーを変更することはできません。認証ページの説明を読み、RAM コンソールにログインしてから、RAM ポリシーを変更する必要があります。
RAM ユーザーまたは RAM ロールに RBAC 権限を付与する
ACS コンソールにログインします。左側のナビゲーションペインで、権限管理をクリックします。
RAMユーザーの選択手順で、権限管理ページの権限を付与します。
重要ACS クラスターは ACK Serverless クラスターの一種です。ACK コンソールで RAM ユーザーまたは RAM ロールにすべてのクラスターを管理する権限を付与すると、RAM ユーザーまたは RAM ロールは ACS クラスターを管理する権限を与えられ、ACS コンソールで ACS クラスターに対する権限を RAM ユーザーまたは RAM ロールに付与することはできません。
RAM ユーザーに権限を付与する
RAM ユーザータブをクリックします。管理する RAM ユーザーを探し、権限の変更をクリックして、ロールベースのアクセス制御 (RBAC) の構成手順に進みます。
RAM ロールに権限を付与する
RAM ロールタブをクリックします。管理するRAM ロールの名前を入力し、検索アイコンをクリックします。RAM ロールが表示されたら、権限の変更をクリックして、ロールベースのアクセス制御 (RBAC) の構成手順に進みます。
他のRAMユーザーまたはRAMロールに権限を付与するためにRAMユーザーまたはRAMロールを使用する場合、管理対象のクラスターに対する必要なRAM権限がRAMユーザーまたはRAMロールにあることを確認してください。詳細については、RAMを使用してクラスターとクラウド リソースへのアクセスを承認するを参照してください。さらに、RAMユーザーまたはRAMロールには、クラスターのcluster-adminロールまたはadministratorロールが割り当てられている必要があります。
ロールベースのアクセス制御 (RBAC) の構成ステップをクリックし、権限の追加をクリックしてクラスタースコープまたは名前空間スコープの権限を追加し、[権限管理] 列で定義済みロールまたはカスタムロールを選択し、次のステップをクリックします。
説明ACS は、管理者、O&M エンジニア、開発者、制限付きユーザーという定義済みロールを提供しています。これらのロールを使用して、ほとんどのシナリオで ACS コンソールのリソースへのアクセスを制御できます。また、カスタムロールを使用して、ビジネス要件に基づいてクラスターに対する権限を定義することもできます。
RAM ユーザーまたは RAM ロールに、クラスターまたは名前空間の定義済みロール 1 つとカスタムロール複数を割り当てることができます。
RAM ユーザーまたは RAM ロールにすべてのクラスター (新しく作成されたクラスターを含む) を管理する権限を付与する場合は、定義済みロールを RAM ユーザーまたは RAM ロールに割り当てるときに、[クラスター] 列で [すべてのクラスター] を選択します。
認証の送信ステップで、ページの指示に従います。
認証が完了しましたと表示されている場合は、RBAC ロールが RAM ユーザーまたは RAM ロールに割り当てられています。
エラーメッセージが返された場合は、RBAC ロールは RAM ユーザーまたは RAM ロールに割り当てられていません。返されたページの指示を読み、RAM コンソールにログオンし、クラスターに対する読み取り専用権限を RAM ユーザーまたは RAM ロールに付与する必要があります。
認証の送信ステップで、コピーをクリックし、ポリシー管理をクリックして、RAM コンソールの ポリシーの作成ページに移動します。
JSON タブで、前の手順でコピーしたコンテンツを貼り付けて元の ポリシーコンテンツを置き換え、ポリシー情報を編集するには、[次へ] をクリックしますをクリックし、OK をクリックします。
RAM コンソールの左側のナビゲーションペインで、
を選択します。管理する RAM ユーザーを見つけ、[アクション] 列の 権限の追加をクリックします。権限の追加パネルで、認証スコープを設定し、カスタムポリシーを選択し、作成したポリシーを検索します。ポリシー名をクリックして、ポリシーをページ右側の 選択済みセクションに移動します。次に、OK をクリックします。ポリシーがアタッチされたら、完了をクリックします。
ACS コンソールに戻ります。認証の送信ステップで、認証の送信をクリックして、RBAC ロールを RAM ユーザーまたは RAM ロールに割り当てます。
認証が完了すると、RAM ユーザーまたは RAM ロールとして ACK コンソールにログオンし、指定されたクラスターを管理できます。
他の RAM ユーザーまたは RAM ロールに RBAC 権限を付与するために RAM ユーザーまたは RAM ロールを使用する
デフォルトでは、RAM ユーザーまたは RAM ロールを使用して他の RAM ユーザーまたは RAM ロールに RBAC 権限を付与することはできません。RAM ユーザーまたは RAM ロールを使用して他の RAM ユーザーまたは RAM ロールに RBAC 権限を付与するには、まず Alibaba Cloud アカウントまたはすべてのクラスターの管理者ロールが割り当てられている RAM ユーザーを使用して、必要な権限を RAM ユーザーまたは RAM ロールに付与する必要があります。
RAM 権限
RAM ポリシーを RAM ユーザーまたは RAM ロールにアタッチする必要があります。RAM ポリシーは、以下の権限を提供する必要があります。
同じ Alibaba Cloud アカウントに属する他の RAM ユーザーを表示する権限。
他の RAM ユーザーまたは RAM ロールに RAM ポリシーをアタッチする権限。
ACK クラスターに関する情報を表示する権限。
RBAC ロールの権限を表示する権限。
他の RAM ユーザーまたは RAM ロールに RBAC ロールを割り当てる権限。
RAM コンソールにログオンし、以下の内容に基づいて RAM ポリシーを作成し、RAM ユーザーまたは RAM ロールにアタッチします。詳細については、RAM を使用してクラスターとクラウド リソースへのアクセスを承認するを参照してください。
xxxxxx
は、RAM ユーザーまたは RAM ロールが他の RAM ユーザーまたは RAM ロールにアタッチすることを承認する RAM ポリシーの名前に置き換えます。xxxxxx をアスタリスク (*) に置き換えると、RAM ユーザーまたは RAM ロールはすべての RAM ポリシーを他の RAM ユーザーまたは RAM ロールにアタッチすることが許可されます。Resource フィールドのアスタリスク (*) は、UID に属するすべてのリソースに対してアクションを実行する権限を付与します。ACK API (cs:*) には、ACS クラスターを除くすべての ACK クラスターに対する操作権限が含まれています。権限を付与する際は注意してください。
{
"Statement": [{
"Action": [
"ram:Get*",
"ram:List*",
"cs:DescribeClustersV1",
"cs:GrantPermission"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ram:AttachPolicyToUser",
"ram:AttachPolicy"
],
"Effect": "Allow",
"Resource": [
"acs:ram:*:*:policy/xxxxxx",
"acs:*:*:*:user/*"
]
}
],
"Version": "1"
}
RAM ポリシーが RAM ユーザーまたは RAM ロールにアタッチされた後、RAM ユーザーまたは RAM ロールを使用して、指定された RAM ポリシーを他の RAM ユーザーまたは RAM ロールにアタッチできます。
RBAC 権限
上記の RAM ポリシーを RAM ユーザーまたは RAM ロールにアタッチした後、管理者ロールまたはcluster-admin ロールを RAM ユーザーまたは RAM ロールに割り当てて、RAM ユーザーまたは RAM ロールが指定されたクラスターまたは名前空間にアクセスできるようにする必要があります。詳細については、RBAC を使用してクラスター内のリソースに対する操作権限を管理するを参照してください。
RAM ユーザーまたは RAM ロールを権限管理者として設定する
RAM ユーザーまたは RAM ロールを権限管理者として設定すると、その RAM ユーザーまたは RAM ロールを使用して、他の RAM ユーザーまたは RAM ロールに権限を付与できます。
RAM コンソールにログインし、使用する RAM ユーザーまたは RAM ロールを見つけます。
RAM ユーザー
RAM コンソールの左側のナビゲーションペインで、
を選択します。使用する RAM ユーザーを見つけ、アクション列の権限の追加をクリックします。RAM ロール
RAM コンソールの左側のナビゲーションペインで、
を選択します。使用する RAM ロールを見つけ、アクション列の権限の追加をクリックします。
権限の追加パネルで、認可スコープを設定し、システムポリシーを選択し、AliyunRAMFullAccess ポリシーと AliyunACCFullAccess ポリシーを検索します。各ポリシーの名前をクリックして、ページの右側の選択済みセクションにポリシーを移動します。次に、OK をクリックします。ポリシーがアタッチされたら、完了をクリックします。
ACS コンソールにログインし、RAM ユーザーまたは RAM ロールに管理者ロールを割り当て、RAM ユーザーまたは RAM ロールがすべてのクラスターにアクセスできるようにします。
詳細については、このトピックのRAM ユーザーまたは RAM ロールに RBAC 権限を付与するセクションを参照してください。
上記の手順が完了すると、RAM ユーザーまたは RAM ロールは権限管理者として設定されます。この RAM ユーザーまたは RAM ロールを使用して、他の RAM ユーザーまたは RAM ロールに RAM 権限と RBAC 権限を付与できます。
権限不足のエラーコード
ACSコンソールを使用する場合、またはACS APIを呼び出して操作を実行する場合に必要な権限がない場合、ACSコンソールまたはAPIは、必要な権限を示すエラーコードを返します。次の表は、クラスターに必要なRBAC権限を示すエラーコードについて説明しています。
エラーコードまたはエラーメッセージ | クラスターに必要なRBAC権限 |
ForbiddenCheckControlPlaneLog | 管理者またはO&Mエンジニアの権限。 |
ForbiddenHelmUsage | 管理者権限。 |
ForbiddenRotateCert | 管理者権限。 |
ForbiddenQueryClusterNamespace | 管理者、O&Mエンジニア、開発者、または制限付きユーザーの権限。 |