Compute Engine では、OS Login を使用してユーザーに VM へのアクセス権を付与したり、sudo
アクセス権を持つユーザーを制限したりできます。VM 内の特定のファイルや実行可能ファイルを表示または実行できるユーザーを制御するには、OS ポリシーを使用して、VM フリート内でファイルの管理を自動化して一元化するポリシーをロールアウトします。
このチュートリアルでは、OS Login グループや OS ポリシーを使用して、複数の VM 上の auth.log
ファイル(/var/log/auth.log
)に対する表示アクセス権を、sudo
アクセス権を持たないユーザーのグループに付与する方法を説明します。
通常、デフォルト構成では、auth.log
ファイルの権限は 640
に設定され、ファイルはグループ adm
によって所有されます。roles/compute.osAdminLogin
IAM ロールが付与されていないユーザーは adm
グループに含まれず、sudo
へのアクセス権がないため、ファイルに対する読み取りアクセス権がありません。
このチュートリアルでは、特定のファイルに対するユーザー権限の管理を中心に説明していますが、ここで取り上げるワークフローは、VM 上の他のファイルや実行可能ファイルに対する権限の設定用に変更して使用することもできます。
目標
このチュートリアルでは、次のことを学習します。
- OS Login の Linux グループを作成する方法
- OS ポリシーの割り当てを使用して、複数の VM でファイルのグループ権限を一度に変更する方法
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
Google Cloud の新規ユーザーは無料トライアルをご利用いただける場合があります。始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- 組織の Cloud Identity のグループ管理者であることを確認してください。グループ管理者でない場合は、組織のグループ管理者に OS Login の Linux グループの作成を依頼してください。
- VM Manager を有効にします。
環境を準備する
auth.log
ファイルへのアクセス権を付与する前に、VM をいくつか作成する必要があります。
gcloud compute instances bulk create
コマンドを使用して 3 つの VM を作成します。
gcloud compute instances bulk create \ --name-pattern=tutorial-# \ --zone=us-west1-a \ --count=3 \ --labels=vm=tutorial \ --metadata=enable-oslogin=TRUE
次のようなメッセージが表示されます。
`Bulk create request finished with status message: [VM instances created: 3, failed: 0.]`
auth.log
ファイルのグループ権限を設定する
ユーザーに roles/compute.osAdminLogin
IAM ロールを付与せずに auth.log
ファイルに対する読み取りアクセス権を付与するには、そのファイルを所有するグループを、そのユーザーが所属する Linux グループに変更します。
OS Login の Linux グループを作成する
OS Login の Linux グループを作成して、OS Login が有効になっている各 VM に表示される Linux の補足グループを追加できます。ローカルの Linux の補足グループの代わりに OS Login の Linux グループを作成すると、すべての VM 上の Linux グループを統一された方法で制御できます。
OS Login の Linux グループを作成するには、次の gcloud beta identity groups create
コマンドを使用します。
gcloud beta identity groups create logaccess@ORGANIZATION_DOMAIN \ --organization=ORGANIZATION_DOMAIN \ --posix-group=gid=12345,name=logaccess
ORGANIZATION_DOMAIN
は、組織に関連付けられたドメイン(example.com
)に置き換えます。
OS ポリシーの割り当てを作成する
OS ポリシーを使用して、VM の構成を自動化し、一元化できます。OS ポリシーは、OS ポリシーの割り当てを使用して VM に適用します。auth.log
ファイルのデフォルト グループを変更する OS ポリシーで OS ポリシーの割り当てを作成することにより、VM ごとに変更を適用するのではなく、複数の VM で auth.log
ファイルのデフォルト グループを一度に変更できます。
OS ポリシーの割り当てを作成する手順は次のとおりです。
ワークステーションでターミナルを開きます。
次のコマンドを実行して、OS ポリシーの割り当ての
.yaml
ファイルを作成します。touch tutorial-os-policy-assignment.yaml
テキスト エディタで
tutorial-os-policy-assignment.yaml
ファイルを開き、次の仕様を追加します。
VM への OS ポリシーの割り当てを適用する
VM に OS ポリシーの割り当てを適用する手順は次のとおりです。
gcloud compute os-config os-policy-assignments create
コマンドを使用して、OS ポリシーを適用します。gcloud compute os-config os-policy-assignments create log-access-assignment \ --location=us-west1-a \ --file=log-access-os-policy-assignment.yaml \ --async
OS ポリシーの割り当ては、
tutorial-os-policy-assignment.yaml
ファイルに記述されたロールアウト仕様に従って VM にロールアウトされます。OS ポリシーの割り当てが VM に正常にロールアウトされ、OS ポリシーの割り当てによって、
gcloud compute os-config os-policy-assignment-reports list
コマンドを使用してデフォルト グループが正常に更新されたことを確認します。gcloud compute os-config os-policy-assignment-reports list --location=us-west1-a
OS Login の Linux グループにユーザーを追加する
OS Login の Linux グループにユーザーを追加すると、そのユーザーは、OS Login が有効になっているすべての VM のグループの権限を継承します。このチュートリアルでは、logaccess
グループに追加したユーザーは、roles/compute.osAdminLogin
IAM ロールなしで auth.log
ファイルを閲覧できます。
logaccess
グループにユーザーを追加する方法については、Cloud Identity のヘルプ ドキュメントをご覧ください。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトを削除する
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
リソースを個別に削除する
gcloud compute instances delete
コマンドを使用して、作成した VM を削除します。
gcloud compute instances delete tutorial-1 tutorial-2 tutorial-3 \ --zone=us-west1-a
次のステップ
- OS Login の詳細を確認する
- VM Manager の詳細を確認する
- Google Cloud に関するリファレンス アーキテクチャ、図、ベスト プラクティスを確認する。Cloud アーキテクチャ センターをご覧ください。