このトピックでは、タグを使用してリソースアクセス管理 (RAM) ユーザーにApsaraDB RDSインスタンスへのアクセスをグループ単位で許可する方法について説明します。 承認後、RAMユーザーはタグ付きリソースのみを表示および管理できます。
背景情報
この例では、10個のApsaraDB RDSインスタンスがあります。 開発者チームに5つのインスタンスを管理し、オペレーターチームに他の5つのインスタンスを管理する権限を付与する必要があります。 ただし、各チームが管理を許可したインスタンスのみを各チームに表示させる必要があります。
この場合、developerとoperatorという名前の2つのRAMユーザーグループを作成できます。
policyForDevTeamとpolicyForOpsTeamという名前の2つのカスタムポリシーを作成できます。
次のタグを作成する必要があります。
5つのApsaraDB RDSインスタンスに追加されるタグ。 タグキーはteamで、タグ値はdevです。
他の5つのApsaraDB RDSインスタンスに追加されるタグ。 タグキーはteamで、タグ値はopsです。
手順
タグを使用してグループごとにApsaraDB RDSインスタンスへのアクセスを許可する手順は、タグを使用してグループごとにECSインスタンスへのアクセスを許可する手順と同じです。 詳細については、「タグを使用してグループごとにECSインスタンスにアクセスを許可する」をご参照ください。
チームを承認するには、次の2つのカスタムポリシーを作成する必要があります。
RAMユーザーグループ開発者
{ "Statement": [ { "Action": "rds:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "rds:ResourceTag/team": "dev" } } }, { "Action": "rds:DescribeTag*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }RAMユーザーグループ演算子
{ "Statement": [ { "Action": "rds:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "rds:ResourceTag/team": "ops" } } }, { "Action": "rds:DescribeTag*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
各ポリシーは2つの部分で構成されています。
Conditionを含む"Action":"rds:*"部分は、team:devまたはteam:opsタグが追加されたApsaraDB RDSインスタンスを指定します。"Action": "rds:DescribeTag *"パーツは、RAMユーザーがApsaraDB RDS内のすべてのタグを照会することを許可します。 RAMユーザーがApsaraDB RDSコンソールにログインすると、既存のすべてのタグが表示されます。 RAMユーザーは、タグが追加されたApsaraDB RDSインスタンスを表示するには、タグキーの値を選択する必要があります。
よくある質問
タグを使用してグループごとにRAMユーザーにApsaraDB RDSインスタンスへのアクセスを許可した後に権限エラーが発生した場合は、次の条件を満たしているかどうかを確認します。
タグがApsaraDB RDSインスタンスに追加されます。
ポリシーで指定されたタグキーと値は、ApsaraDB RDSインスタンスに追加されたタグと同じキーと値を持ちます。
説明ApsaraDB RDSのタグのキーと値には大文字を使用できません。 タグの作成時に大文字を入力すると、ApsaraDB RDSは大文字を小文字に変換します。
必要なポリシーはRAMユーザーにアタッチされます。
ApsaraDB RDSコンソールで選択されたリージョンは、ApsaraDB RDSインスタンスが存在するリージョンです。
インスタンスをフィルタリングするための対応するタグ値が選択されます。
RAMユーザーがApsaraDB RDSコンソールにログインすると、コンソールから「この操作を実行する権限がありません」というメッセージが返されます。エラーメッセージを閉じます。 このメッセージは、すべてのApsaraDB RDSインスタンスがデフォルトで表示されている場合に表示されます。 ただし、RAMユーザーはすべてのApsaraDB RDSリソースを表示する権限がありません。