(参考) CLIハンズオンの流れ¶
- 作成者:
OpsCLI
- 最終更新日:
2024-12-18
目的¶
参考として、OpsCLIハンズオンの一般的な流れを示します。
前提¶
作業環境条件¶
本作業は、以下の環境で行います。
AWSマネジメントコンソール環境条件
AWSマネジメントコンソール手順については、以下の環境で行います。
AWSマネジメントコンソールでのサポートされるブラウザ
注釈
https://aws.amazon.com/jp/premiumsupport/knowledge-center/browsers-management-console/
動作確認は、Firefox(手順作成時点の最新バージョン)で行なっています。
作業権限条件¶
本作業は、以下の「IAMユーザー」で行います。
作業権限条件: 対象IAMユーザー
handson-cli-signin-user
構成¶
本手順書で操作するAWSリソースの構成は以下の図のようになります。
手順¶
警告
この手順においてスイッチロールに失敗する場合、マネジメントコンソールの右上に表示されているリージョンを「禁止されていないリージョン」に切り替えるか、IAMなどのグローバルサービスのダッシュボードに画面を切り替えてください。
(リージョンの表示があるサービスを開いている場合に、OrganizationsのSCP(サービスコントロールポリシー)などで禁止されているリージョンを選択しているときは、スイッチロールに失敗します。)
3.0. サインイン用IAMユーザーのサインイン¶
3.1. ハンズオンの事前作業¶
"handson-cli-ctrl-role"(ロール)にスイッチロールし、ハンズオンに必要なIAMポリシーをインスタンスプロファイル(IAMロール)にアタッチします。
権限制御用IAMロールへのスイッチロール
右上のメニューをクリックします。
"ロールの切り替え"(ボタン)をクリックします。
"Switch Role"(画面)が表示されます。
以下を入力します。
- Account ID
AWS ID(12桁)を入力します。
- IAM role name
"handson-cli-env/handson-cli-ctrl-role"を入力します。
"Switch Role"(ボタン)をクリックします。
右上の表示が"handson-cli-env/handson-cloushell-user@XXXXXXXXXXXX"になっていることを確認します。
ハンズオンに必要な権限のアタッチ
ハンズオンに必要なIAMポリシーをインスタンスプロファイル(IAMロール)にアタッチします。
注釈
今回は以下のAWS管理IAMポリシーをアタッチします。
AWSCloudShellFullAccess
ReadOnlyAccess
コマンド:
ARRAY_IAM_POLICY_NAMES='AWSCloudShellFullAccess ReadOnlyAccess'コマンド:
array_iam_policy_arns=$( echo $( \ for i in $(echo "${ARRAY_IAM_POLICY_NAMES}");do aws iam list-policies \ --query "Policies[?PolicyName == \`${i}\`].Arn" \ --output text done \ ) \ ) \ && echo "${array_iam_policy_arns}"結果(例):
arn:aws:iam::aws:policy/AWSCloudShellFullAccess arn:aws:iam::aws:policy/ReadOnlyAccessコマンド:
for i in $(echo "${array_iam_policy_arns}");do aws iam attach-role-policy \ --role-name handson-cli-env-role \ --policy-arn ${i} done結果(例):
(出力なし)
3.2. (参考) CloudShellハンズオンの実施¶
"handson-cli-env-role"(ロール)にスイッチロールし、ハンズオンを実施します。
ハンズオン環境用IAMロールへのスイッチロール
右上のメニューをクリックします。
"ロールの切り替え"(ボタン)をクリックします。
"Switch Role"(画面)が表示されます。
以下を入力します。
- Account ID
AWS ID(12桁)を入力します。
- IAM role name
"handson-cli-env/handson-cli-env-role"を入力します。
"Switch Role"(ボタン)をクリックします。
右上の表示が"handson-cli-env/handson-cloushell-user@XXXXXXXXXXXX"になっていることを確認します。
ハンズオンの実施 (handson-cli-env-role)
"handson-cli-env-role"(ロール)にスイッチロールし、ハンズオンを実施します。
注釈
ハンズオンを実施します。
コマンド:
aws s3 ls
結果(例):
2022-07-19 22:47:06 cf-templates-94ho6sk5misho-ap-northeast-1
3.3. ハンズオンの事後作業¶
"handson-cli-ctrl-role"(ロール)にスイッチロールし、ハンズオンで使用したIAMポリシーをインスタンスプロファイル(IAMロール)からデタッチします。
権限制御用IAMロールへのスイッチロール
右上のメニューをクリックします。
"ロールの切り替え"(ボタン)をクリックします。
"Switch Role"(画面)が表示されます。
以下を入力します。
- Account ID
AWS ID(12桁)を入力します。
- IAM role name
"handson-cli-env/handson-cli-ctrl-role"を入力します。
"Switch Role"(ボタン)をクリックします。
右上の表示が"handson-cli-env/handson-cloushell-user@XXXXXXXXXXXX"になっていることを確認します。
ハンズオンで使用した権限のデタッチ
"handson-cli-ctrl-role"(ロール)にスイッチロールし、"ハンズオン開始前"にアタッチしたIAMポリシーをインスタンスプロファイル(IAMロール)からデタッチします。
コマンド:
ARRAY_IAM_POLICY_NAMES='AWSCloudShellFullAccess ReadOnlyAccess'コマンド:
array_iam_policy_arns=$( echo $( \ for i in $(echo "${ARRAY_IAM_POLICY_NAMES}");do aws iam list-policies \ --query "Policies[?PolicyName == \`${i}\`].Arn" \ --output text done \ ) \ ) \ && echo "${array_iam_policy_arns}"結果(例):
arn:aws:iam::aws:policy/AWSCloudShellFullAccess arn:aws:iam::aws:policy/ReadOnlyAccessコマンド:
for i in $(echo "${array_iam_policy_arns}");do aws iam detach-role-policy \ --role-name handson-cli-env-role \ --policy-arn ${i} done結果(例):
(出力なし)
サインイン用ユーザーへのスイッチバック
AWSマネジメントコンソールのメニュバー右上のIAMロール名をクリックします。
"スイッチバック"(ボタン)をクリックします。
右上の表示が"handson-cli-signin-user@XXXX-XXXX-XXXX"になっていることを確認します。
3.4. サインイン用ユーザーのサインアウト¶
アンケート¶
今後の参考にするため、本手順についてご意見・コメントをお願いします。
注釈
必須項目はありません。お気軽にご回答ください。
内容が違えばお一人何回回答していただいても問題ありません。
はまりどころや誤字・脱字などの修正のご指摘もお待ちしています。
注釈
このアンケートシステムはS3 + Cognitoで構築しています。