6. IAM Safety¶
IAM Safetyを利用することで平常時は特権が制限された状態にしつつ必要な時だけ動的に特権を付与することができます。
これにより、平常時のオペレーションミスの予防や不正行為の抑止を最小限度の手間で実現することができます。
6.1. IAM Safetyの有効化¶
IAM Safetyの仕組みを解説します。
IAM Safetyを利用するにあたり、IAM Groupと特権操作を明示的に拒否するIAM Policyを作成します。 IAM Safetyで保護されるIAM Userは、普段はこのIAM Groupのメンバーとなっており特権操作が制限されます。 Dome9で昇格したユーザーは一時的にグループのメンバーから削除され、特権操作が可能になります。 ただし、IAM Userに当初から特権が付与されている場合に限ります。 Dome9は明示的に特権操作を禁止することが可能ですが特権操作を付与することはありません。
[IAM PROTECTION] - [Accounts & IAM Users]を選択します。
[開始]をクリックします。
3. Dome9で制限したいアクションを定義します。今回はコンピューティングリソース(EC2やそれに関連が深いサービス群)への操作を制限します。 [テンプレート]から[Compute]を選択し、[次へ]をクリックします。
4. IAM SafetyのためのIAM GroupおよびIAM Policyを作成します。 表示されているIAM Policyはあとで利用します。
AWSのマネージメントコンソールにログインし、[サービス] - [IAM]を選択します。
[ポリシー] - [ポリシーの作成]をクリックします。
[JSON]のタブをクリックし、Dome9のコンソールで表示されているIAM Policyをコピーして貼り付けます。
ポリシー名に[CloudGuard-Restricted-Policy]と入力し、[ポリシーの作成]をクリックします。
次にIAM Groupを作成します。[グループ] - [新しいグループの作成]をクリックします。
グループ名に[CloudGuard-Restricted-Group]と入力し、次に進みます。
作成したIAM Policyを選択し、次に進みます。
内容を確認し、IAM Groupの作成を完了します。
Dome9に設定するIAM PolicyおよびIAM GroupのARNを確認します。[ポリシー]を選択し、[CloudGuard-Restricted-Policy]をクリックします。
[ポリシーARN]をコピーします。
Dome9のコンソールに戻り、[ポリシーARN]にコピーしたARNを貼り付けます。
[グループ]を選択し、[CloudGuard-Restricted-Group]をクリックします。
[グループのARN]をコピーします
Dome9のコンソールに戻り、[グループARN]にコピーしたARNを貼り付けます。次に進みます。
IAM Safetyを利用するAWSアカウントを選択し、次に進みます。
Dome9に対してIAM UserやIAM Group等への操作を許可するためにIAM Policyの作成およびIAM Roleへアタッチを行います。
[ポリシー] - [ポリシーの作成]をクリックします。
[JSON]のタブをクリックし、Dome9のコンソールで表示されているIAM Policyをコピーして貼り付けます。
ポリシー名に[CloudGuard-IAM-Policy]と入力し、[ポリシーの作成]をクリックします。
[ロール]を選択し、[CloudGuard-Connect]をクリックします。
[ポリシーをアタッチします]をクリックします。
[CloudGuard-IAM-Policy]を選択し、[ポリシーのアタッチ]をクリックします。
Dome9のコンソールに戻り設定を完了します。接続に成功すると以下の画面が表示されます。
6.2. 保護するIAM Entityの作成¶
今回は、IAM Userを作成し、そのIAM UserをIAM Safetyで管理します。
[ユーザー] - [ユーザーを追加]をクリックします。
以下の通り設定を実施します。設定したら、[次のステップ:アクセス権限]をクリックします。
任意のユーザー名を入力
[AWSマネジメントコンソールへのアクセス]をチェック
[パスワードリセットが必要]のチェックを外す(作業手順を減らすためにチェックを外します)
[既存のポリシーを直接アタッチ]を選択し、[AdministratorAccess]を選択して[次のステップ:タグ]をクリックします。
タグを設定せず次に進みます。
[ユーザーの作成]をクリックします。
以下の情報をメモします。メモ帳などにコピーしてください。もしくは、[.csvのダウンロード]をクリックします。ダウンロードできるファイルに以下の情報が含まれます。
サインインURL
ユーザー
パスワード
作成したIAM UserでAWSのマネージメントコンソールにログインします。別のIAM Userでログインしている場合には一度ログアウトし、先ほどメモしたサインインURLにアクセスします。
最初に作成したEC2インスタンスを利用して動作を確認します。[サービス] - [EC2]をクリックします。
[インスタンス]を選択し、起動しているEC2インスタンスを選択して[アクション] - [インスタンスの状態] - [停止]をクリックします。
10.停止したことを確認したら、起動します。[アクション] - [インスタンスの状態] - [開始]をクリックします。
6.3. IAM Userの保護(権限を制限)¶
作成したIAM Safetyで管理し、特権の行使を制限します。
[IAM PROTECTION] - [Accounts & IAM Users]を選択します。
作成したIAM Userを選択し、[すべて保護]をクリックします。
ステータスが[Protected]になったことを確認します。
動作を確認します。[インスタンス]を選択し、起動しているEC2インスタンスを選択して[アクション] - [インスタンスの状態] - [停止]をクリックします。
[停止する]をクリックします。
権限を制限されているためインスタンスができません(期待する動作です)。[キャンセル]をクリックします。
6.4. IAM Userの特権昇格¶
一時的に制限を緩和して特権へ昇格させます。
保護したIAM Userに対して[ELEVATE]をクリックします。成功した場合、その旨が記載されたメッセージが上部に表示されます。
特権に昇格できたことを確認します。[Active elevations]を開きます。
昇格したIAM Userが存在することを確認します。[ELEVATE]をクリックした場合には昇格の期間が15分間であることが確認できます。[Expiration]を確認してください。
動作を確認します。[インスタンス]を選択し、起動しているEC2インスタンスを選択して[アクション] - [インスタンスの状態] - [停止]をクリックします。
[停止する]をクリックします。
インスタンスの停止処理が開始されたことを確認します。