Amazon Web Services ブログ

Category: AWS Identity and Access Management (IAM)

Approach to least privilege

最小権限実現への4ステップアプローチ 後編

AWS のセキュリティベストプラクティスを実現するに当たり、「最小権限の原則」に戸惑ったことはありませんか? AWS の利用では AWS Identity and Access Management (IAM) サービスを避けて通ることは出来ません。そのベストプラクティスとして掲げられているのが、最小権限の原則です。特に強固なセキュリティを求めるユースケースではこの原則の実現が課題になることが多いかと思います。本ブログでは、この最小権限の原則をシステマチックに検討するアプローチの一例をご紹介します。

Read More
Approach to least privilege

最小権限実現への4ステップアプローチ 前編

AWS のセキュリティベストプラクティスを実現するに当たり、「最小権限の原則」に戸惑ったことはありませんか? AWS の利用では AWS Identity and Access Management (IAM)サービスを避けて通ることは出来ません。そのベストプラクティスとして掲げられているのが、最小権限の原則です。特に強固なセキュリティを求めるユースケースではこの原則の実現が課題になることが多いかと思います。本ブログでは、この最小権限の原則をシステマチックに検討するアプローチの一例をご紹介します。

Read More

2020年 AWS Container Security Surveyの結果

この記事は、Results of the 2020 AWS Container Security Survey ( 2020/12/03 投稿 ) を翻訳したものです。 2019 年、我々は初めて AWS Container Security Survey を発表しました。そして、 2020 年も皆様に本 Survey を提供します。 2019 年と同様に、2020 年も AWS のコンテナユーザーに対し匿名での調査を実施しました。調査ページにアクセスした 655 名のうち 295 名が回答に着手し、そのうち 156 名が最後まで回答してくださいました(完了率 52 %)。かかった時間は平均 10 分強でした。質問を提案して下さった方々 及び 本 Survey の拡散に協力してくださった方々に改めてお礼申し上げます。 ご参加いただいた皆様、ご意見をお寄せいただいた皆様、本当にありがとうございました。 グラフを見ると、全体的にコンテナセキュリティに関するグッドプラクティスの点で、良い傾向があることがわかります。スキャニングからポリシーに至るまで、ほぼ全ての主要な項目で 2019 年と比べて採用率が上昇しました。特に、 2 つの点が目立っています。 “supply chain management” への取り組みが低下しているように見えますが、この理由については、調査での質問に関連性があるのか、それともより深い理由があるのか、根本的な理由を明らかにするための調査が必要です。 “signing container […]

Read More
jpmne-quickly-create-a-live-streaming-channel-with-aws-elemental-medialive-workflow-wizard

ライブストリーミングチャンネルをAWS Elemental MediaLive Workflow Wizardで素早く作成する

モバイルの視聴者やウェブサイトに向けて様々な用途でビデオをストリーミングする必要性が高まっています。AWS Elemental MediaLiveは、自動化されたWorkflow Wizardを提供し、数回クリックするだけでライブストリーミングのワークフローを作成することができます。これにより、教育関係者、マーケティング担当者、社内広報チームなどが、ビデオストリーミング技術に関する深い知識がなくても、簡単に大規模なビデオコンテンツを共有できるようになります。

Read More

SaaSテナント分離をAWS IAMとABACで実装する方法

この記事は、How to implement SaaS tenant isolation with ABAC and AWS IAMを訳したものです。 マルチテナントアプリケーションにおいては各テナントのリソースが他のテナントからアクセスできないように設計を行う必要があります。AWS Identity and Access Management (IAM) は多くの場合、この目的を達成するための重要な要素となりえます。一方で、IAMを用いることによる課題の一つとして、テナント分離を実現するのに必要な IAM ポリシーの数と複雑さが急速に拡大することにより分離モデルの規模と管理性に影響を与えることが挙げられます。IAM の 属性ベースのアクセスコントロール (ABAC) の仕組みはこの課題を解決するための方法を開発者に提供しています。 このブログ記事では、IAM の ABAC を用いてマルチテナント環境のテナント分離を実装する方法について解説します。

Read More

IAM Access Analyzer の更新 – ポリシー検証

