システムポリシーがニーズを満たさない場合は、カスタムポリシーを作成して、きめ細かなアクセス制御を実装できます。
前提条件
カスタムポリシーを作成する前に、ポリシー言語の基本的な構造と構文を理解しておく必要があります。詳細については、「ポリシーの構造と構文」をご参照ください。
CADT カスタムポリシー
Cloud Architect Design Tools (CADT) では、設定できる一般的なカスタムポリシーのテンプレートを 3 つ提供しています。
|
カスタムポリシー |
説明 |
サンプルファイル |
|
読み取り専用権限 |
CADT への読み取り専用アクセスを付与します。 |
|
|
インポート権限 |
CADT でリソース検出を使用し、リソースをインポートする権限を付与します。 |
|
|
管理権限 |
CADT を管理する権限を付与します。 |
サンプルファイルは、一部の製品に対してのみ権限を付与します。特定の要件を満たすには、ポリシーをカスタマイズする必要があります。
操作手順
RAM ユーザーの作成
-
Resource Access Management (RAM) コンソールにログインします。
-
cadt-userという名前のテストユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。左側のナビゲーションペインで、[ID] > [ユーザー] を選択します。[ユーザー] ページで、作成した [cadt-user] を見つけます。
CADT カスタムポリシーの作成
-
読み取り専用権限を持つカスタムポリシーを作成します。RAM コンソールにログインします。左側のナビゲーションペインで、[権限管理] > [ポリシー] を選択し、[ポリシーの作成] をクリックします。
-
[ポリシーの作成] ページで、[JSON] タブをクリックします。読み取り専用権限設定ファイルの内容をエディターにコピーし、[次へ: ポリシー情報の編集] をクリックします。
説明このスクリプトは、一部の Alibaba Cloud サービスに対して読み取り専用権限を付与します。特定の要件を満たすには、スクリプトをカスタマイズできます。
スクリプトには、OSS のステートメントが含まれています。アクションには、
oss:PutObject、oss:IsObjectExist、oss:ListObjects、oss:GetObject、oss:DeleteObject、oss:GetBucketが含まれます。リソースはacs:oss:*:*:cnfs-oss*です。 -
ポリシーに 「cadt-read-only」という名前を付け、[OK] をクリックします。
-
同様に、インポート権限 (
cadt-import) と管理権限 (cadt-deploy) のカスタムポリシーを作成します。[ポリシー] ページで、[カスタムポリシー] で絞り込んで、作成した 3 つの CADT カスタムポリシー ([cadt-read-only]、[cadt-import]、[cadt-deploy]) を表示します。
権限の検証
読み取り専用権限の検証
読み取り専用権限: CADT アプリケーションと Alibaba Cloud リソースへの読み取り専用アクセスを付与します。たとえば、これらの権限を持つユーザーは、CADT でアプリケーションとアーキテクチャを表示し、ECS インスタンスの IP アドレスやホスト名、RDS データベースエンドポイントなどの情報を確認できます。これらの権限は、日常的な開発およびテストタスクに適しています。
-
テストのため、Alibaba Cloud アカウントを使用して、CADT で Elastic Compute Service (ECS) インスタンスと Elastic IP アドレス (EIP) で構成される CADT-Test という名前のシンプルなアプリケーションをデプロイします。アプリケーション [CADT-Test] のステータスが [Deployed successfully] と表示されます。そのアーキテクチャには、Elastic IP アドレス (EIP)、CIDR ブロック
192.168.0.0/16の Virtual Private Cloud (VPC)、CIDR ブロック192.168.0.0/24の vSwitch、セキュリティグループ、ECS インスタンス (2 vCPU 4 GiB) が含まれます。デプロイリージョンは中国 (北京) です。 -
cadt-read-onlyポリシーをアタッチします。RAM コンソールで、[ID] > [ユーザー] ページに移動し、[cadt-user] の横にあるチェックボックスをオンにして、[権限の追加] をクリックします。[権限の追加] パネルで、[承認スコープ] を [Alibaba Cloud アカウント] に設定します。[カスタムポリシー] タブで、[cadt-read-only] ポリシーを選択し、[OK] をクリックします。 -
cadt-user としてログインして、権限を検証します。RAM コンソールで、[概要] ページに移動します。[基本情報] セクションで、
https://signin.aliyun.com/xxx.onaliyun.com/login.htm形式のユーザーログイン URL を見つけ、[ログインURLのコピー] をクリックします。コピーした URL を使用して、[cadt-user] として Alibaba Cloud コンソールにログインします。ログイン後、右上隅のユーザーアバターをクリックして、現在の ID が RAM ユーザー [cadt-user] (ログインメール: cadt-user@xxx.onaliyun.com) であることを確認します。 -
CADT コンソールの [マイアプリケーション] ページで、CADT-Test アプリケーションと、Alibaba Cloud アカウントによって作成されたその他すべてのアプリケーションを表示できます。上部メニューで、[アプリケーション] > [マイアプリケーション] を選択します。アプリケーションリストには、Alibaba Cloud アカウントがデプロイした [CADT-Test] アプリケーションが「Deployed successfully」のステータスで表示されます。
-
ECS インスタンスなどのリソースの詳細を表示します。アプリケーションを開いて、デプロイ済みのアーキテクチャを表示します。キャンバス上の ECS インスタンスをクリックして、その情報を表示します。下部にある [Go to Console] ボタンをクリックして、対応するクラウドリソースのコンソールを開きます。アプリケーションの詳細で、デプロイ済みの ECS インスタンスに関する情報を表示できます。インスタンスの状態は [Running]、リージョンは中国 (北京)、アベイラビリティーゾーンは北京ゾーン K です。
-
新しいアプリケーションの作成、アーキテクチャの設計、パラメーターの設定はできますが、アプリケーションの保存やデプロイはできません。[ECS Details] パネルには、インスタンスタイプ
ecs.c6.large (2 vCPU 4 GiB)、[従量課金] 課金方法、[北京ゾーン K] アベイラビリティーゾーンなどの設定が表示されます。右上隅の [保存] ボタンをクリックすると、ページの上部に、権限が不足していることを示すメッセージが表示されます。
インポート権限の検証
インポート権限:ユーザーが Alibaba Cloud 上でリソースを検出し、アーキテクチャを設計し、アプリケーションを作成できるようにします。CADT では、これらの権限を持つユーザーは、アプリケーションの作成、リソースの設定、既存のリソースのインポート、リソースの検証の実行、価格表の表示、レポートの表示ができます。ただし、ユーザーはリソースをデプロイできません。
-
Alibaba Cloud アカウントを使用して、
cadt-userRAM ユーザーから読み取り専用ポリシーを削除し、cadt-importポリシーをアタッチします。cadt-userの詳細ページで、[権限] タブに移動します。[個人権限] で、[cadt-import] カスタムポリシーがアタッチされていること、承認スコープが [すべてのリソース] に設定されていることを確認します。 -
CADT で権限を検証します。
-
リソース検出を使用できます。CADT コンソールの上部メニューで、[リソース] をクリックし、[リソース検出] を選択します。[リソース検出] ページには、[タグなしリソース] チェックボックス、タグキー、タグ値、リソースグループ名で絞り込みできる [検出するリソースの選択] ダイアログボックスが表示されます。[ネットワーク別] と [タイプ別] のビューが用意されており、[概要]、[グローバルリソース]、[リージョンリソース]、[VPCリソース]、[vSwitchリソース] タブがあります。テーブルには、リソースタイプ、リソース名、リソースID、タグ、関連オブジェクトが表示されます。下部では、[レポートのエクスポート] と [アーキテクチャ図の生成] ボタンをクリックできます。
-
アプリケーションの作成、パラメーターの設定、アプリケーションの保存ができます。CADT アーキテクチャ設計インターフェイスで、アーキテクチャリソースを表示および編集できます。右側の [Elastic Compute Service (ECS) Details] パネルでは、課金方法、アベイラビリティーゾーン、インスタンスタイプなどのパラメーターを設定できます。変更後、上部のタブにステータスが [Modified] と表示されます。変更を保存すると、右上隅に [Saved successfully] メッセージが表示されます。
-
リソースの検証を実行できます。[リソースの検証] ダイアログボックスで、5 つのクラウドリソース (vSwitch、中国 (北京)、セキュリティグループ、EIP、ECS) すべての検証結果が [Succeeded] で、備考は「Verification passed」です。下部のステータスには [Verification passed] が表示されます。[次へ: 価格表] をクリックして続行できます。
-
価格を確認し、レポートを表示できます。リソース検証が成功すると、[価格表] ダイアログボックスにステータスが [Pricing succeeded] と表示され、ECS や EIP などのリソースの従量課金コストが一覧表示されます。[レポートの表示] ボタンをクリックして、完全なレポートを表示できます。
-
リソースをデプロイすることはできません。[注文の確認] ページには、リソースリスト (従量課金ベースの EIP と ECS) が [Pricing succeeded] ステータスで表示されます。右上隅に赤い権限エラーメッセージが表示されます: "4001: You are not authorized to perform this operation. Please contact the account owner or administrator to grant the required permissions." [関連する権限の追加] リンクをクリックして、承認をリクエストできます。下部の [次へ: 支払いと作成] ボタンをクリックして、次のステップに進むことができます。
-
既存のリソースをインポートできます。CADT の [Virtual Private Cloud (VPC) Details] パネルで、[課金方法] を [既存のインポート] に設定します。[インスタンス名] ドロップダウンリストで、既存の VPC インスタンスを選択します。インスタンス ID は部分的にマスクされています。[CIDR ブロック] は
192.168.0.0/16と表示されます。パネルの上部に [リソースのデプロイ] トグルが表示されます。
-
管理権限の検証
管理権限:すべてのインポート権限に加えて、リソースをデプロイする権限が含まれます。誤操作を防ぎ、リソースリスクを軽減するため、このポリシーは、「すべてのリソースを解放」機能を使用する権限を付与しません。ただし、日常的な運用保守では、アーキテクチャから個別にリソースを解放できます。
-
Alibaba Cloud アカウントを使用して、
cadt-userRAM ユーザーから他のポリシーを削除し、cadt-deployポリシーをアタッチします。[cadt-user] RAM ユーザーの [権限] タブで、[cadt-deploy] カスタムポリシーがアタッチされていること、承認スコープが [すべてのリソース] に設定されていることを確認します。 -
すべてのインポート権限に加えて、リソースをデプロイできます。アプリケーションのデプロイを開始すると、注文が送信され、リソースのデプロイが進行中であることを示すダイアログボックスが表示されます。デプロイが完了するまで待ちます。
cadt-deploy権限で実行されたデプロイが完了すると、ページに [Deployed successfully] メッセージが表示されます。EIP、VPC (192.168.0.0/16)、vSwitch (192.168.0.0/24)、セキュリティグループ、ECS インスタンス (2 vCPU 4 GiB) など、アーキテクチャ内のすべてのリソースがデプロイ済みのステータスになります。 -
すべてのリソースを一度に解放することはできません。下部のツールバーの [すべてのリソースを解放] ボタンをクリックし、確認ダイアログボックスで [OK] をクリックします。右上隅に「4001: You are not authorized to perform this operation. Please contact the account owner or administrator to grant the required permissions.」というエラーメッセージが表示され、この権限がないことが示されます。
-
アーキテクチャから個別のリソースを解放できます。
[ecs] インスタンスなどのターゲットリソースを右クリックし、コンテキストメニューから [削除] を選択して、デプロイ済みのリソースを 1 つずつ削除します。[ecs] インスタンスにオレンジ色の×アイコンが表示され、削除対象としてマークされます。リソースを削除対象としてマークした後、[保存] をクリックし、次に [アプリケーションのデプロイ] をクリックして、リソースを解放します。ECS インスタンスが削除されると、アーキテクチャには [eip]、[vpc] [192.168.0.0/16]、[vswitch] [192.168.0.0/24]、空の [security_group] のみが残ります。[eip] と [vpc] 間の接続が削除され、権限の検証が成功したことを確認できます。