Snow Family デバイスでIAMローカルで使用する - AWS Snowball Edge デベロッパーガイド

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Snow Family デバイスでIAMローカルで使用する

AWS Identity and Access Management (IAM) は、 AWS Snowball Edge デバイスで実行される AWS リソースへのアクセスを安全に制御するのに役立ちます。を使用してIAM、誰が認証 (サインイン) され、誰がリソースの使用を認可 (アクセス許可あり) されているかを制御します。

IAM は、 デバイスでローカルでサポートされています。ローカルIAMサービスを使用して、新しいユーザーを作成し、IAMポリシーをアタッチできます。これらのポリシーを使用して、割り当てられたタスクの実行に必要なアクセスを許可できます。例えば、ユーザーにデータ転送機能を付与できますが、新しい Amazon EC2互換インスタンスを作成する機能を制限できます。

さらに、デバイス上で AWS Security Token Service (AWS STS) を使用して、ローカルのセッションベースの認証情報を作成できます。IAM サービスの詳細については、IAM「 ユーザーガイド」の「入門」を参照してください。

デバイスのルート認証情報を無効にすることはできません。また、アカウント内のポリシーを使用して AWS アカウント ルートユーザーへのアクセスを明示的に拒否することはできません。ルートユーザーアクセスキーを保護し、デバイスと日常的にやり取りするためのIAMユーザー認証情報を作成することをお勧めします。

重要

このセクションのドキュメントは、Edge デバイスでIAMローカルで使用する場合 AWS Snowball に適用されます。IAM で を使用する方法については AWS クラウド、「」を参照してくださいでの ID とアクセスの管理 AWS Snowball

AWS サービスが Snowball Edge で適切に機能するには、サービスのポートを許可する必要があります。詳細については、「Snow Family デバイス上の AWS サービスのポート要件」を参照してください。

Snowball Edge での AWS CLI および APIオペレーションの使用

Snowball Edge で IAM、 AWS STS、Amazon S3、Amazon EC2 コマンドを発行するために AWS CLI または APIオペレーションを使用する場合は、region「」として を指定する必要がありますsnow。 これは、次の例に示すように、 コマンド自体で aws configureまたは を使用して実行できます。

aws configure --profile abc AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: 1234567 Default region name [None]: snow Default output format [None]: json

または

aws iam list-users --profile snowballEdge --endpoint http://192.0.2.0:6078 --region snow
注記

AWS Snowball Edge でローカルで使用されるアクセスキー ID とアクセスシークレットキーは、 のキーと交換できません AWS クラウド。

Snowball Edge でサポートされているIAM AWS CLI コマンドのリスト

以下は、Snowball Edge デバイスでIAMサポートされている の AWS CLI コマンドとオプションのサブセットの説明です。コマンドまたはオプションが以下に示されていない場合、そのコマンドまたはオプションはサポートされていません。コマンドでサポートされていないパラメータについては、説明に記載されています。

  • attach-role-policy – 指定されたマネージドポリシーを指定されたIAMロールにアタッチします。

  • attach-user-policy – 指定された管理ポリシーを指定されたユーザーにアタッチします。

  • create-access-key – 指定されたユーザーの新しいローカルIAMシークレットアクセスキーと対応する AWS アクセスキー ID を作成します。

  • create-policy - デバイスの新しいIAM管理ポリシーを作成します。

  • create-role – デバイスの新しいローカルIAMロールを作成します。以下のパラメータはサポートされていません

    • Tags

    • PermissionsBoundary

  • create-user – デバイスの新しいローカルIAMユーザーを作成します。以下のパラメータはサポートされていません

    • Tags

    • PermissionsBoundary

  • delete-access-key – 指定されたユーザーの新しいローカルIAMシークレットアクセスキーと対応する AWS アクセスキー ID を削除します。

  • delete-policy - 指定した管理ポリシーを削除します。

  • delete-role - 指定したロールを削除します。

  • delete-user - 指定したユーザーを削除します。

  • detach-role-policy – 指定されたロールから指定された管理ポリシーを削除します。

  • detach-user-policy – 指定されたユーザーから指定された管理ポリシーを削除します。

  • get-policy — ポリシーのデフォルトバージョン、ポリシーがアタッチされているローカルIAMユーザー、グループ、ロールの合計数など、指定されたマネージドポリシーに関する情報を取得します。

  • get-policy-version – ポリシードキュメントを含む、指定されたマネージドポリシーの指定されたバージョンに関する情報を取得します。

  • get-role – ロールのパス、、GUID、ロールを引き受けるアクセス許可を付与するロールの信頼ポリシーなどARN、指定されたロールに関する情報を取得します。

  • get-user – IAM ユーザーの作成日、パス、一意の ID、 など、指定されたユーザーに関する情報を取得しますARN。

  • list-access-keys – 指定されたIAMユーザーIDsに関連付けられたアクセスキーに関する情報を返します。

  • list-attached-role-policies – 指定されたIAMロールにアタッチされているすべての管理ポリシーを一覧表示します。

  • list-attached-user-policies – 指定されたIAMユーザーにアタッチされているすべての管理ポリシーを一覧表示します。

  • list-entities-for-policy – 指定された管理ポリシーがアタッチされているすべてのローカルIAMユーザー、グループ、ロールを一覧表示します。

    • --EntityFilter: 値として user および role のみがサポートされます。

  • list-policies - ローカル AWS アカウントで使用可能なすべての管理ポリシーを一覧表示します。次のパラメータはサポートされていません

    • --PolicyUsageFilter

  • list-roles — 指定されたパスプレフィックスを持つローカルIAMロールを一覧表示します。

  • list-users – 指定されたパスプレフィックスを持つIAMユーザーを一覧表示します。

  • update-access-key – 指定されたアクセスキーのステータスをアクティブから非アクティブに変更するか、その逆に変更します。

  • update-assume-role-policy – IAMエンティティにロールを引き受けるアクセス許可を付与するポリシーを更新します。

  • update-role - ロールの説明または最大セッション継続時間の設定を更新します。

  • update-user – 指定されたIAMユーザーの名前および/またはパスを更新します。

