Resource Access Management (RAM) ポリシーを使用して、ApsaraDB RDS インスタンスで RAM ユーザーが実行できる操作を制御します。このページでは、事前構築済みの JSON テンプレートからカスタム RAM ポリシーを作成し、RAM ユーザーにアタッチするまでの一連の手順を説明します。
以下の参照セクションにあるポリシーは、"Effect": "Deny" を Condition ブロックとともに使用してコンプライアンスガードレールを適用します。たとえば、ディスク暗号化なしでのインスタンス作成のブロックや、ユーザーによる SSL 暗号化の無効化の防止などです。明示的な Deny は、他の場所で付与されたいかなる Allow も上書きするため、より広範な権限が存在する場合でもこれらのポリシーは有効になります。
前提条件
開始する前に、以下をご確認ください。
-
権限を付与または制限したい RAM ユーザー
-
RAM コンソールへのアクセス
RAM ポリシーの作成とアタッチ
-
RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、[権限] > [ポリシー] を選択します。
-
[ポリシー] ページで、[ポリシーの作成] をクリックします。
-
[JSON] タブで、ポリシードキュメントを貼り付け、[OK] をクリックします。ポリシーの JSON は、以下の ApsaraDB RDS の RAM ポリシー セクションをご参照ください。ポリシーの構造と構文の詳細は、「ポリシーの構造と構文」をご参照ください。
-
[ポリシーの作成] ダイアログボックスで、[名前] と [説明] を設定し、[OK] をクリックします。ポリシー名は、次の要件を満たす必要があります。
-
1~128 文字
-
文字、数字、ハイフン (-) のみ
-
-
左側のナビゲーションウィンドウで、[権限] > [権限付与] を選択し、[権限の付与] をクリックします。次のように設定します。
-
[リソーススコープ]: [アカウント] を選択して Alibaba Cloud アカウント内のすべてのリソースに権限を適用するか、[リソースグループ] を選択してスコープを特定のリソースグループに限定します。
-
[プリンシパル]: RAM ユーザー名の一部を入力してあいまい一致で検索し、対象の RAM ユーザーを選択します。
-
[ポリシー] セクションで、ドロップダウンリストから [カスタムポリシー] を選択します。
-
ステップ 4 で作成したポリシーを検索して選択し、[OK] をクリックします。
[リソースグループ] を使用するには、ApsaraDB RDS がリソースグループをサポートしている必要があります。詳細は、「リソースグループと連携するサービス」をご参照ください。
検索ボックスにポリシー名の一部を入力すると、あいまい一致で検索できます。
-
ApsaraDB RDS の RAM ポリシー
各ポリシーは、"Effect": "Deny" と Condition を使用して、特定の非準拠アクションをブロックします。セキュリティ要件に合うポリシーを適用してください。
| 項目 | ポリシー | 説明 |
|---|---|---|
| インスタンス作成 | CreateRdsWithNonDiskEncryptionForbidden |
ユーザーが暗号化されたディスクなしで RDS インスタンスを作成するのを防ぎます。プライマリインスタンスにのみ適用され、読み取り専用インスタンスやデータ復元から作成されたインスタンスには適用されません。 |
CreateRdsWithNonVPCNetworkTypeForbidden |
ユーザーが Virtual Private Cloud (VPC) 以外のネットワークタイプで RDS インスタンスを作成するのを防ぎます。プライマリインスタンスにのみ適用され、読み取り専用インスタンスやデータ復元から作成されたインスタンスには適用されません。 | |
| ネットワーク設定 | DatabaseConnectionNonVPCNetworkTypeForbidden |
ユーザーが RDS インスタンスのネットワークタイプをクラシックネットワークに切り替えるのを防ぎます。 |
| セキュリティ設定 | DataSecuritySSLDisabledForbidden |
ユーザーが RDS インスタンスの SSL 暗号化を無効にすることを防ぎます。 |
DataSecurityTDEDisabledForbidden |
ユーザーが RDS インスタンスの透過的データ暗号化 (TDE) を無効にすることを防ぎます。 | |
| データベースプロキシ設定 | DatabaseProxyWithNonVPCNetworkTypeForbidden |
ユーザーが RDS インスタンスのデータベースプロキシ機能を有効にするときに、パブリックエンドポイントを指定するのを防ぎます。 |
DatabaseProxyCreateEndpointAddressWithNonVPCNetworkTypeForbidden |
ユーザーが RDS インスタンスのデータベースプロキシに接続するためのエンドポイントを作成するときに、パブリックエンドポイントを指定するのを防ぎます。 | |
DatabaseProxyModifyEndpointAddressWithNonVPCNetworkTypeForbidden |
ユーザーが RDS インスタンスのデータベースプロキシへの接続に使用するエンドポイントを変更するときに、パブリックエンドポイントを指定するのを防ぎます。 | |
DatabaseProxyDbProxyInstanceSslDisabledForbidden |
ユーザーが RDS インスタンスのデータベースプロキシの特定のエンドポイントに対して SSL 暗号化を無効にすることを防ぎます。 | |
| バックアップ関連の設定 | BackupAndRestorationCrossBackupDisabledForbidden |
ユーザーが RDS インスタンスのクロスリージョンバックアップ機能を無効にすることを防ぎます。 |
BackupAndRestorationBackupPolicyDisabledForbidden |
ユーザーが RDS インスタンスのログバックアップ機能を無効にすることを防ぎます。 | |
| イベント履歴 | EventCenterActionEventEnableEventLogForbidden |
ユーザーが RDS インスタンスのイベント履歴機能を有効にすることを防ぎます。 |
ポリシーコード
CreateRdsWithNonVPCNetworkTypeForbidden
VPC 以外のネットワークタイプでインスタンスを作成すること (rds:InstanceNetworkType が VPC ではない場合) をブロックします。
{
"Statement": [
{
"Action": [
"rds:CreateDBInstance",
"rds:PreCheckCreateOrder",
"rds:CreateOrder"
],
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"rds:InstanceNetworkType": "VPC"
}
}
}
],
"Version": "1"
}
BackupAndRestorationCrossBackupDisabledForbidden
クロスリージョンバックアップ機能の無効化をブロックします。このポリシーには 2 つの文が含まれており、rds:BackupEnabled が 1 でない場合、または rds:LogBackupEnabled が 1 でない場合に操作を拒否します。
{
"Statement": [
{
"Action": "rds:ModifyInstanceCrossBackupPolicy",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"rds:BackupEnabled": "1"
}
}
},
{
"Action": "rds:ModifyInstanceCrossBackupPolicy",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"rds:LogBackupEnabled": "1"
}
}
}
],
"Version": "1"
}
BackupAndRestorationBackupPolicyDisabledForbidden
ログバックアップ機能の無効化をブロックします。このポリシーには 2 つの文が含まれています。1 つは rds:EnableBackupLog が 0 の場合を拒否し、もう 1 つは rds:BackupLog が Disabled の場合を拒否します。
{
"Statement": [
{
"Action": "rds:ModifyBackupPolicy",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringEquals": {
"rds:EnableBackupLog": "0"
}
}
},
{
"Action": "rds:ModifyBackupPolicy",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringEquals": {
"rds:BackupLog": "Disabled"
}
}
}
],
"Version": "1"
}
次のステップ
-
「ポリシーの概要」 — ポリシーの評価順序や Deny-override-Allow ルールなど、RAM ポリシーの仕組みについて説明します。
-
「ポリシーの構造と構文」 — カスタム条件を記述できるように、RAM ポリシーの JSON 構造について説明します。