AWS Identity and Access Management (IAM) は AWS の重要で基本的な部分です。特定の AWS のサービスやリソースへのアクセスのレベルを定義する IAM ポリシーおよびサービスコントロールポリシー (SCP) を作成して、そうしたポリシーを IAM プリンシパル (ユーザーおよびロール)、ユーザーの グループ、または AWS リソースにアタッチすることができます。IAM で得られるきめ細かなコントロールでは、IAM を適切に使用する責任が発生します。ほとんどの場合、最小権限アクセス確立するのが妥当です。IAM チュートリアルは詳細を学ぶのに役立ち、IAM Access Analyzer は、外部エンティティと共有されているリソースを特定するのに役立ちます。最近、IAM Access Analyzer の更新を開始しました。これにより、アクセス許可の変更をデプロイする前に S3 バケットへのアクセスを検証することができます。 新しいポリシーの検証 本日、IAM Access Analyzer にポリシー検証を追加することを発表いたします。この強力な新機能は、時間をかけてテストされた AWS のベストプラクティスを活用する IAM ポリシーと SCP を構築するのに役立ちます。 デベロッパーおよびセキュリティチームが使用できるように設計されており、IAM プリンシパルにポリシーがアタッチされる前に検証が行われます。セキュリティ体制を改善し、大規模なポリシー管理を簡素化できるように設計された 100 以上のチェックが実行されます。各チェックの結果には、詳細な情報や具体的な推奨事項が含まれます。 検証には、IAM コンソールの JSON ポリシーエディタ、ならびにコマンドライン (AWS Access Analyzer 検証ポリシー) […]

Read More

CloudKnox と AWS Control Tower を使用して AWS でのマルチアカウントのアクセス許可管理を自動化

この記事は、AWS の ISV ソリューションアーキテクチャリーダーであるKanishk Mahajan、CloudKnox の カスタマーサクセス責任者であるゲスト寄稿者 Maya Neelakandhan 氏によるAutomate multi account permissions management in AWS using CloudKnox and AWS Control Towerを翻訳したものです。 はじめに AWS のアクセス許可管理により、セキュリティチームとクラウドインフラストラクチャチームは、ID アクセス許可の誤用からクラウドリソースを保護できます。クラウドセキュリティでは、AWS 組織内のすべての AWS アカウントで、最小権限ポリシーを継続的に適用する必要があります。 マルチアカウント戦略を持つことは、リソースの分離を強化するためのベストプラクティスです。また、規制やコンプライアンスのニーズを満たし、オペレーションコストを追跡し、セキュリティをさらに強化するのにも役立ちます。AWS Control Tower は、AWS のベストプラクティスを使用して、Well-Architected マルチアカウントのベースラインを確立します。また、AWS アカウント全体でのガバナンスも有効にします。多くのお客様は、AWS Control Tower を使用してマルチアカウントの AWS 環境を管理および統制しています。AWS Control Tower を使用したマルチアカウント AWS 環境の管理の詳細については、「AWS Control Tower の使用開始」を参照してください。 CloudKnox は APN アドバンストパートナーです。<a

Read More

SAMLセッションタグを使用してフェデレーションユーザーのSession Managerアクセスを構成する

このブログ投稿では、フェデレーションユーザーに対して、AWS Systems Manager Session Managerへのアクセス権限を属性ベースのアクセスコントロール(ABAC=Attribute Based Access Control)にて設定する方法を示します。SAMLセッションタグを使用することで、外部IDシステムで定義された属性をAWS内のABACの判定の一部として使用できます。たとえば、AWS Identity and Access Management(IAM)ユーザーが所属する部門に基づいて、特定のマネージドインスタンスへのアクセスを許可することができます。フェデレーションユーザーが使用できる属性の詳細については、「新しい ID フェデレーション – AWS でアクセスコントロールに従業員属性を使用する」を参照してください。

Read More

サーバーレス LAMP スタック – Part 2: リレーショナルデータベース

本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート1:サーバーレス LAMP スタックの紹介 パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ この投稿では、サーバーレスアプリケーションで Amazon Aurora MySQLリレーショナルデータベースを使用する方法を学びます。Amazon RDS Proxy を使用してデータベースへの接続をプールおよび共有する方法と、構成を選択する方法を示します。この投稿のコード例は PHP で記述されており、この GitHubリポジトリにあります。なお、この概念自体は、AWS Lambda でサポートされている他のランタイム言語にも適用できますので、PHP に限定しない内容としてお読みいただけます。 サーバーレス LAMP スタック このサーバーレス LAMP スタックアーキテクチャについては、この記事で説明しています。このアーキテクチャでは、PHP Lambda 関数を使用して、Amazon Aurora MySQL データベースの読み取りと書き込みを行います。 Amazon Aurora は、MySQL および PostgreSQL データベースに高いパフォーマンスと可用性を提供します。基盤となるストレージは、最大64 テビバイト(TiB)まで需要に応じて自動的に拡張されます。 Amazon Aurora DB […]

Read More

VPC設定にAWS Lambda IAM条件キーを使用する