Snow Family デバイスでサポートされているIAMAPIオペレーション

Snowball Edge で使用できるIAMAPIオペレーションを次に示します。IAMAPIリファレンスの説明へのリンクがあります。

  • AttachRolePolicy – 指定されたマネージドポリシーを指定されたIAMロールにアタッチします。

  • AttachUserPolicy – 指定された管理ポリシーを指定されたユーザーにアタッチします。

  • CreateAccessKey – 指定されたユーザーの新しいローカルIAMシークレットアクセスキーと対応する AWS アクセスキー ID を作成します。

  • CreatePolicy – デバイスの新しいIAM管理ポリシーを作成します。

  • CreateRole – デバイスの新しいローカルIAMロールを作成します。

  • CreateUser – デバイスの新しいローカルIAMユーザーを作成します。

    以下のパラメータはサポートされていません

    • Tags

    • PermissionsBoundary

  • DeleteAccessKey– 指定されたアクセスキーを削除します。

  • DeletePolicy – 指定された管理ポリシーを削除します。

  • DeleteRole – 指定されたロールを削除します。

  • DeleteUser – 指定されたユーザーを削除します。

  • DetachRolePolicy – 指定されたロールから指定された管理ポリシーを削除します。

  • DetachUserPolicy – 指定されたユーザーから指定された管理ポリシーを削除します。

  • GetPolicy – ポリシーのデフォルトバージョン、ポリシーがアタッチされているローカルIAMユーザー、グループ、ロールの合計数など、指定されたマネージドポリシーに関する情報を取得します。

  • GetPolicyVersion – ポリシードキュメントを含む、指定されたマネージドポリシーの指定されたバージョンに関する情報を取得します。

  • GetRole – ロールのパス、、、ロールを引き受けるアクセス許可を付与するロールの信頼ポリシーなどGUIDARN、指定されたロールに関する情報を取得します。

  • GetUser – IAM ユーザーの作成日、パス、一意の ID、 など、指定されたユーザーに関する情報を取得しますARN。

  • ListAccessKeys – 指定されたIAMユーザーIDsに関連付けられたアクセスキーに関する情報を返します。

  • ListAttachedRolePolicies – 指定されたIAMロールにアタッチされているすべての管理ポリシーを一覧表示します。

  • ListAttachedUserPolicies – 指定されたIAMユーザーにアタッチされているすべての管理ポリシーを一覧表示します。

  • ListEntitiesForPolicy – IAM ユーザーの作成日、パス、一意の ID、 など、指定されたユーザーに関する情報を取得しますARN。

    • --EntityFilter: 値として user および role のみがサポートされます。

  • ListPolicies – ローカル で使用可能なすべての マネージドポリシーを一覧表示します AWS アカウント。次のパラメータはサポートされていません

    • --PolicyUsageFilter

  • ListRoles – 指定されたパスプレフィックスを持つローカルIAMロールを一覧表示します。

  • ListUsers – 指定されたパスプレフィックスを持つIAMユーザーを一覧表示します。

  • UpdateAccessKey – 指定されたアクセスキーのステータスをアクティブから非アクティブに変更します。またはその逆に変更します。

  • UpdateAssumeRolePolicy – IAMエンティティにロールを引き受けるアクセス許可を付与するポリシーを更新します。

  • UpdateRole – ロールの説明または最大セッション期間設定を更新します。

  • UpdateUser – 指定されたIAMユーザーの名前および/またはパスを更新します。

