AWSのアイデンティティとアクセス管理

パート1/3

Amazonは、2011年にCloudFrontに対するAWS Identity&Access Management(IAM)サポートの可用性を発表しました。 IAMは2010年に開始され、S3サポートを含む。 AWS Identity&Access Management(IAM)を使用すると、AWSアカウント内で複数のユーザーを持つことができます。 Amazon Web Services(AWS)を使用している場合は、AWSのコンテンツを管理する唯一の方法は、ユーザー名とパスワードまたはアクセスキーを提供することだけです。

これは私たちのほとんどにとって本当のセキュリティ上の懸念です。 IAMはパスワードとアクセスキーを共有する必要性を排除します。

AWSのメインパスワードを絶えず変更したり、新しいキーを生成したりするのは、スタッフが私たちのチームを離れるときのちょっとした解決策です。 AWS Identity&Access Management(IAM)は、個々のキーを持つ個々のユーザーアカウントを許可するのに適していました。 しかし、私たちはS3 / CloudFrontユーザーですので、最終的に起こったIAMにCloudFrontが追加されるのを見てきました。

私はこのサービスに関する文書がちょっとばらばらになっているのを発見しました。 アイデンティティ&アクセス管理(IAM)のサポートの範囲を提供するサードパーティの製品がいくつかあります。 しかし、開発者は通常は倹約しているので、Amazon S3サービスでIAMを管理するための無料のソリューションを探しました。

この記事では、IAMをサポートするコマンドラインインターフェイスを設定し、S3アクセスでグループ/ユーザーを設定するプロセスについて説明します。 Identity&Access Management(IAM)の設定を開始する前に、Amazon AWS S3アカウントのセットアップが必要です。

私の記事、Amazon Simple Storage Service(S3)を使用して、AWS S3アカウントを設定するプロセスを説明します。

ここでは、IAMでのユーザの設定と実装に必要な手順を示します。 これはWindows用に書かれていますが、Linux、UNIX、Mac OSXでの使用を調整できます。

  1. コマンドラインインターフェイス(CLI)のインストールと設定
  1. グループを作成する
  2. S3 BucketとCloudFrontにグループアクセス権を与える
  3. ユーザーの作成とグループへの追加
  4. ログインプロファイルの作成とキーの作成
  5. テストアクセス

コマンドラインインターフェイス(CLI)のインストールと設定

IAMコマンドラインツールキットは、AmazonのAWS Developers Toolsで利用可能なJavaプログラムです。 このツールを使用すると、シェルユーティリティ(Windowsの場合はDOS)からIAM APIコマンドを実行できます。

すべてのIAMコマンドは、コマンドプロンプトから実行できます。 すべてのコマンドは "iam-"で始まります。

グループを作成する

AWSアカウントごとに作成できるグループは最大100個です。 ユーザレベルでIAMの権限を設定することはできますが、グループを使用することがベストプラクティスです。 ここでは、IAMでグループを作成するプロセスを示します。

S3 BucketとCloudFrontにグループアクセス権を与える

ポリシーは、あなたのグループがS3またはCloudFrontでできることを制御します。 デフォルトでは、あなたのグループはAWSの何にもアクセスできません。 私はポリシーに関する文書がOKであることを発見しましたが、ほんの一握りのポリシーを作成するにあたって、私は彼らが働きたいと思ったやり方で仕事をするために少しの試行錯誤を行いました。

ポリシーを作成するためのオプションがいくつかあります。

コマンドプロンプトに直接入力することもできます。 ポリシーを作成して調整している可能性があるので、テキストファイルにポリシーを追加して、iam-groupuploadpolicyコマンドでパラメータとしてテキストファイルをアップロードするほうが簡単だったようです。 ここでは、テキストファイルを使用してIAMにアップロードするプロセスがあります。

IAMポリシーには多くのオプションがあります。 Amazonは、AWS Policy Generatorという本当にクールなツールを提供しています。 このツールは、ポリシーを作成し、ポリシーを実装するために必要な実際のコードを生成するGUIを提供します。 また、「AWS IDとアクセス管理の使用」オンラインドキュメントの「アクセスポリシー言語」のセクションを参照することもできます。

ユーザーの作成とグループへの追加

新しいユーザーを作成してグループに追加してアクセスを提供するプロセスには、いくつかのステップがあります。

ログオンプロファイルの作成とキーの作成

この時点で、ユーザーを作成しましたが、実際にS3からオブジェクトを追加または削除する方法をユーザーに提供する必要があります。

IAMを使用してユーザーにS3へのアクセスを提供する2つのオプションがあります。 ログインプロファイルを作成し、ユーザーにパスワードを提供することができます。 彼らは、自分の資格情報を使ってAmazon AWS Consoleにログインできます。 もう1つの選択肢は、ユーザにアクセスキーと秘密鍵を与えることです。 彼らは、S3 Fox、CloudBerry S3 Explorer、S3 Browserのようなサードパーティのツールでこれらのキーを使うことができます。

ログインプロファイルを作成する

S3ユーザーのログインプロファイルを作成すると、Amazon AWS Consoleにログインするために使用できるユーザー名とパスワードが提供されます。

キーの作成

AWSシークレットアクセスキーと対応するAWSアクセスキーIDを作成することで、前述のようなサードパーティのソフトウェアを使用することができます。 セキュリティ対策として、ユーザープロファイルを追加するプロセス中にのみこれらのキーを取得できることに注意してください。 コマンドプロンプトから出力をコピー&ペーストして、テキストファイルに保存してください。 ファイルをユーザーに送信することができます。

テストアクセス

これで、IAMグループ/ユーザーが作成され、ポリシーを使用してグループにアクセスできるようになったので、アクセスをテストする必要があります。

コンソールアクセス

ユーザーは、ユーザー名とパスワードを使用してAWS Consoleにログインできます。 ただし、これはメインのAWSアカウントで使用される通常のコンソールログインページではありません。

Amazon AWSアカウントにのみログインフォームを提供する特別なURLがあります。 ここに、あなたのIAMユーザーのためにS3にログインするためのURLがあります。

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBERは、通常のAWSアカウント番号です。 これは、Amazon Web Serviceのログインフォームにログインすることで取得できます。 ログインしてアカウント| アカウントアクティビティ あなたのアカウント番号は右上隅にあります。 ダッシュをはずしてください。 URLはhttps://123456789012.signin.aws.amazon.com/console/s3のようになります。

アクセスキーの使用

この記事で既に述べたサードパーティのツールをダウンロードしてインストールすることができます。 サードパーティツールのドキュメントごとに、アクセスキーIDとシークレットアクセスキーを入力します。

最初のユーザーを作成し、そのユーザーがS3で行う必要があるすべてのことを実行できることを完全にテストするようにしておくことを強くお勧めします。 ユーザーの1人を確認したら、すべてのS3ユーザーのセットアップを続行できます。

リソース

アイデンティティとアクセス管理(IAM)をよりよく理解できるように、いくつかのリソースを紹介します。