View a markdown version of this page

のアイデンティティベースのポリシーの例AWS Glue DataBrew - AWS Glue DataBrewデベロッパーガイド

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

のアイデンティティベースのポリシーの例AWS Glue DataBrew

デフォルトでは、ユーザーとロールには DataBrew リソースを作成または変更するアクセス許可はありません。また、AWS マネジメントコンソール、AWS CLI、またはAWS APIs を使用してタスクを実行することはできません。IAM 管理者は、指定されたリソースで特定の API 操作を実行するための許可をユーザーとロールに付与する IAM ポリシーを作成する必要があります。続いて、管理者はそれらのアクセス許可が必要なユーザーまたはグループにそのポリシーをアタッチします。

JSON ポリシードキュメントのこれらの例を使用して、IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「JSON タブでのポリシーの作成」を参照してください。

ポリシーに関するベストプラクティス

ID ベースのポリシーは、アカウント内で DataBrew リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与するAWS管理ポリシーを使用します。これらは で使用できますAWS アカウント。ユースケースに固有のAWSカスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイドAWSマネージドポリシー または ジョブ機能のAWSマネージドポリシー を参照してください。

  • 最小特権を適用する – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイドIAM でのポリシーとアクセス許可 を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合にAWS のサービス、サービスアクションへのアクセスを許可することもできますCloudFormation。詳細については、IAM ユーザーガイドIAM JSON ポリシー要素:条件 を参照してください。

  • IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイドIAM Access Analyzer でポリシーを検証する を参照してください。

  • 多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合はAWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、IAM ユーザーガイドMFA を使用した安全な API アクセス を参照してください。

IAM でのベストプラクティスの詳細については、IAM ユーザーガイドIAM でのセキュリティのベストプラクティス を参照してください。

DataBrew コンソールの使用

AWS Glue DataBrewコンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、AWSアカウントの DataBrew リソースの詳細を一覧表示および表示できます。最低限必要なアクセス許可よりも制限の厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つユーザーまたはロールに対してコンソールは意図したとおりに機能しません。

ユーザーとロールが DataBrew コンソールを使用できるようにするには、エンティティに次のAWS管理ポリシーもアタッチします。詳細については、「IAM ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。

AWSDataBrewConsoleAccess

AWS CLIまたは DataBrew API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

ユーザー自身のアクセス許可を表示することをユーザーに許可する

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、またはAWS CLIまたはAWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

タグに基づく DataBrew リソースの管理

ID ベースのポリシーの条件を使用して、タグに基づいて DataBrew リソースを管理できます。たとえば、リソースを削除、更新、または記述できます。次の例は、プロジェクトの削除を拒否するポリシーを示しています。ただし、プロジェクトタグ Owner の値が admin の場合にのみ、削除は拒否されます。このポリシーは、コンソールでこのアクションを拒否するために必要なアクセス許可も付与します。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DeleteResourceInConsole", "Effect": "Allow", "Action": "databrew:DeleteProject", "Resource": "*" }, { "Sid": "DenyDeleteProjectIfAdminTag", "Effect": "Deny", "Action": "databrew:DeleteProject", "Resource": "arn:aws:databrew:*:*:project/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "admin"} } } ] }

このポリシーをアカウントの ユーザーにアタッチできます。richard-roe という名前のユーザーが DataBrew プロジェクトを削除しようとする場合、リソースに Owner=admin または owner=admin というタグを付けることはできません。それ以外の場合、ユーザーはプロジェクトを削除するアクセス許可を拒否されます。条件タグキー Owner は、条件キー名で大文字と小文字が区別されないため、所有者所有者の両方に一致します。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素: 条件」を参照してください。

注記

ListDatasets、ListJobs、ListProjects、ListRecipes、ListRulesets、および ListSchedules は、タグベースのアクセスコントロールをサポートしていません。