すべてのプロダクト
Search
ドキュメントセンター

Database Autonomy Service:DASをRAMユーザーとして使用するにはどうすればよいですか?

最終更新日:Nov 13, 2024

RAM (Resource Access Management) コンソールを使用して、RAMユーザーにDatabase Autonomy Service (DAS) に対するさまざまな権限を付与できます。 これにより、きめ細かい権限が付与され、アカウントのセキュリティが向上します。

システムポリシーを使用してRAMユーザーに権限を付与する

  1. RAM ユーザーを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。

  2. DASのRAMユーザー権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

カスタムポリシーを使用してRAMユーザーに権限を付与する

上記の方法で要件を満たせない場合は、カスタムポリシーを作成して、より詳細なアクセス制御を実装できます。

ポリシーは、ポリシー構造と構文に基づいて記述される一連の権限を定義します。 ポリシーを使用して、権限が付与されたリソースセット、権限が付与された操作セット、および権限付与の条件を記述できます。 ポリシー要素、構造、および構文の詳細については、「ポリシー要素」および「ポリシー構造と構文」をご参照ください。

  1. RAM ユーザーを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。

  2. カスタムポリシーを作成します。 詳細については、「カスタムポリシーの作成」トピックの「JSONタブでカスタムポリシーを作成する」セクションをご参照ください。

  3. 作成したカスタムポリシーをRAMユーザーにアタッチします。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

カスタムポリシーを使用して、SQL Explorerおよび監査モジュールの検索機能とエクスポート機能を使用する権限をRAMユーザーに付与する

  1. エクスポート機能を使用する権限を付与するカスタムポリシーを作成します。 詳細については、「カスタムポリシーの作成」トピックの「JSONタブでカスタムポリシーを作成する」セクションをご参照ください。

    • ApsaraDB RDSインスタンス

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "rds:DescribeSQLLogRecordsList",
            "rds:DescribeSqlLogDetailArchiveStatus",
            "rds:StartSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      説明

      上記のカスタムポリシーは、すべてのApsaraDB RDSインスタンスに関する情報をエクスポートする権限をRAMユーザーに付与します。 特定のApsaraDB RDSインスタンスに関する情報をエクスポートする権限をRAMユーザーに付与する場合は、"Resource": "*""Resource": "acs:rds:*:*:dbinstance/<ApsaraDB RDSインスタンスID>" に置き換えます。

    • PolarDB for MySQLクラスター

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "polardb:DescribeSQLLogRecords",
            "polardb:DescribeSqlLogDetailArchiveStatus",
            "polardb:StartSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      説明

      上記のカスタムポリシーは、すべてのPolarDB for MySQLクラスターに関する情報をエクスポートする権限をRAMユーザーに付与します。 特定のPolarDB for MySQLクラスターに関する情報をエクスポートする権限をRAMユーザーに付与する場合は、"Resource": "*""Resource": "acs:polardb:*:*:dbcluster/<PolarDB for MySQLクラスターID>" に置き換えます。

    • PolarDB-X 2.0インスタンス

      {
        "Version": "1",
        "Statement": [
          {
            "Action":
            [
            "hdm:DescribeDasSQLLogRecordsList",
            "hdm:DescribeDasSqlLogDetailArchiveStatus",
            "hdm:StartDasSqlLogDetailArchive"
            ],
            "Resource": "*",
            "Effect": "Allow"
          }
        ]
      }
      説明

      上記のカスタムポリシーは、すべてのPolarDB-X 2.0インスタンスに関する情報をエクスポートする権限をRAMユーザーに付与します。 特定のPolarDB-X 2.0インスタンスに関する情報をエクスポートする権限をRAMユーザーに付与する場合は、"Resource": "*""Resource": "acs:polardbx:*:*:instance/<PolarDB-X 2.0インスタンスID>" に置き換えます。

  2. 作成したカスタムポリシーをRAMユーザーにアタッチします。 詳細については、「RAMユーザーへの権限付与」をご参照ください。

    説明

    データベースサービスのコンソールでデータをエクスポートする場合は、RAMユーザーがデータベースサービスの読み取り専用権限を持っていることを確認してください。

サンプルカスタムポリシー

次のコードは、カスタムポリシーを使用して、RAMユーザーにApsaraDB RDSインスタンスの読み取り専用権限を付与する方法の例を示しています。

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "hdm:Get*",
                "hdm:Describe*",
                "hdm:Query*"
            ],
            "Resource": "acs:rds:*:*:dbinstance/<ApsaraDB RDS instance ID>",
            "Effect": "Allow"
        }
    ]
}
説明
  • インスタンスIDを実際のものに置き換えます。

  • RAMユーザーに権限が付与された後、RAMユーザーとしてDASコンソールにログインすると、次のメッセージが表示されます: 権限がありません。 権限付与については、Alibaba Cloudアカウント管理者にお問い合わせください。 この場合、アイコンをクリックし关闭てメッセージを閉じます。 コンソールのURLにperformance/instance/<Instance ID>/detailを追加し、ページを更新します。 インスタンスの詳細ページが表示されます。

  • DASの関連するアクセス許可をデータベースサービスのカスタムポリシーに追加できます。 これにより、データベースサービスのコンソールで関連するDAS機能を使用できます。

異なるデータベースインスタンスの場合、ビジネス要件に基づいて、サンプルカスタムポリシーのリソース部分を置き換える必要があります。 例:

  • ApsaraDB RDSインスタンス

    "Resource": "acs:rds:*:*:dbinstance/<ApsaraDB RDS instance ID>"
  • ApsaraDB for Redisインスタンス

    "Resource": "acs:kvstore:*:*:*/<ApsaraDB for Redis instance ID>"
  • ApsaraDB for MongoDBインスタンス

    "Resource": "acs:dds:*:*:dbinstance/<ApsaraDB for MongoDB instance ID>"
  • PolarDB for MySQLPolarDB for PostgreSQL、およびPolarDB for PostgreSQL (Oracle互換) クラスター

    "Resource": "acs:polardb:*:*:*/<PolarDB cluster ID>"
  • PolarDB-X 2.0インスタンス

    "Resource": "acs:polardbx:*:*:*/<PolarDB-X 2.0 instance ID>"