このトピックでは、カスタムポリシーを使用して Resource Access Management (RAM)ユーザーに PolarDB の管理を承認する方法について説明します。 RAM によって提供されるシステムポリシーがビジネス要件を満たしていない場合は、PolarDB の権限を管理するためのカスタムポリシーを作成できます。 たとえば、特定のリソースと操作に対する権限を付与するカスタムポリシーを作成できます。
前提条件
RAM を使用して権限を管理する前に、Alibaba Cloud アカウントが作成されていることを確認してください。 まだ作成していない場合は、Alibaba Cloud へのサインアップ ページにアクセスしてください。
背景情報
ポリシーは、ポリシーの構造と構文に基づいて記述される一連の権限を定義します。 ポリシーは、承認されたリソースセット、承認された操作セット、および承認条件を記述します。 詳細については、「ポリシーの構造と構文」をご参照ください。
詳細な PolarDB 権限管理にカスタムポリシーを使用する前に、ポリシーで RAM ユーザーに PolarDB リソースを指定する方法をよく理解しておいてください。 詳細については、「RAM を使用したリソース承認」をご参照ください。
権限をカスタマイズしたり、テーブルに特定の権限を付与したりするには、Database Management Service(DMS)の権限管理機能を使用できます。 詳細については、「MySQL データベースのユーザー権限を管理する」をご参照ください。
手順
カスタムポリシーを作成します。 詳細については、「カスタムポリシーを作成する」をご参照ください。
カスタムポリシーの例:
特定のクラスターへのアクセスを制限する
Alibaba Cloud アカウント内に複数の PolarDB クラスターがあると想定します。 ID が i-001 と i-002 の 2 つのクラスターのみを使用する権限を RAM ユーザーに付与する場合、次のポリシーを作成できます。
{ "Statement": [ { "Action": "polardb:*", "Effect": "Allow", "Resource": [ "acs:polardb:*:*:*/i-001", "acs:polardb:*:*:*/i-002" ] }, { "Action": "polardb:Describe*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }説明権限を与えられた RAM ユーザーは、すべてのクラスターとリソースを表示できますが、ID が i-001 と i-002 の 2 つのクラスターのみを管理できます。 API 操作、コマンドラインインターフェイス(CLI)、またはソフトウェア開発キット(SDK)を使用して、2 つのクラスターを管理することもできます。
ポリシーには
Describe*を含める必要があります。 そうしないと、権限を与えられた RAM ユーザーは PolarDB コンソールでクラスターを表示できません。
特定の機能へのアクセスを制限する
PolarDB の一部の機能のみを使用する権限を RAM ユーザーに付与する場合、次のポリシーを作成できます。
{ "Statement": [ { "Action": [ "polardb:Describe*", "polardb:CreateBackup", "polardb:DeleteBackup", "polardb:ModifyDBClusterAccessWhitelist" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }説明権限を与えられた RAM ユーザーは、アカウント内のすべての PolarDB クラスターについて、クラスター情報とバックアップのクエリ、バックアップの作成と削除、ホワイトリストの変更のみを実行できます。
PolarDB では、RAM ユーザーが PolarDB リソースに対して特定の操作を実行できるかどうかを指定できます。 詳細な PolarDB 権限管理のために、ポリシーで API 操作を指定できます。 詳細については、「RAM と連携するサービス 」をご参照ください。
IP アクセスを制限する
ターゲット RAM ユーザーの IP アクセスを制限する場合、次の権限ポリシーを作成できます。
{ "Version": "1", "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Condition": { "IpAddress": { "acs:SourceIp": [ "xxx.xxx.x.x" ] } } } ] }説明ポリシーがアタッチされている RAM ユーザーは、承認された IP アドレスからのみ、アカウント内のすべての PolarDB クラスターを管理できます。
acs:SourceIp パラメーターの値を環境の IP アドレスに変更します。
TDE ステータスを制限する
クラスターの作成時に RAM ユーザーの TDE ステータスを制限する場合は、次の権限ポリシーを作成します。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": "polardb:*", "Resource": "*", "Condition": { "Bool": { "polardb:EncryptionRequired": [ "false" ] } } } ] }カスタムポリシーを RAM ユーザーにアタッチします。 詳細については、「RAM ユーザーに権限を付与する」をご参照ください。