Amazon Web Services ブログ

Category: AWS Organizations

新機能: AWS CloudFormation StackSets が AWS Organization のマルチアカウントで利用可能に

 Infrastructure-as-code とは、JSON 形式や YAML 形式などの機械可読テキストファイル、または Java、Python、TypeScript に代表される一般的なプログラミング言語などを使用した IT インフラストラクチャの作成および管理のプロセスを指します。AWS では、AWS CloudFormation または AWS Cloud Development Kit を使用して、クラウドインフラストラクチャの作成、管理を自動化しているお客様が多数見られます。 CloudFormation StackSets を利用すると、わずか数回のクリックで複数のリージョンにある複数の AWS アカウントにわたって CloudFormation スタックをロールアウトできるようになります。StackSets をローンチした当時は、アカウントのグループ化の目的はまずビリングプロセスにありました。お客様は AWS Organizations のサービス開始以降、ビリング、アクセス制御、コンプライアンス、セキュリティ、リソース共有などさまざまなビジネスニーズにわたって複数の AWS アカウントを集中管理できるようになっています。 Organizations で CloudFormation StackSets を使用する 本日より、お客様が AWS Organizations で、複数アカウントを管理するための CloudFormation StackSets の使用法がシンプルになります。 これで、複数のリージョン、複数の AWS アカウントにわたって、いかなる AWS CloudFormation 対応サービスであっても一元的にオーケストレーションできるようになります。たとえば、組織内で複数のリージョン、複数の AWS アカウントにわたって、AWS Identity and Access Management […]

Read More

お使いの AWS Organization で、サービスコントロールポリシーを使用して、複数アカウントのアクセス許可のガードレールを設定する方法

AWS Organizations では、複数アカウントに対する集中ガバナンスおよび集中マネジメントを提供します。集中セキュリティ管理者の皆さんは AWS Organizations を使用してサービスコントロールポリシー (SCP) を適用することで、IAM プリンシパル (ユーザーおよびロール) が忠実に順守するコントロールを確立しています。今回、SCP を使用して、AWS Identity and Access Management (IAM) ポリシー言語がサポートする精緻なコントロールでアクセス許可のガードレールを設定できることになりました。これにより、ポリシーを微調整して、組織内のガバナンスルールの要件に厳密に適合させることがこれまで以上に簡単になります。 SCP を使用すると、Conditions、Resources、NotAction を指定して、組織全体または組織単位で複数アカウントにわたるアクセスを拒否できます。たとえば、SCP を使って、特定の AWS リージョンへのアクセスを制限できます。また、お客様の集中管理者が使用する IAM ロールのような共有リソースを、IAM プリンシパルが削除できないようにすることも可能です。さらに、お客様のガバナンスコントロールの例外を定義できると同時に、特定の管理者ロールを除いてアカウント内のすべての IAM エンティティ (ユーザー、ロール、ルート) に対するサービスアクションを制限できます。 SCP を使ってアクセス許可のガードレールを運用するには、AWS Organizations コンソールにある新しいポリシーエディタを使用します。このエディタ内でアクション、リソース、条件を追加することで、SCP を簡単に作成できます。この記事では、SCP の概要をご説明し、新機能をご紹介して、さらに皆さんの組織でも今すぐ使えるような SCP のサンプルの作成方法をご覧いただきます。 サービスコントロールポリシーという概念の概要 例をいくつかご紹介する前に、SCP の機能と AWS Organizations について説明します。 SCP は、アカウント内のすべての IAM エンティティに対するアクセス権限を一元管理できる機能を提供します。そのため、皆さんが必要だと考えるアクセス許可を社内の対象者全員に対して施行できます。SCP を使用すると、開発者が自分のアクセス許可を管理する自由度が増しますが、これは開発者のオペレーションが皆さんが定義した境界線内に限られるからです。 SCP は AWS Organizations によって作成、適用します。組織を作成すると、AWS […]

Read More

AWS Organizationsを利用したアカウント作成の自動化

