AWSのユーザーとは?
AWSでは、AWSのサービスやリソースへのアクセス権を付与するためにユーザーを作成し、必要とされる権限を付与します。それにより、必要とされる権限に基づくユーザーアクセスを、セキュリティ認証により安全にサービス利用することが可能です。 参考:AWS ユーザーの管理
AWSのユーザーを管理するには?
AWSのユーザー管理は、AWS Identity and Access Management(IAM)のサービスを用いて行います。タスクに応じて権限を付与し、日常的に実施するタスクの権限を限定することでサービスをより安全に利用することを目的とします。 参考:AWS Identity and Access Management(IAM)ユーザーガイド
AWSのアカウントとユーザーの違いは?
AWSのアカウントは、AWSにサインインした際に作成されるアカウントです。 これはAWSアカウント ルートユーザー と呼ばれ、アカウントの作成に使用した Eメールアドレスとパスワードでのサインインによりアクセスするもので、全てのAWSサービスやリソースに対するアクセス権限を持ちます。同時に支払い権限等も持っているため、日常的に利用することはお勧めできません。
AWSのユーザーとは、IAMユーザーを指します。IAMユーザーは複数作成可能で、リソースへのアクセス権限を付与することで、指定するユーザー毎に必要なサービスやリソースを限定することが可能です。
IAMのグループとは?
IAMのグループとは複数のIAMユーザーをグループ登録することで、リソースへのアクセス許可を一括管理することができます。グループのアクセス権限を設定してしまえば、新しくユーザーをグループへ追加することでアクセス権限が付与でき、管理性が向上します。組織や役割毎にグループを設定しておくと、メンバー変更等の作業を軽減できるでしょう。
IAMのロールとは?
事業規模が大きいシステム運用の場合を考えてみます。この場合、本番環境も目的に応じて複数のサーバー機能を持ちますし、開発担当者・テスト担当者・業務担当者がいるためそれぞれの管理者のユーザー数は膨大になってしまいます。管理するシステムが複数の場合は、都度ユーザー認証が必要です。
ロールとは役割のことで、大規模なプロジェクト等で開発や監視等複数の役割がある場合、一時的に権限を付与することです。ロールを設定することで、複数の工程を掛け持ちする場合等の管理と操作が簡略化可能です。
IAMの提供機能は?
IAMでは、以下の主要なアクセス管理機能を提供しています。
・AWS アカウントへの共有アクセス パスワードやアクセスキーを共有することなく、 AWS アカウントのリソースアクセス許可を付与
・アクセス権限の詳細設定 リソースやユーザーに応じた、さまざまなアクセス権限を付与
・多要素認証(MFA) アカウントや個々のユーザーに多要素認証(MFA)を追加し、設定デバイスからのコードの入力によるセキュリティの強化
・ID フェデレーション 他のアカウント所有者(社内ネットワーク、インターネット ID プロバイダー)に対する、 AWS アカウントへの一時的なアクセスを許可
・監査やデータセキュリティ基準への対応 監査サービスとなるAWS CloudTrail により、アカウントのリソースをリクエストしたユーザーに関する情報のログ保存 「PCI DSS レベル 1」に準拠したデータセキュリティ基準
上記機能は、AWSのサービスを横断したアクセス管理に利用できます。例えば、コンピュートサービスとなるAmazon Elastic Compute Cloud (Amazon EC2)で動作するアプリケーションから、 ストレージサービスとなるAmazon Simple Storage Service(Amazon S3)のリソースへの安全なアクセスがIAMによる認証情報により実現可能です。
IAMへのアクセス方法は?
IAMは主要なアクセス方法が提供されており、以下のいずれかの方法で利用可能です。
・AWS マネジメントコンソール AWSで標準的に用いるウェブ管理コンソール
・AWS コマンドラインツール(AWS CLI) 手動操作やスクリプトによる自動実行が可能
・AWS SDK(AWS API) Java・Python・Ruby・.NET・iOS・Android等からの利用
・IAM HTTPS API GETとPOSTによるHTTPSリクエスト
IAMの利用料金は?
IAMは、AWSアカウント機能として追加料金なし(使用料無料)で提供されています。同様に、一次的なセキュリティ認証となるAWS Security Token Service(AWS STS)も追加料金は発生しません。
AWSのユーザー追加の方法は?
各AWSアカウントは、1つ以上のAWSユーザーを作成可能です。ユーザーの作成・追加は、AWSマネジメントコンソール・AWS CLI・Tools for Windows PowerShellおよびAWS APIを用いて行います。 参考:AWS Identity and Access Management(IAM)ユーザーガイド AWS アカウントでの IAM ユーザーの作成
以降で具体的な操作方法を説明していきます。
AWSマネジメントコンソールを用いたAWSのユーザー追加方法は?
ここでは、AWSマネジメントコンソールを用いたAWSのユーザー追加手順について説明します。
(1)AWS マネジメントコンソール にサインインし、IAM コンソールを起動 (2)ナビゲーションペインで「ユーザー」、「ユーザーを追加」を選択 (3)新しいユーザーのユーザー名を入力 この操作は最大10ユーザーまで「別のユーザーの追加」で一括追加可能です。 (4)追加ユーザーに対するアクセス許可を選択 必要に応じ「プログラムによるアクセス」「AWS マネジメントコンソール のアクセス」を選択 (5)「アクセス許可」を選択、「アクセス許可の設定」を指定 次のいずれかを選択「ユーザーをグループに追加」「既存ユーザーからアクセス許可をコピー」「ポリシーの作成」 (6)「次へ: タグ」、「次へ: 確認」 (7)「ユーザー作成」を選択 ここで追加ユーザーのユーザーアクセスキーを表示、保存しておくことことをお勧めします。
AWS CLIを用いたAWSのユーザー追加方法は?
ここでは、AWS CLIを用いたAWSのユーザー追加手順について説明します。
(1)”aws iam create-user”コマンドでユーザーを作成 (2)必要に応じアクセス権の付与 AWS マネジメントコンソールのアクセス権を”aws iam create-login-profile”コマンドで付与 プログラムアクセス権を”aws iam create-access-key”コマンドで付与 (3)”aws iam add-user-to-group”コマンドでユーザーをグループに追加 (4)必要に応じアクセスポリシーをアタッチ ユーザーのアクセス権限を個別設定する場合は、”aws iam attach-user-policy”コマンドでポリシーを設定 カスタム属性を追加する場合は、タグをアタッチ セキュリティ認証管理の権限付与
AWS APIを用いたAWSのユーザー追加方法は?
ここでは、AWS APIを用いたAWSのユーザー追加手順について説明します。
(1)CreateUser APIでユーザーを作成 (2)必要に応じアクセス権の付与 AWS マネジメントコンソールのアクセス権を、CreateLoginProfile APIで付与 プログラムアクセス権をCreateAccessKey APIで付与 (3)AddUserToGroup APIでユーザーをグループに追加 (4)必要に応じアクセスポリシーをアタッチ ユーザーのアクセス権限を個別設定する場合は、AttachUserPolicy APIでポリシーを設定 カスタム属性を追加する場合はタグをアタッチ セキュリティ認証管理の権限付与
ルートユーザーのIAM管理ユーザーを作成するには?
管理者権限を持つIAMユーザーの作成方法は、以下の通りです。
(1)ルートユーザーを選択しAWS マネジメントコンソール にサインインし、IAM コンソールを起動 (2)IAM管理者ユーザーの請求データへのアクセスを有効化 「マイ アカウント」を選択し、「IAM User and Role Access to Billing Information」の「編集」を選択 「IAM アクセスのアクティベート」をチェックし「更新」を選択 ナビゲーションバーで「サービス」を選択し、「IAM」を選択 (3)ナビゲーションペインで「ユーザー」、「ユーザーを追加」を選択 (4)IAM管理者ユーザー名を入力し、ユーザーに対するアクセス許可を選択 「AWS マネジメントコンソール のアクセス」を選択 (5)「アクセス許可」を選択、「アクセス許可の設定」を指定 「ユーザーをグループに追加」から「グループの作成」を選択し、管理者グループ名を入力 「AdministratorAccess」ポリシーをチェックし、「グループの作成」を選択 (6)「次へ: タグ」、「次へ: 確認」 (7)「ユーザー作成」を選択
IAM管理ユーザーを作成することで、不用意にルートユーザーアクセスをすることなく安全にサービス利用することが可能です。 参考:AWS Identity and Access Management(IAM)ユーザーガイド 最初の IAM 管理者ユーザーおよびユーザーグループの作成
AWSのユーザー管理によりクラウドサービスの運用効率を高めましょう
AWSのIAMにより、AWSアカウントを用いずに必要となる権限を付与したユーザーアクセスが実現できます。特に、グループ権限やロール付与を併用することで、さらに大規模サービスの運用効率が高まります。より安全にサービスを活用するためにも用途別ユーザーを設定し、クラウドサービスの運用効率を高めていきましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから