Cloud Access Management(CAM)ポリシーを使用して、クラウドデータベースコンソールにおいて特定のリソースを表示して使用する権限をユーザーに付与できます。この例ではユーザーにコンソールの特定部分の使用を許可するポリシーとなっています。
クラウドデータベースの全読み取り書き込みポリシー
ユーザーにクラウドデータベースインスタンスを作成し管理する権限を持たせたい場合、そのユーザーに対してQcloudCDBFullAccesというポリシーを使用することができます。
QcloudCDBFullAccess:このポリシーは、TencentDB for MySQLインスタンスへの完全な読み書きアクセス権限を示します。MySQLおよび関連するセキュリティグループ、監視、ユーザーグループ、バックアップ、VPC、KMSの権限が含まれます。クラウドデータベース MySQL インスタンスの完全な管理と操作を必要とするユーザーに適しています。
ポリシー管理 画面に移動し、右上の検索ボックスで QcloudCDBFullAccess を検索すると、このポリシーが見つかります。 ポリシー構文は以下のとおりです。
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"vpc:*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cvm:*"
],
"resource": "qcs::cvm:::sg/*",
"effect": "allow"
},
{
"action": [
"cos:*"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
},
{
"action": [
"kms:CreateKey",
"kms:GenerateDataKey",
"kms:Decrypt",
"kms:ListKey"
],
"resource": "*",
"effect": "allow"
}
]
}
上記のポリシーは、ユーザーがクラウドデータベース、VPC、セキュリティグループ、Cloud Object Storage、キー管理サービス、Monitorのすべてのリソースに対し、個別にCAMポリシーの権限を承認することで実現します。
クラウドデータベースの読み取り専用ポリシー
ユーザーにクラウドデータベースインスタンスの情報とデータの照会権限のみを与え、作成、削除、変更の権限を与えたくない場合は、QcloudCDBInnerReadOnlyAccessという名前のポリシーをそのユーザーに使用できます。
QcloudCDBInnerReadOnlyAccess:このポリシーは、TencentDB for MySQLインスタンスへの読み取り専用アクセス権限を示します。TencentDB for MySQLインスタンスの情報とデータの表示のみを必要とし、作成、削除、変更、または構成変更の操作は行わないユーザーに適しています。例:財務または監査担当者(データベースリソースの使用状況や費用を確認する必要はあるが、インスタンスの変更は行わない)。
説明:
クラウドデータベースの読み取り専用ポリシーの設定をお勧めします。
ポリシー管理 画面に移動し、右上の検索ボックスで QcloudCDBInnerReadOnlyAccess を検索すると、このポリシーが見つかります。 ポリシー構文は以下のとおりです。
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:Describe*"
],
"resource": "*",
"effect": "allow"
}
]
}
クラウドデータベース関連リソースの読み取り専用ポリシー
ユーザーにクラウドデータベースインスタンスおよび関連リソース(VPC、セキュリティグループ、Cloud Object Storage、Monitor)をクエリーする権限のみを付与し、ユーザーに作成、削除および変更などの操作をさせないようにする場合は、そのユーザーに対してQcloudCDBReadOnlyAccessというポリシーを使用することができます。
QcloudCDBReadOnlyAccess:このポリシーは、TencentDB for MySQL関連リソースへの読み取り専用アクセス権限を示します。TencentDB for MySQLインスタンスおよび関連リソースの表示のみを必要とし、これらのリソースの変更や削除は行わないユーザーに適しています。例:運用監視担当者(データベースの状態や監視データの確認のみで、構成変更は不要)、開発者(データベース情報の照会のみで、インスタンス構成の変更は不可)など。
ポリシー管理 画面に移動し、右上の検索ボックスでQcloudCDBReadOnlyAccessを検索すると、このポリシーが見つかります。 ポリシー構文は以下のとおりです。
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:Describe*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"vpc:Describe*",
"vpc:Inquiry*",
"vpc:Get*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cvm:DescribeSecurityGroup*"
],
"resource": "*",
"effect": "allow"
},
{
"action": [
"cos:List*",
"cos:Get*",
"cos:Head*",
"cos:OptionsObject"
],
"resource": "*",
"effect": "allow"
},
{
"effect": "allow",
"action": "monitor:*",
"resource": "*"
}
]
}
上記のポリシーは、以下の操作に対し、ユーザーがCAMポリシーの権限を承認することで実現します。
クラウドデータベース中の「Describe」という単語で始まるすべての操作。
VPC中の「Describe」という単語で始まるすべての操作、「Inquiry」という単語で始まるすべての操作、および「Get」という単語で始まるすべての操作。
セキュリティグループにおける、「DescribeSecurityGroup」という単語で始まるすべての操作。
Cloud Object Storage中の「List」という単語で始まるすべての操作、「Get」という単語で始まるすべての操作、「Head」という単語で始まるすべての操作、および「OptionsObject」という名の操作。
Monitor中のすべての操作。
ユーザーに非リソースレベルのAPIの操作権限を付与するポリシー
ユーザーに非リソースレベルのAPIの操作権限を持たせたい場合、そのユーザーに対してQcloudCDBProjectToUserというポリシーを使用することができます。
QcloudCDBProjectToUser:このポリシーは、TencentDB for MySQLのサブアカウントプロジェクト権限を示し、リソースレベル以外のAPIインターフェース操作権限をユーザーに付与する必要がある場合に適しています。このポリシーはテスト担当者などに適しています。ポリシー管理 画面に移動し、右上の検索ボックスでQcloudCDBProjectToUserを検索すると、このポリシーが見つかります。 ポリシー構文は以下のとおりです。
{
"version": "2.0",
"statement": [
{
"action": [
"cdb:BalanceRoGroupLoad",
"cdb:CancelBatchOperation",
"cdb:CreateBatchJobFiles",
"cdb:CreateDBInstance",
"cdb:CreateDBInstanceHour",
"cdb:CreateMonitorTemplate",
"cdb:CreateParamTemplate",
"cdb:DeleteBatchJobFiles",
"cdb:DeleteMonitorTemplate",
"cdb:DeleteParamTemplate",
"cdb:DescribeBatchJobFileContent",
"cdb:DescribeBatchJobFiles",
"cdb:DescribeBatchJobInfo",
"cdb:DescribeProjectSecurityGroups",
"cdb:DescribeDefaultParams",
"cdb:DescribeMonitorTemplate",
"cdb:DescribeParamTemplateInfo",
"cdb:DescribeParamTemplates",
"cdb:DescribeRequestResult",
"cdb:DescribeRoGroupInfo",
"cdb:DescribeRoMinScale",
"cdb:DescribeTasks",
"cdb:DescribeUploadedFiles",
"cdb:ModifyMonitorTemplate",
"cdb:ModifyParamTemplate",
"cdb:ModifyRoGroupInfo",
"cdb:ModifyRoGroupVipVport",
"cdb:StopDBImportJob",
"cdb:UploadSqlFiles"
],
"effect": "allow",
"resource": "*"
}
]
}
ユーザーに特定のクラウドデータベースの操作権限を付与するポリシー
特定のTencentDB for MySQLインスタンスの操作権限をユーザーに付与したい場合は、以下のポリシーを当該ユーザーに関連付けます。以下のポリシーは、IDがcdb-xxxで広州リージョンにあるTencentDB for MySQLインスタンスの操作権限をユーザーに許可します。
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": "qcs::cdb:ap-guangzhou::instanceId/cdb-xxx",
"effect": "allow"
}
]
}
ユーザーに大量のクラウドデータベースの操作権限を付与するポリシー
複数のTencentDB for MySQLインスタンスの操作権限をユーザーに付与したい場合は、以下のポリシーを当該ユーザーに関連付けます。以下のポリシーは、IDがcdb-xxx、cdb-yyyで広州リージョンにあるTencentDB for MySQLインスタンスと、IDがcdb-zzzで北京リージョンにあるTencentDB for MySQLインスタンスの操作権限をユーザーに許可します。
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": ["qcs::cdb:ap-guangzhou::instanceId/cdb-xxx", "qcs::cdb:ap-guangzhou::instanceId/cdb-yyy", "qcs::cdb:ap-beijing::instanceId/cdb-zzz"],
"effect": "allow"
}
]
}
ユーザーに特定リージョンのクラウドデータベースの操作権限を付与するポリシー
特定のリージョンにあるTencentDB for MySQLインスタンスの操作権限をユーザーに付与したい場合は、以下のポリシーを当該ユーザーに関連付けます。以下のポリシーは、広州リージョンにあるTencentDB for MySQLマシンの操作権限をユーザーに許可します。
{
"version": "2.0",
"statement": [
{
"action": "cdb:*",
"resource": "qcs::cdb:ap-guangzhou::*",
"effect": "allow"
}
]
}
カスタムポリシー
プリセットポリシーでは希望する要件を満たせないと感じた場合、カスタムポリシーを作成することもできます。リソースによって承認する場合、リソースレベルの権限をサポートしていないクラウドデータベースのAPI操作について、ユーザーにその操作を行う権限を付与することはできますが、ポリシーステートメントのリソース要素には*を指定する必要があります。
カスタマイズされたポリシー構文は以下のとおりです。
{
"version": "2.0",
"statement": [
{
"action": [
"Action"
],
"resource": "Resource",
"effect": "Effect"
}
]
}
Actionの中は許可または拒否したい操作に置き換えます。
Resourceの中は権限承認する具体的なリソースに置き換えます。
Effectの中は許可または拒否に置き換えます。
関連ドキュメント
アクセス管理の定義については、CAM概要をご参照ください。