Snow Family デバイスでサポートされているIAMポリシーバージョンと文法

以下は、IAMポリシーのローカルIAMサポートバージョン 2012-10-17 とポリシー文法のサブセットです。

ポリシータイプ サポートされている文法
ID ベースのポリシー (ユーザー/ロールポリシー) Effect」、「Action」および「Resource
注記

Local IAMは、Condition「」、NotAction「」、NotResource「」、Principal「」をサポートしていません。

リソースベースのポリシー (ロールの信頼ポリシー) Effect」、「Action」および「Principal
注記

プリンシパルの場合、 AWS アカウント ID またはプリンシパル ID のみが許可されます。

IAM Snow Family デバイスのポリシー例

注記

AWS Identity and Access Management (IAM) ユーザーには、AWS OpsHub for Snow Family アプリケーションを使用して Snow Family デバイスを管理するための"snowballdevice:*"アクセス許可が必要です。

次に、Snowball Edge デバイスにアクセス許可を付与するポリシーの例を示します。

Snow Family デバイスのサンプルユーザーの GetUser 呼び出しを 経由で許可する IAM API

次のポリシーを使用して、 IAM を介したサンプルユーザーの GetUser 呼び出しを許可しますAPI。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:GetUser", "Resource": "arn:aws:iam:::user/example-user" } ] }

API Snow Family デバイスで Amazon S3 へのフルアクセスを許可する

次のポリシーを使用して、Amazon S3 へのフルアクセスを許可しますAPI。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }

Snow Family デバイス上の Amazon S3 バケットへの読み取りおよび書き込みアクセスの許可

特定のバケットへの読み取りおよび書き込みアクセスを許可するには、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::bucket-name" }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": "s3:*Object", "Resource": "arn:aws:s3:::bucket-name/*" } ] }

Snow Family デバイスの Amazon S3 バケットのリスト、取得、およびアクセスを許可する

次のポリシーを使用して、特定の S3 バケットへの List、Get、および Put アクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:List*" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

EC2 API Snow Family デバイスで Amazon へのフルアクセスを許可する

Amazon へのフルアクセスを許可するには、次のポリシーを使用しますEC2。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" } ] }

Snow Family デバイスで Amazon EC2互換インスタンスを起動および停止するためのアクセスを許可する

次のポリシーを使用して、Amazon EC2インスタンスを開始および停止するためのアクセスを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*" } ] }

Snow Family デバイスで への呼び出しを拒否する DescribeLaunchTemplates が、 DescribeImages へのすべての呼び出しを許可する

DescribeLaunchTemplates への呼び出しを拒否するが、DescribeImages へのすべての呼び出しを許可するには、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:DescribeLaunchTemplates" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeImages" ], "Resource": "*" } ] }

Snow Family デバイスでのAPI通話のポリシー

ユーザー定義のマネージドポリシーを含む、Snow デバイスで使用可能なすべてのマネージドポリシーを一覧表示します。詳細は、「list-policies」を参照してください。

aws iam list-policies --endpoint http://ip-address:6078 --profile snowballEdge --region snow { "Policies": [ { "PolicyName": "Administrator", "Description": "Root user admin policy for Account 123456789012", "CreateDate": "2020-03-04T17:44:59.412Z", "AttachmentCount": 1, "IsAttachable": true, "PolicyId": "policy-id", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/Administrator", "UpdateDate": "2020-03-04T19:10:45.620Z" } ] }

TrustPolicy Snow Family デバイスの例

信頼ポリシーは、通常アクセスできない AWS リソースにアクセスするために使用できる一連の一時的なセキュリティ認証情報を返します。これらの一時的な認証情報は、アクセスキー ID、シークレットアクセスキー、およびセキュリティトークンで構成されています。通常、クロスアカウントアクセスには、アカウントで AssumeRole を使用します。

以下に示しているのは、信頼ポリシーの例です。信頼ポリシーの詳細については、 リファレンスAssumeRoleの「」を参照してください。 AWS Security Token Service API

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountId:root" //You can use the Principal ID instead of the account ID. ] }, "Action": [ "sts:AssumeRole" ] } ] }