翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プログラムによるアクセスの簡素化された AWS のサービス 情報
AWS は、ポリシー管理ワークフローの自動化を合理化するために、JSON 形式のサービスリファレンス情報を提供します。サービスリファレンス情報を使用すると、マシンが読み取り可能なファイル AWS のサービス から で使用可能なアクション、リソース、および条件キーにアクセスできます。サービスリファレンス情報には、IAM アクションの最終アクセス時間情報や IAM Access Analyzer ポリシー生成データなど、認可の詳細以外のメタデータが含まれます。
セキュリティ管理者はガードレールを確立でき、デベロッパーはそれぞれの利用可能なアクション、リソース、および条件キーを特定することで、アプリケーションへの適切なアクセスを確保できます AWS のサービス。 は、 のサービスリファレンス情報 AWS を提供し AWS のサービス 、ポリシー管理ワークフローにメタデータを組み込むことができます。
-
IAM ポリシーで使用するアクション、リソース、および条件キーのインベントリについては、 のサービス認可リファレンスページを参照してください AWS のサービス。サービスプレフィックスを共有するサービスのアクション、リソース、および条件キーは、「サービス認可リファレンス」の複数のページに分割できます。
-
IAM アクションの最終アクセス時間情報が表示される AWS のサービス および アクションのリストについては、IAM ユーザーガイドの「IAM アクションの最終アクセス時間情報サービスとアクション」を参照してください。
-
IAM Access Analyzer がアクションレベルの情報を含むポリシーを生成する AWS のサービス および アクションのリストについては、IAM ユーザーガイドの「IAM Access Analyzer ポリシー生成サービス」を参照してください。
「サービス認可リファレンス」に記載されているコンテンツは、異なる方法で表示されるか、異なるメタデータを含む場合があります。詳細については、「追加のフィールド定義」を参照してください。
注記
サービスリファレンス情報への変更は、サービスのメタデータのリストに反映されるまでに最大 24 時間かかる場合があります。
AWS のサービス リファレンス情報へのアクセス
-
サービス参照情報
に移動して、参照情報が利用可能な AWS のサービス のリストにアクセスします。 次の例は、それぞれのリファレンス情報のサービスと URL の一部リストを示しています。
[ { "service": "s3", "url": "https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json" }, { "service": "dynamodb", "url": "https://servicereference.us-east-1.amazonaws.com/v1/dynamodb/dynamodb.json" }, … ]
-
サービスを選択し、サービスの
url
フィールドのサービス情報ページに移動して、サービスのアクション、リソース、および条件キーのリストを表示します。次の例は、Amazon S3 のサービスリファレンス情報の一部のリストを示しています。
{ "Name": "s3", "Actions": [ { "Name": "GetObject", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ExistingObjectTag/key", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:if-match", "s3:if-none-match", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : false, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "object" } ], "SupportedBy" : { "IAM Access Analyzer Policy Generation" : false, "IAM Action Last Accessed" : false } }, { "Name": "ListBucket", "ActionConditionKeys": [ "s3:AccessGrantsInstanceArn", "s3:AccessPointNetworkOrigin", "s3:DataAccessPointAccount", "s3:DataAccessPointArn", "s3:ResourceAccount", "s3:TlsVersion", "s3:authType", "s3:delimiter", "s3:max-keys", "s3:prefix", "s3:signatureAge", "s3:signatureversion", "s3:x-amz-content-sha256" ], "Annotations" : { "Properties" : { "IsList" : true, "IsPermissionManagement" : false, "IsTaggingOnly" : false, "IsWrite" : false } }, "Resources": [ { "Name": "bucket" } ], "SupportedBy" : { "IAM Access Analyzer Policy Generation" : false, "IAM Action Last Accessed" : false } }, ... ], "ConditionKeys": [ { "Name": "s3:TlsVersion", "Types": [ "Numeric" ] }, { "Name": "s3:authType", "Types": [ "String" ] }, ... ], "Resources": [ { "Name": "accesspoint", "ARNFormats": [ "arn:${Partition}:s3:${Region}:${Account}:accesspoint/${AccessPointName}" ] }, { "Name": "bucket", "ARNFormats": [ "arn:${Partition}:s3:::${BucketName}" ] } ... ], "Version": "v1.3" }
-
ポリシーオーサリングワークフローで使用するサービス URL から JSON ファイルをダウンロードします。
追加のフィールド定義
アクションプロパティは、サービスアクションに関する追加のメタデータを提供し、アクセス許可の範囲に基づいて分類するのに役立ちます。これらのプロパティは、各アクションの Annotations
フィールドにあります。メタデータは 4 つのブール値で構成されます。
-
IsList
– リソースコンテンツにアクセスせずに、基本的なメタデータを含むリソースを検出して一覧表示するアクセス許可を提供します。例 – このプロパティは Amazon S3
ListBucket
アクションtrue
用であり、ユーザーはオブジェクト自体にアクセスせずにバケットのリストを表示できます。 -
IsPermissionManagement
– IAM アクセス許可またはアクセス認証情報を変更するアクセス許可を提供します。例 – このプロパティは、ほとんどの IAM アクションと AWS Organizations アクション、および
PutBucketPolicy
や などの Amazon S3 アクションtrue
用ですDeleteBucketPolicy
。 -
IsTaggingOnly
– タグを変更するためのアクセス許可のみを提供します。例 – このプロパティは IAM アクション
TagRole
とtrue
用ですがUntagRole
、このプロパティはタグ付け以外の広範なアクセス許可を提供するためCreateRole
、false
用です。 -
IsWrite
– タグの変更を含むリソースを変更するアクセス許可を提供します。例 – このプロパティは
CreateBucket
、リソースの変更を許可する Amazon S3 アクション 、DeleteBucket
、およびtrue
用PutObject
です。
注記
これらのプロパティは相互に排他的ではありません。アクションには、複数のプロパティが に設定されている場合がありますtrue
。
Amazon S3 の GetObject
アクションと同様にfalse
、すべてのプロパティを にすることもできます。これは、 アクションがオブジェクトに対する読み取りアクセス許可のみを付与することを示します。
これらのプロパティを使用して、 サービスのインサイトを生成できます。次の例は、 s3
プレフィックスを持つどのアクセス許可がリソースの変更を許可するかを示しています。
> curl https://servicereference.us-east-1.amazonaws.com/v1/s3/s3.json | \ jq '.Actions[] | select(.Annotations.Properties.IsWrite == true) | .Name' "AssociateAccessGrantsIdentityCenter" "BypassGovernanceRetention" "CreateAccessGrant" "CreateAccessGrantsInstance" "CreateAccessGrantsLocation" ...
次の例は、アクセス許可管理アクションへのアクセスを制限するために使用できるlambda
プレフィックスを持つアクション条件キーを示しています。
> curl https://servicereference.us-east-1.amazonaws.com/v1/lambda/lambda.json | \ jq '.Actions[] | select(.Annotations.Properties.IsPermissionManagement == true) | {Name: .Name, ActionConditionKeys: (.ActionConditionKeys // [])}' { "Name": "AddLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "AddPermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] } { "Name": "DisableReplication", "ActionConditionKeys": [] } { "Name": "EnableReplication", "ActionConditionKeys": [] } { "Name": "RemoveLayerVersionPermission", "ActionConditionKeys": [] } { "Name": "RemovePermission", "ActionConditionKeys": [ "lambda:FunctionUrlAuthType", "lambda:Principal" ] }