IAM の安全な使用

はじめに

このページでは、Cloud IAM を使用する際に留意いただく必要があるセキュリティに関するおすすめの方法をご紹介します。

このページは Cloud IAM についてよく理解しているユーザーを対象としています。IAM を使用し始めたばかりのユーザーに対して、使用方法を説明するものではありません。初心者ユーザーには、Cloud IAM クイックスタートからお読みになることをおすすめします。

最小限の権限

❑  
事前定義済みの役割は、基本の役割に比べてより細かなアクセス権を付与します。可能な限り、事前定義された役割を ID に付与することで、リソースにアクセスするのに必要な最小限のアクセス権のみを付与するようにします。
❑  
次のような場合には基本の役割を付与します。
  • Cloud Platform サービスで事前定義された役割を利用できない場合。使用可能なすべての事前定義済み役割のリストについては、事前定義済みの役割の表をご覧ください。
  • プロジェクトに対して幅広い権限を付与する場合。この状況は、開発またはテスト環境で権限を付与する場合によく生じます。
  • メンバーがプロジェクトの権限を変更できるようにする必要があり、他のユーザーにプロジェクトに対するアクセス権を付与できる権限を持つのはオーナーだけであるため、そのメンバーにオーナーの役割を付与したい場合。
  • チームのメンバーがきめの細かい権限を必要としない、小規模なチームで働いている場合。
❑  
アプリケーションの個々のコンポーネントは個別の信頼境界として扱ってください。異なる権限を必要とするサービスを複数扱っている場合は、各サービスに対してサービス アカウントを個別に作成して、権限を個別に付与できるようにします。
❑  
子リソースに設定したポリシーで親リソースに付与されたアクセス権を制限することはできない点にご注意ください。各リソースで付与されているポリシーを確認して、階層継承を把握しておいてください。
❑  
必要最小範囲の役割を付与します。たとえば、Pub/Sub トピックをパブリッシュするアクセス権だけを必要とするユーザーには、そのトピックのパブリッシャーの役割を付与します。
❑  
サービス アカウントとして活動できるユーザーの数を制限します。サービス アカウントに対するサービス アカウント アクターの役割を付与されたユーザーは、そのサービス アカウントがアクセス権を持つすべてのリソースにアクセスできます。そのため、サービス アカウント アクターの役割をユーザーに付与する際は十分な注意が必要です。
❑  
プロジェクトのサービス アカウントの作成と管理ができる権限を持つユーザーの数を制限します。
❑  
メンバーにオーナーの役割を付与すると、そのメンバーは IAM ポリシーを変更できるようになります。したがって、オーナーの役割は、そのメンバーに IAM ポリシーを管理する正当な目的がある場合にのみ付与します。これは、ポリシーには機密とされるアクセス制御データが含まれており、ポリシーを管理するユーザー数を最小限にすることで、実施が必要な監査が容易に行えるようになるためです。

サービス アカウントとサービス アカウント キー

❑  
IAM Service Account API を使用して、サービス アカウントキーをローテーションします。キーをローテーションするには、新しいキーを作成し、新しいキーを使用するようにアプリケーションを切り替えてから、古いキーを削除します。serviceAccount.keys.create() メソッドと serviceAccount.keys.delete() メソッドを組み合わせて使用すると、ローテーションを自動化できます。
❑  
プロセスの実装では、ユーザーが管理するサービス アカウント キーを管理します。
❑  
暗号鍵とサービス アカウント キーを混同しないように注意します。暗号鍵は通常データの暗号化に使用され、サービス アカウント キーは Google Cloud Platform API への安全なアクセスに使用されます。
❑  
実行中のインスタンスで使用されているサービス アカウントを削除しないでください。これを削除すると、先に別のサービス アカウントを使用するよう移行していなかった場合に、アプリケーションの全体または一部が失敗することがあります。
❑  
サービス アカウントの表示名を使用して、そのアカウントの用途やアカウントに必要な権限を管理できるようにします。
❑  
サービス アカウント キーをソースコードに組み込んだり、ダウンロード ディレクトリに置いたままにしたりしないでください。

監査

❑  
Cloud 監査ログを使用して、IAM ポリシーに対する変更を定期的に監査します。
❑  
Google Cloud Storage に監査ログをエクスポートして、ログを長期間保存します。
❑  
プロジェクトの IAM ポリシーを変更できるユーザーの管理状況を監査します。
❑  
Cloud ロギングの役割を使用して、ログへのアクセスを制限します。
❑  
ログをエクスポートするために使用する Cloud Platform リソースには、ログ閲覧者に適用したものと同じアクセス ポリシーを適用します。
❑  
Cloud 監査ログを使用して、サービス アカウント キーへのアクセスを定期的に監査します。

ポリシーの管理

❑  
組織内のすべてのプロジェクトにアクセス権を付与するために、組織レベルの IAM ポリシーを設定します。
❑  
可能なときは、個々のユーザーではなく Google グループに対して役割を付与します。ユーザーを追加または削除する場合、Cloud IAM ポリシーを変更するよりも Google グループにおいてそのユーザーを追加または削除するほうが簡単です。
❑  
特定のタスクの実行を許可するために複数の役割を付与する必要がある場合は、Google グループを作成してそのグループに役割を付与し、そのグループにユーザーを追加します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Identity and Access Management のドキュメント