RAM 権限付与は、Alibaba Cloud Resource Name (ARN) ベースの権限付与、リソースグループベースの権限付与、タグベースの権限付与など、複数のメソッドをサポートしており、詳細な管理を実現します。この Topic では、指定された RDS インスタンスに対する読み取り専用権限を RAM ユーザーに付与する方法について説明します。
前提条件
RAM ユーザーが作成されていること。RAM ユーザーの作成方法については、「RAM ユーザーを作成する」をご参照ください。
権限付与方法
ARN ベースの権限付与
説明: ARN ベースの権限付与を使用すると、特定の RDS インスタンスに読み取り専用権限を正確に割り当てることができます。
シナリオ: 単一の RDS インスタンスまたは少数の RDS インスタンスに対するきめ細かい権限制御に適しています。
例: 開発環境における特定のデータベースインスタンス。
リソースグループベースの権限付与
説明: リソースグループベースの権限付与を使用すると、リソースグループに追加された複数の RDS インスタンスに対して一度に同じ権限を付与できます。
シナリオ: 同じ特性を持つ RDS インスタンスに一度に権限を付与する場合に適しています。
例: 複数の RDS インスタンスが異なるリージョンまたはプロジェクトに存在するが、同じセキュリティポリシーを必要とする場合、RDS インスタンスをリソースグループに追加し、リソースグループ内のすべての RDS インスタンスに読み取り専用権限を指定できます。
タグベースの権限付与
説明: タグベースの権限付与を使用すると、RDS インスタンスに追加されたタグのキーと値に基づいて、動的に権限を付与できます。
シナリオ: ビジネス属性とメタデータに基づく柔軟な権限管理に適しています。
例:
env=prod
、env=test
、project=finance
など、異なるタグを持つ複数の RDS インスタンスを作成します。タグベースの権限付与を使用すると、特定のユーザーが特定のタグを持つ RDS インスタンスのみにアクセスできるようにすることができます。RDS インスタンスごとに権限を設定する必要はありません。
手順
以下の操作は、Alibaba Cloud アカウントを使用して実行する必要があります。
方法 1: ARN ベースの権限付与
ARN ベースの権限付与とは、ポリシーの作成時にリソース ARN を使用して、権限を付与する 1 つ以上のオブジェクトを指定することを意味します。これにより、特定のリソースに対する正確なアクセスコントロールを実装できます。リソース ARN の詳細については、「ポリシー要素」をご参照ください。
ポリシーを作成します。
RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
表示されたページで、[ポリシーの作成] をクリックします。
表示されたページで、[ビジュアルエディタ] タブまたは [JSON] タブをクリックします。
ビジュアルエディタ
[効果] パラメータを [許可] に設定し、[サービス] パラメータを [apsaradb RDS] に設定します。
[操作] パラメータを [操作を選択] に設定します。次に、Describe 関連の読み取り操作を追加します。Describe を検索し、関連する操作を選択できます。
重要多数のアクションを選択したためにポリシードキュメントの長さが制限を超えた場合は、チケットを送信して長さ制限を変更してください。
[リソース] パラメーターを [指定リソース] に設定します。ARN は
acs:rds:{#regionId}:{#accountId}:dbinstance/{#dbinstanceId}
のフォーマットです。リソース追加ダイアログボックスで、[リソース] パラメーターを、ポリシーを適用する RDS インスタンスに設定する必要があります。[条件] パラメーターは空のままにします。[ステートメントを追加] をクリックします。[効果] パラメータを [許可] に設定し、[サービス] パラメータを [apsaradb RDS] に設定します。
[操作] パラメータを [rds:describedbinstances] に設定します。[リソース] パラメータを [すべてのリソース] に設定し、[条件] パラメータは空のままにします。
JSON
コードエディタに次のコードスニペットを入力します。
{ "Statement": [ { "Effect": "Allow", "Action": "rds:Describe*", "Resource": "acs:rds:*:*:dbinstance/RDS インスタンスの ID" }, { "Effect": "Allow", "Action": "rds:DescribeDBInstances", "Resource": "*" } ], "Version": "1" }
[OK] をクリックします。[ポリシーの作成] ダイアログボックスで、[名前] パラメータと [説明] パラメータを設定します。設定を確認し、[OK] をクリックします。
カスタムポリシーを RAM ユーザーにアタッチします。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。
カスタムポリシーをアタッチする RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[リソーススコープ] パラメータを作成したリソースグループに設定します。[ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、作成したポリシーを検索して選択します。
[権限の付与] をクリックします。
RAM ユーザーとして ApsaraDB RDS コンソールにログインし、RDS インスタンスを表示します。
[インスタンス] ページに移動します。上部のナビゲーションバーでリージョンを選択し、そのリージョンにある RDS インスタンスを表示します。
承認された RDS インスタンスの ID をクリックして、インスタンスに関する情報を表示します。
説明この権限付与方法を使用すると、RAM ユーザーは [インスタンス] ページのすべての RDS インスタンスを表示できますが、承認されたインスタンスの情報のみを表示できます。承認されていない他のインスタンスを表示しようとすると、RAM ユーザーに十分な権限がないことを示すメッセージが表示されます。
RDS インスタンスに対する読み取り専用権限が RAM ユーザーに付与されます。ビジネス要件に基づいて、RAM ユーザーに他の権限を付与することもできます。
方法 2: リソースグループベースの権限付与
リソースグループベースの権限付与とは、権限を付与するリソースをリソースグループに追加することを意味します。RAM ユーザーに権限を付与する場合、承認されたリソースが属するリソースグループを指定することで、指定されたリソースグループ内のすべてのリソースに対する正確なアクセスコントロールを実装できます。
リソースグループを作成します。
リソース管理コンソールにログインします。左側のナビゲーションウィンドウで、[リソースグループ] > [リソースグループ] を選択します。
[リソースグループの作成] をクリックします。表示されたダイアログボックスで、[リソースグループ ID] パラメータと [リソースグループ名] パラメータを設定し、[OK] をクリックします。
必要な RDS インスタンスを新しいリソースグループに追加します。
必要な RDS インスタンスが追加されているリソースグループを見つけます。次に、リソースグループの [操作] 列にある [リソースの管理] をクリックします。この例では、必要な RDS インスタンスは [デフォルトのリソースグループ] に追加されています。
インスタンス ID で必要な RDS インスタンスを見つけ、インスタンスを選択し、[リソースグループの転送] をクリックします。
[転送アウト] パネルで、手順 1 で作成したリソースグループを選択し、[OK] をクリックします。
表示されたパネルで、[OK] をクリックします。
作成したリソースグループに必要な RDS インスタンスが見つかった場合、インスタンスのリソースグループが転送されます。
ポリシーを作成します。
RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
表示されたページで、[ポリシーの作成] をクリックします。
表示されたページで、[ビジュアルエディタ] タブまたは [JSON] タブをクリックします。
ビジュアルエディタ
[効果] パラメータを [許可] に設定し、[サービス] パラメータを [apsaradb RDS] に設定します。
[操作] パラメータを [操作を選択] に設定します。次に、Describe 関連の読み取り操作を追加します。Describe を検索し、関連する操作を選択できます。
重要多数のアクションを選択したためにポリシードキュメントの長さが制限を超えた場合は、チケットを送信して長さ制限を変更してください。
[リソース] パラメータを [すべてのリソース] に設定し、[条件] パラメータは空のままにします。
JSON
コードエディタに次のコードスニペットを入力します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": "*" } ] }
[OK] をクリックします。[ポリシーの作成] ダイアログボックスで、[名前] パラメータと [説明] パラメータを設定します。設定を確認し、[OK] をクリックします。
カスタムポリシーを RAM ユーザーにアタッチします。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。
カスタムポリシーをアタッチする RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[リソーススコープ] パラメータを作成したリソースグループに設定します。[ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、作成したポリシーを検索して選択します。
[完了] をクリックします。
RAM ユーザーとして ApsaraDB RDS コンソールにログインし、RDS インスタンスを表示します。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。
手順 1 で作成したリソースグループを選択して、必要な RDS インスタンスを表示します(次の図を参照)。
RDS インスタンスに対する読み取り専用権限が RAM ユーザーに付与されます。ビジネス要件に基づいて、RAM ユーザーに他の権限を付与することもできます。
方法 3: タグベースの権限付与
タグベースの権限付与とは、権限を付与する必要があるリソースにタグを追加することを意味します。ポリシーを作成すると、ポリシーはタグが追加されたリソースにのみ適用されます。このようにして、リソースに対する正確なアクセスコントロールを実装できます。
RDS インスタンスにカスタムタグを追加します。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけます。
[タグ] 列で、
アイコンをクリックします。次に、[編集] をクリックします。
[タグキー] パラメータと [タグ値] パラメータを設定します。次に、[OK] をクリックします。
この例では、[タグキー] パラメーターは
test-ram
に設定され、[タグ値] パラメーターはrds-mysql
に設定されています。これらのパラメーターは意味のある値に設定することをお勧めします。[タグ] 列に次の情報が表示されている場合、カスタムタグが RDS インスタンスに追加されています。
ポリシーを作成します。
RAM コンソールにログインします。
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
表示されたページで、[ポリシーの作成] をクリックします。
表示されたページで、[ビジュアルエディタ] タブまたは [JSON] タブをクリックします。
ビジュアルエディタ
[効果] パラメータを [許可] に設定し、[サービス] パラメータを [apsaradb RDS] に設定します。
[操作] パラメータを [操作を選択] に設定します。次に、Describe 関連の読み取り操作を追加します。Describe を検索し、関連する操作を選択できます。
重要多数のアクションを選択したためにポリシードキュメントの長さが制限を超えた場合は、チケットを送信して長さ制限を変更してください。
[リソース] パラメータを [すべてのリソース] に設定します。[条件の追加] をクリックします。表示されたダイアログボックスで、[キー] パラメータ、[演算子] パラメータ、[値] パラメータを設定します。
説明[キー] パラメーターの値は
rds:ResourceTag
に固定されています。[オペレーター] パラメーターの値はStringEquals
に固定されています。キーと [値] パラメーターの値は、ステップ 1 で RDS インスタンスに追加されたタグの [タグキー] および [タグ値] パラメーターの値と同じである必要があります。
JSON
コードエディタに次のコードスニペットを入力します。
説明コードスニペットでは、
test-ram
とrds-mysql
は参照用にのみ使用されています。これらの値は、手順 1 で RDS インスタンスに追加されたタグの [タグキー] パラメーターと [タグ値] パラメーターの値に置き換える必要があります。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "rds:Describe*" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "rds:ResourceTag/test-ram": [ "rds-mysql" ] } } } ] }
[OK] をクリックします。[ポリシーの作成] ダイアログボックスで、[名前] パラメータと [説明] パラメータを設定します。設定を確認し、[OK] をクリックします。
カスタムポリシーを RAM ユーザーにアタッチします。
左側のナビゲーションウィンドウで、[ID] > [ユーザー] を選択します。
カスタムポリシーをアタッチする RAM ユーザーを見つけ、[操作] 列の [権限の追加] をクリックします。
[リソーススコープ] パラメータを作成したリソースグループに設定します。[ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択し、作成したポリシーを検索して選択します。
[完了] をクリックします。
RAM ユーザーとして ApsaraDB RDS コンソールにログインし、RDS インスタンスを表示します。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。
[タグでフィルタ] 機能を使用して、手順 1 で RDS インスタンスに追加されたタグを検索し、RDS インスタンスを表示します。
RDS インスタンスに対する読み取り専用権限が RAM ユーザーに付与されます。ビジネス要件に基づいて、RAM ユーザーに他の権限を付与することもできます。