Cloudcraft API による AWS アカウントの追加 Cloudcraft は現在、Web インターフェイスを使用して複数の AWS アカウントを一度に追加する方法を提供していませんが、これは API を介して可能です。
AWS アカウントの追加とスキャン、および Cloudcraft の開発者 API の使用は、Pro 契約者のみが利用できます。詳しくは
Cloudcraft の料金ページ をご覧ください。
前提条件 始める前に、以下があることを確認してください。
AWS IAM ロールパラメーターの取得 まずは Cloudcraft の API の Get my AWS IAM Role パラメーター エンドポイントを使用し、レスポンスを保存することから始めます。
そのためには、コマンドラインを開き、以下の cURL コマンドを入力します。
Copy
curl \
--url 'https://api.cloudcraft.co/aws/account/iamParameters' \
--tlsv1.2 \
--proto '=https' \
--compressed \
--silent \
--header "Authorization: Bearer ${ API_KEY } "
API_KEY
を Cloudcraft の API キーに置き換えます。レスポンスは以下のようになります。
Copy
{
"accountId" : "1234567890" ,
"externalId" : "ex53e827-a724-4a2a-9fec-b13761540785" ,
"awsConsoleUrl" : "https://console.aws.amazon.com/iam/home?#/roles..."
}
次のステップで IAM ロールを作成する際に必要になるので、accountId
フィールドと externalId
フィールドのコピーを取っておきます。
IAM ロールの作成 次に、AWS CLI で create-role コマンドを使用して IAM ロールを作成します。
Copy
aws iam create-role \
--role-name 'cloudcraft' \
--description 'Programmatically created IAM role for use with Cloudcraft.' \
--max-session-duration '3600' \
--assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::ACCOUNT_ID:root"},"Action":"sts:AssumeRole","Condition":{"StringEquals":{"sts:ExternalId":"EXTERNAL_ID"}}}]}' \
--query 'Role.Arn' \
--output 'text'
ACCOUNT_ID
と EXTERNAL_ID
を前のステップで取得した値に置き換えます。
成功すると、ロールのアカウント ARN がレスポンスとして表示されます。この値は保存しておいてください。
しかし、このロールにはまだ権限が割り当てられていません。ReadOnlyAccess
ロールを接続するには、AWS CLI で attach-role-policy
コマンドを使用します。
Copy
aws iam attach-role-policy \
--role-name 'cloudcraft' \
--policy-arn 'arn:aws:iam::aws:policy/ReadOnlyAccess'
注 : 前のステップでロールに別の名前を付けた場合は、cloudcraft を使用した名前に必ず置き換えてください。
Cloudcraft への AWS アカウントの追加 最後に、IAM ロールを作成したら、AWS アカウントを Cloudcraft に追加できます。このためには、作成したロールの ARN を使って Cloudcraft の開発者 API を呼び出します。
Copy
curl \
--url 'https://api.cloudcraft.co/aws/account' \
--tlsv1.2 \
--proto '=https' \
--silent \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer ${ API_KEY } " \
--data-raw '{"name":"AWS_ACCOUNT_NAME","roleArn":"ROLE_ARN","region":"us-east-1"}' \
AWS_ACCOUNT_NAME
を Cloudcraft でアカウントに付けたい名前に、ROLE_ARN
を前のステップで作成したロールの ARN に置き換えます。また、us-east-1
はアカウントをチェックするリージョンに、API_KEY
は API キーに置き換えます。
アカウントの追加に成功したら、同じコマンドを使用して Cloudcraft に他のアカウントを追加できます。