Resource Access Management (RAM) は、Alibaba Cloudが提供する権限管理システムです。 RAMを使用して、Alibaba Cloudアカウントの権限内でRAMユーザーを作成できます。 RAMユーザーごとに、特定のクラウドリソースへのアクセスを許可または拒否する権限を付与できます。
背景情報
- Alibaba Cloudアカウントは、特定の機能を実行するRAMユーザーを作成できます。 RAMユーザーはリソースを所有または保持できません。 すべてのリソースはAlibaba Cloudアカウントにのみ属します。
- RAMユーザーを使用してAnalyticDB for MySQLクラスターを作成する場合、RAMユーザーと対応するAlibaba Cloudアカウントのみを使用してクラスターにアクセスできます。 他のRAMユーザーがこのクラスターにアクセスする場合は、必要な権限を付与する必要があります。
シナリオ
- AccessKeyペアはリークが発生しやすいです。
- 特定のユーザーがクラスターで実行できる操作を制御することはできません。 例えば、ユーザは、クラスタをスケールアップまたは再起動することができる。
上記の問題を回避するには、RAMユーザーを作成し、各RAMユーザーに必要な権限のみを付与します。 これらのRAMユーザーは、Alibaba Cloudアカウントではなく、AnalyticDB for MySQLクラスターへのアクセスまたは管理に使用できます。
実装
RAM ユーザーの作成
- RAMコンソールにログインします。
- 左側のナビゲーションウィンドウで、 を選択します。
- [ユーザー] ページで、[ユーザーの作成] をクリックします。 [ユーザーの作成] ページで、[ログイン名] および [表示名] パラメーターを設定します。 説明 ユーザーの追加をクリックして、一度に複数の RAM ユーザーを作成できます。
- [アクセスモード] セクションで、[コンソールアクセス] または [OpenAPIアクセス] を選択します。
- コンソールアクセス: このアクセスモードを選択した場合、ログオンセキュリティ設定を完了する必要があります。 これらの設定では、システム生成またはカスタムのログインパスワードを使用するかどうか、次回のログイン時にパスワードをリセットする必要があるかどうか、および多要素認証 (MFA) を有効にするかどうかを指定します。
- OpenAPIアクセス: このアクセスモードを選択すると、RAMユーザーに対してAccessKeyペアが生成されます。 その後、RAMユーザーは他の開発ツールを使用してAnalyticDB for MySQLクラスターにアクセスできます。
アカウントのセキュリティを確保するため、RAMユーザーにはシングルアクセスモードのみを選択することを推奨します。 これにより、RAMユーザーが組織を離れた後、AccessKeyペアを使用してAnalyticDB for MySQLクラスターにアクセスできなくなります。
- [OK] をクリックします。
RAM ユーザーへの権限付与
- RAMコンソールにログインします。
- 左側のナビゲーションウィンドウで、 を選択します。
- [ユーザー] ページで、権限を付与するRAMユーザーを見つけます。 次に、[操作] 列の [権限の追加] をクリックします。
- [権限の追加] パネルで、[システムポリシー] を選択し、ポリシー名を入力してポリシーを検索します。 ポリシーをクリックして、右側の [選択済み] セクションに追加します。 警告 セキュリティリスクやビジネスの損失を防ぐために、ユーザーに過度の権限を付与しないでください。次のポリシーをRAMユーザーにアタッチできます。
- Data Warehouse Edition (V3.0) クラスターの場合:
- AliyunADBReadOnlyAccess: RAMユーザーがData Warehouse Edition (V3.0) クラスターに読み取り専用モードでアクセスできるようにします。
- AliyunADBFullAccess: RAMユーザーがData Warehouse Edition (V3.0) クラスターを管理できるようにします。
- Data Lakehouse Edition (V3.0) クラスターの場合:
- AliyunADBReadOnlyAccess: RAMユーザーがData Lakehouse Edition (V3.0) クラスターに読み取り専用モードでアクセスできるようにします。
- AliyunADBFullAccess: RAMユーザーがData Lakehouse Edition (V3.0) クラスターを管理できるようにします。
- AliyunADBDeveloperAccess: RAMユーザーがData Lakehouse Edition (V3.0) クラスターを開発できるようにします。 AliyunADBFullAccessポリシーと比較して、AliyunADBDeveloperAccessには、クラスターの作成と削除、クラスター設定の変更、RAMユーザーとの関連付けの権限が含まれていません。
- Data Warehouse Edition (V3.0) クラスターの場合:
- [OK] をクリックします。
RAMユーザーに権限を付与すると、RAMユーザーを使用して、AnalyticDB for MySQLクラスターにアクセスまたは管理できます。
ポリシーを作成します。
特定のAnalyticDB for MySQLクラスターに対する操作をRAMユーザーに許可する必要がある場合は、RAMコンソールでカスタムポリシーを作成する必要があります。
- RAMコンソールにログインします。
- 左側のナビゲーションウィンドウで、 を選択します。
- [ポリシー] ページで、[ポリシーの作成] をクリックします。 この例では、AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスターの管理に使用されるポリシーが作成されます。
- [ポリシーの作成] ページで、[JSON] タブをクリックします。
- コードエディターで、次のスクリプトを入力します。
次の例では、RAMユーザーがam-xxxクラスターを管理できるようにするポリシーが作成されています。
{ "Version": "1", "Statement": [ { "Action": ["adb:DescribeDBClusters" 、"adb:ListTagResources"] 、 "Resource": "acs:adb:*:*:dbcluster/*" 、 "Effect": "Allow" }, { "アクション": "adb:*" 、 "Resource": ["acs:adb:*:*:dbcluster/am-xxx"] 、 "Effect": "Allow" } ] }
次の例では、RAMユーザーがam-xxxクラスターに読み取り専用モードでアクセスできるようにするポリシーが作成されています。
{ "Version": "1", "Statement": [ { "Action": ["adb:DescribeDBClusters" 、"adb:ListTagResources"] 、 "Resource": "acs:adb:*:*:dbcluster/*" 、 "Effect": "Allow" }, { "Action": "adb:Describe *" 、 "Resource": ["acs:adb:*:*:dbcluster/am-xxx"] 、 "Effect": "Allow" } ] }
RAMユーザーが複数のクラスターを管理するか、読み取り専用モードで複数のクラスターにアクセスする必要がある場合は、スクリプトの
"Resource": ["acs:adb:*:*:*:dbcluster/am-xxx"]
セクションに対応するクラスターIDを追加します。 例:"Resource": ["acs:adb:*:*:dbcluster/am-xxx", "acs:adb:*:*:dbcluster/am-yyy"]
ポリシーを作成したら、特定のRAMユーザーにポリシーをアタッチする必要があります。
- [次へ] をクリックしてポリシー情報を編集します。
- ポリシー名を入力し、[OK] をクリックします。
関連ドキュメント
- AnalyticDB For MySQL Data Lakehouse Edition (V3.0) クラスターの場合、標準データベースアカウントをRAMユーザーに関連付け、AnalyticDB for MySQLコンソールのSQLまたはSparkエディターでデータベース開発を実行できます。 詳細については、「RAMユーザーとのデータベースアカウントの関連付けまたは関連付けの解除」をご参照ください。
- RAMユーザーが特定の権限を必要としなくなった場合、またはRAMユーザーが組織を離れる場合は、RAMユーザーから権限を取り消すことができます。 詳細については、「RAMユーザーからの権限の取り消し」および「RAMユーザーの削除」をご参照ください。