Resource Access Management (RAM) は、ApsaraDB for MongoDB に対して詳細なアクセス制御を提供します。RAM を使用して、RAM ユーザーに特定の管理権限を付与し、最小権限の原則を適用してください。
前提条件
作業を開始する前に、以下の条件を満たしていることを確認してください。
RAM 管理者権限を持つ Alibaba Cloud アカウント
RAM コンソール で作成済みの RAM ユーザー。詳細については、「RAM ユーザーの作成」をご参照ください。
RAM ユーザーへの権限付与
RAM 管理者として RAM コンソール にログインします。
左側のナビゲーションウィンドウで、ID > ユーザー を選択します。
ユーザー ページで、対象の RAM ユーザーを見つけ、操作 列の 権限の追加 をクリックします。> ヒント: 複数の RAM ユーザーに一度に権限を付与する場合は、RAM ユーザーを選択し、ページ下部の 権限の追加 をクリックします。
権限付与 パネルで、以下のパラメーターを設定します。
重要[リソーススコープ] に [リソースグループ] を選択した場合、ApsaraDB for MongoDB がリソースグループをサポートしていることを確認してください。 詳細については、「リソースグループと連携するサービス」をご参照ください。 リソースグループで権限を付与する方法の詳細については、「リソースグループを使用して、特定の ECS インスタンスを管理する権限を RAM ユーザーに付与する」をご参照ください。
説明 システムは、AdministratorAccess や AliyunRAMFullAccess などの高リスクのシステムポリシーを自動的に識別します。絶対に必要な場合を除き、高リスクポリシーのアタッチは避けてください。パラメーター 説明 リソーススコープ アカウント:ポリシーは現在の Alibaba Cloud アカウント全体に適用されます。リソースグループ:ポリシーは特定のリソースグループに適用されます。 プリンシパル 権限を付与する RAM ユーザーです。デフォルトで現在の RAM ユーザーが選択されています。 ポリシー アタッチするポリシーです。1 つ以上のシステムポリシーまたはカスタムポリシーを選択します。 権限付与 をクリックします。
閉じる をクリックします。
システムポリシー
ApsaraDB for MongoDB には、以下の 2 つのシステムポリシーが用意されています。
| ポリシー | タイプ | 説明 |
|---|---|---|
| AliyunMongoDBFullAccess | フルアクセス | すべての ApsaraDB for MongoDB リソースに対する完全な管理権限を付与します。 |
| AliyunMongoDBReadOnlyAccess | 読み取り専用 | ApsaraDB for MongoDB リソースに対する読み取り専用権限を付与します。Describe* 操作に限定されます。 |
インスタンスを管理する管理者には AliyunMongoDBFullAccess を、インスタンス情報、モニタリングデータ、バックアップステータスのみを閲覧する必要があるユーザーには AliyunMongoDBReadOnlyAccess を使用してください。
カスタムポリシー
カスタムポリシーを使用すると、特定の API 操作およびインスタンスに対して詳細なアクセス制御を実現できます。構文の詳細については、「ポリシーの構造と構文」をご参照ください。
リソース記述形式
Resource 要素内でリソースを指定する際は、以下の形式を使用します。
acs:dds:$regionid:$accountid:dbinstance/$dbinstanceid| 変数 | 説明 | 例 |
|---|---|---|
$regionid | インスタンスのリージョン ID です。すべてのリージョンを対象にする場合は * を使用します。 | cn-hangzhou、* |
$accountid | Alibaba Cloud アカウント ID です。すべてのアカウントを対象にする場合は * を使用します。 | 1234567890、* |
$dbinstanceid | インスタンス ID です。すべてのインスタンスを対象にする場合は * を使用します。 | dds-bp1234567890、* |
リソース記述の例:
| 対象 | リソース値 |
|---|---|
| 特定のリージョン内の特定のインスタンス | acs:dds:cn-hangzhou:1234567890:dbinstance/dds-bp1234567890 |
| 特定のリージョン内のすべてのインスタンス | acs:dds:cn-hangzhou:*:dbinstance/* |
| すべてのリージョンのすべてのインスタンス | acs:dds:*:*:dbinstance/* |
認可可能な API 操作
以下の表に、RAM を通じて認可可能なすべての API 操作を示します。
インスタンスライフサイクル
| 操作 | 説明 |
|---|---|
CreateDBInstance | ApsaraDB for MongoDB インスタンスを作成します。 |
ModifyDBInstanceSpec | ApsaraDB for MongoDB インスタンスの構成を変更します。 |
DeleteDBInstance | ApsaraDB for MongoDB インスタンスを削除します。 |
RestartDBInstance | ApsaraDB for MongoDB インスタンスを再起動します。 |
RenewDBInstance | ApsaraDB for MongoDB インスタンスを更新します。 |
インスタンス情報
| 操作 | 説明 |
|---|---|
DescribeDBInstances | ApsaraDB for MongoDB インスタンスを照会します。 |
DescribeDBInstanceAttribute | ApsaraDB for MongoDB インスタンスの属性を照会します。 |
ModifyDBInstanceDescription | ApsaraDB for MongoDB インスタンスの説明を変更します。 |
DescribeReplicaSetRole | ApsaraDB for MongoDB インスタンスのプライマリ/セカンダリ属性を照会します。 |
DescribeDBInstancePerformance | ApsaraDB for MongoDB インスタンスのパフォーマンスメトリックを照会します。 |
セキュリティとアクセス制御
| 操作 | 説明 |
|---|---|
DescribeSecurityIps | ApsaraDB for MongoDB インスタンスのホワイトリストを照会します。 |
ModifySecurityIps | ApsaraDB for MongoDB インスタンスのホワイトリストを変更します。 |
アカウント管理
| 操作 | 説明 |
|---|---|
DescribeAccounts | ApsaraDB for MongoDB インスタンスのデータベースアカウントを照会します。 |
ResetAccountPassword | ApsaraDB for MongoDB インスタンスのアカウントパスワードをリセットします。 |
ModifyAccountDescription | ApsaraDB for MongoDB インスタンス上のデータベースアカウントの説明を変更します。 |
バックアップとリストア
| 操作 | 説明 |
|---|---|
DescribeBackupPolicy | ApsaraDB for MongoDB インスタンスのバックアップポリシーを照会します。 |
ModifyBackupPolicy | ApsaraDB for MongoDB インスタンスのバックアップポリシーを変更します。 |
CreateBackup | ApsaraDB for MongoDB インスタンスのバックアップを作成します。 |
RestoreDBInstance | ApsaraDB for MongoDB インスタンスのデータをリストアします。 |
ネットワーク構成
| 操作 | 説明 |
|---|---|
ModifyDBInstanceNetworkType | ApsaraDB for MongoDB インスタンスのネットワークタイプを変更します。 |
カスタムポリシーの例
以下の JSON ポリシーをコピーして、要件に合わせて修正してください。
例 1:特定のインスタンスに対する読み取り専用アクセス
単一のインスタンスに対して読み取り専用アクセスを付与します。リージョン ID、アカウント ID、インスタンス ID を実際の値に置き換えてください。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dds:DescribeDBInstances",
"dds:DescribeDBInstanceAttribute",
"dds:DescribeDBInstancePerformance",
"dds:DescribeReplicaSetRole",
"dds:DescribeSecurityIps",
"dds:DescribeAccounts",
"dds:DescribeBackupPolicy"
],
"Resource": "acs:dds:cn-hangzhou:1234567890:dbinstance/dds-bp1234567890"
}
]
}例 2:バックアップ管理のみ
インスタンス構成やセキュリティ設定へのアクセス権限を付与せずに、RAM ユーザーがバックアップを管理できるようにします。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dds:DescribeBackupPolicy",
"dds:ModifyBackupPolicy",
"dds:CreateBackup",
"dds:RestoreDBInstance",
"dds:DescribeDBInstances"
],
"Resource": "acs:dds:*:*:dbinstance/*"
}
]
}dds:DescribeDBInstances は、RAM ユーザーがコンソールでインスタンス一覧を表示し、バックアップ設定に移動できるようにするために含まれています。例 3:特定のリージョン内でのフルアクセス
中国 (杭州) リージョン内のすべての ApsaraDB for MongoDB インスタンスに対して、完全な管理権限を付与します。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dds:*",
"Resource": "acs:dds:cn-hangzhou:*:dbinstance/*"
}
]
}基本概念
| 概念 | 説明 |
|---|---|
| RAM ユーザー | Alibaba Cloud アカウント配下に作成される ID です。各 RAM ユーザーは独自の認証情報を持ち、コンソールまたは API を通じて ApsaraDB for MongoDB インスタンスを管理するための特定の権限を付与できます。 |
| システムポリシー | Alibaba Cloud が作成・管理する事前定義済みのポリシーです。システムポリシーは変更できません。 |
| カスタムポリシー | 特定の操作またはインスタンスに対する詳細なアクセス制御を行うためのユーザー定義ポリシーです。要件に応じて、カスタムポリシーの作成、更新、削除が可能です。 |
| リソーススコープ | ポリシーが適用される範囲です。権限は Alibaba Cloud アカウント全体、または特定のリソースグループに適用できます。 |
ベストプラクティス
システムポリシーから開始してください。 ほとんどのシナリオでは、AliyunMongoDBFullAccess または AliyunMongoDBReadOnlyAccess を使用します。より詳細な制御が必要な場合にのみ、カスタムポリシーを作成してください。
最小権限の原則を適用してください。 RAM ユーザーに必要な最小限の権限のみを付与します。たとえば、モニタリングユーザーには
Describe*操作のみが必要であり、Modify*やDelete*操作は不要です。インスタンス単位でリソースを制限してください。 ワイルドカード (
*) を使用してすべてのインスタンスへのアクセスを許可するのではなく、リソース記述形式を使用して特定のインスタンスに権限を限定してください。役割を分離してください。 役割に基づいて異なる RAM ユーザーに異なるカスタムポリシーを割り当てます。たとえば、バックアップオペレーターとインスタンス管理者を分離します。
権限を定期的に見直してください。 RAM ユーザーの権限を定期的に監査し、不要になった権限は取り消してください。
高リスクポリシーは避けてください。 RAM ユーザーが Alibaba Cloud サービス全体にわたる広範なアクセスを必要とする場合を除き、AdministratorAccess や AliyunRAMFullAccess をアタッチしないでください。