こんにちは、ソリューションアーキテクトの千葉です。 本日はAWS Organizationsを利用したAWSアカウントの作成・管理の自動化方法についてご紹介します。 AWS Organizationsは、組織内のAWSアカウントを統合管理し、セキュリティを高めることができるサービスです。サービスコントロールポリシー (SCP)を利用することで、組織内のAWSアカウントに実行を許可するサービスとアクションを一元的に管理することができます。 AWS Organizationsのもう一つの特徴は、APIを通じて組織配下に新しいAWSアカウントを作成することができることです。これまでは、AWSアカウントを新たに作るにあたって、AWSアカウント作成、連絡先情報入力、お支払情報入力、(必要に応じて)一括請求設定といった手順をマニュアルで実施する必要がありましたが、AWS Organizationsを利用すればこれらの操作はCreateAccountというたった一つのAPIに置換えられます。 AWS Organizationsで作成されたメンバーアカウントには、マスターアカウントのユーザーからアクセス可能なIAMロールが自動作成されます。AWS Security Token Service (STS)を利用してこのIAMロールにアクセスする一時的なセキュリティ認証情報を取得し、AWS Command Line Interface (CLI)やAWS SDKsを使って作成したメンバーアカウントに対して共通設定を施したり、定期的な環境チェックを実行したりすることができます。 それでは、アカウント作成およびSTSを利用したアカウント環境設定の手順を説明していきます。   メンバーアカウントの作成 まずは組織配下にメンバーアカウントを作成します。操作を実行するIAMユーザーまたはIAMロールには、以下のようにOrganizationsを操作する権限を与えておきます。 { “Version”: “2012-10-17”, “Statement”: [ { “Effect”: “Allow”, “Action”: [ “organizations:*” ], “Resource”: [ “*” ] } ] } CreateAccountのパラメーターには、アカウント名およびEmailアドレスを指定する必要があります。IamUserAccessToBillingパラメーターはメンバーアカウントのIAMユーザーにBilling情報へのアクセスを許可するかどうかの設定で、デフォルトでALLOWになっています。RoleNameパラメーターはメンバーアカウントに作成されるIAMロールの名前で、何も指定しなければOrganizationAccountAccessRoleという名前が割り当てられます。 import boto3 orgs = boto3.client(‘organizations’,region_name=’us-east-1′) createAccountRequest = orgs.create_account( “AccountName”: “string”, “Email”: […]

Read More

AWS Organizations – 複数の AWS アカウントのポリシーベースの管理

複数の AWS アカウントを管理しているお客様が少なくありません。いくつかの理由が考えられます。AWS を徐々に導入して全体に広げている組織では、個別のチームや部門が一元管理されることなくクラウドコンピューティングに移行している場合があります。合併や買収を通じて成長している組織では、既存のアカウントを引き継ぐ場合があります。厳格なコンプライアンスのガイドラインに従うため、またはアプリケーション間に強い隔離障壁を設けるための通常の対策として複数のアカウントを作成する場合もあります。さらに開発、テスト、実稼働の目的別に異なるアカウントを使用する場合もあります。アカウント数が増大すると、全体をスケーラブルに管理する方法が必要になります。お客様は、チーム、部門、アプリケーションごとのアカウントを個別に扱わずに、アクセスコントロールポリシーを定義して全体、一部、または個別のアカウントに簡単に適用する方法を求めています。このようなお客様は、さらに請求やコスト管理にも関心が高い場合が多く、ボリュームディスカウントやリザーブドインスタンスなどの AWS の料金面でのメリットを、より広範囲にアカウントに反映できることを希望しています。 AWS Organizations がプレビューから一般公開へ このユースケースの重要性が増していることから、本日より、AWS Organizations のプレビューを終了して一般提供を開始します。AWS Organizations では複数の AWS アカウントを一元管理できます。組織単位 (OU) の階層構造を作成して各アカウントを OU に割り当て、さらにポリシーを定義して階層構造の全体、特定の OU、または特定のアカウントに適用できます。また、既存の AWS アカウントを招待して組織に追加できます。新規アカウントを作成することもできます。以上のすべての機能は、AWS Management Console、AWS Command Line Interface (CLI)、および AWS Organizations API から利用できます。AWS Organizations の理解に役立つ重要な用語と概念をいくつか紹介します (ユーザーが組織の AWS アカウント全体に対して全権を持ち、マスターアカウントを担当する管理者であることを前提とします)。 組織は、管理対象の AWS アカウントの統合セットです。新しい組織を作成して、サービスコントロールポリシーなどの高度なアカウントレベルのコントロールを実装できます。組織の管理者は、アカウント別に許可および拒否する AWS API 関数やリソースのリストを管理できます。たとえば、先端 R&D チームには広範な AWS のサービスへのアクセス権を与え、メインストリームの開発およびテストアカウントにはアクセス権を一部制限できます。または、実稼働環境では、HIPAA の準拠に該当する AWS のサービスに限ってアクセスを許可できます。AWS の既存のお客様は、一括請求 (コンソリデーティッドビリング) と呼ばれる AWS […]

Read More