本投稿は、Senior Developer Advocate, Julian Woodの寄稿によるものです。 AWS Identity and Access Management(IAM)条件キーを使用して、AWS Lambda 関数のAmazon Virtual Private Cloud(VPC)設定を制御できるようになりました 。 IAM条件キーを使用すると、IAMポリシーステートメントが適用される条件をさらに絞り込むことができます。関数を作成および更新する権限を付与するときに、IAMポリシーで新しい条件キーを使用できます。 VPC設定の3つの新しい条件キーは、lambda:VpcIds、lambda:SubnetIds、そして、 lambda:SecurityGroupIds です。キーにより、ユーザーが1つ以上の許可されたVPC、サブネット、およびセキュリティグループに接続された関数のみをデプロイできるようにすることができます。ユーザーが許可されていないVPC設定で関数を作成または更新しようとすると、Lambdaは操作を拒否します。 LambdaとVPCの関係を理解する Lambdaの実行環境はすべて、Lambdaサービスが所有するVPC内で動作します。 Lambda関数は、Lambda API を呼び出すことによってのみ呼び出すことができます。関数が実行される実行環境への直接のネットワークアクセスはありません。 非VPC接続のLambda関数 Lambda関数がカスタマーアカウントのVPCに接続するように構成されていない場合、関数はパブリックインターネットで利用可能なすべてのリソースにアクセスできます。これには、他のAWSサービス、APIのHTTPSエンドポイント、またはAWS外のサービスとエンドポイントが含まれます。関数はVPC内のプライベートリソースに直接には接続できません。 VPC接続のLambda関数 Lambda関数を設定して、カスタマーアカウントのVPC内のプライベートサブネットに接続できます。 Lambda関数がカスタマーアカウントVPCに接続するように設定されている場合も、そのLambda関数は引き続きAWS LambdaサービスVPC内で実行されます。この場合、Lambda関数はすべてのネットワークトラフィックをカスタマーアカウント内VPC経由で送信し、このカスタマーVPCのネットワーク制御に従います。これらのコントロールを使用して、セキュリティグループ とネットワークACL を設定し関数が接続可能な範囲を制御できます。Lambda関数からの送信トラフィックは独自のネットワークアドレス空間から送信され、VPCフローログ を使用してネットワークを可視化できます。 パブリックインターネットを含むネットワークロケーションへのアクセスを制限できます。 カスタマーアカウント内のVPCに接続されたLambda関数は、デフォルトではインターネットにアクセスできません。関数にインターネットへのアクセスを許可するには、送信トラフィックをパブリックサブネットのネットワークアドレス変換(NAT)ゲートウェイ にルーティングできます。 Lambda関数を設定してカスタマーアカウント内のVPCに接続すると、AWS Hyperplane によって管理される共有Elastic Network Interface(ENI)が使用されます。この接続により、VPC-to-VPC NATが作成され、クロスアカウントに接続されます。これにより、Lambda関数からプライベートリソースへのネットワークアクセスが可能になります。 AWS Lambda サービスVPCからVPC-to-VPT NATを利用しカスタマーVPCへ Hyperplane ENIは、Lambdaサービスが制御し、カスタマーアカウント内のVPCに存在するマネージドネットワークインターフェースリソースです。複数の実行環境がENIを共有して、カスタマーアカウントのVPC内のリソースに安全にアクセスします。カスタマー側からのLambda実行環境(LambdaサービスVPC内)への直接のネットワークアクセスは出来ないことにご注意ください。 ENIはいつ作られるのか? Lambda関数が作成されるか、そのVPC設定が更新されると、ネットワークインターフェイスの作成が行われます。関数が呼び出されると、実行環境は事前に作成されたネットワークインターフェースを使用し、そのインターフェースへのネットワークトンネルをすばやく確立します。これにより、コールドスタート時のネットワークインターフェースの作成と接続に関連していたレイテンシが削減 されています。 どのくらいの数のENIが必要か? ネットワークインターフェイスは実行環境全体で共有されるため、通常、関数ごとに必要なネットワークインターフェイスはほんの一握りです。アカウント内の関数全体で一意のセキュリティグループとサブネットのペアごとに、個別のネットワークインターフェイスが必要です。同じアカウントの複数の関数が同じセキュリティグループとサブネットのペアを使用する場合、同じネットワークインターフェイスを再利用します。このように、複数の関数を備えているが、ネットワークとセキュリティの構成が同じである単一のアプリケーションは、既存のインターフェース構成の恩恵を受けることができます。 関数のスケーリングは、ネットワークインターフェイスの数に直接関係しなくなりました。Hyperplane […]

Read More