기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
프로그래밍 방식 액세스를 위한 간소화된 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 정책 생성 서비스를 참조하세요.
서비스 권한 부여 참조에 표시된 콘텐츠가 다르게 표시되거나 다른 메타데이터를 포함할 수 있습니다. 자세한 내용은 추가 필드 정의 단원을 참조하십시오.
또한 서비스 참조 정보는 승인된 작업에 대한 정보와 SDKs 이름을 포함하여 작업에 대한 메타데이터를 제공합니다.
조건 키 값의 추가 컨텍스트를 사용하여 권한 범위 조정을 지원할 수 있습니다. 예를 들어 작업이 작업에 의해 iam:PassRole 승인되면의 값이 나타날 iam:PassedToService 수 있습니다.
이 작업-작업 매핑은 일부 서비스에서 지원되지 않습니다. 이 매핑을 아직 지원하지 않는 서비스는 AuthorizedAction 속성을 생략합니다. 또한 작업에 대한 승인된 작업 정보에는 Forward Access Sessions를 사용하여 사용자를 대신하여 호출하는 작업에 필요할 수 있는 권한은 포함되지 않습니다.
참고
서비스 참조 정보 변경이 서비스의 메타데이터 목록에 반영되는 데 최대 24시간이 걸릴 수 있습니다.
AWS 서비스 참조 정보 액세스
-
서비스 참조 정보로 이동하여 참조 정보를 사용할 수 AWS 서비스 있는 목록에 액세스합니다.
두 가지 주요 진입점이 있습니다.
http://servicereference.us-east-1.amazonaws.com/
참조 정보를 사용할 수 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" }, … ]https://servicereference.us-east-1.amazonaws.com/v1/mapping.json
정보를 찾을 수 있는 서비스 참조의 위치로 SDK 서비스의 매핑을 표시합니다. 다음 예제에서는 매핑의 일부 목록을 보여줍니다.
{ "SDK" : { "Python" : { "Boto3" : { "accessanalyzer" : { "service" : "access-analyzer", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/access-analyzer/access-analyzer.json" }, "account" : { "service" : "account", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/account/account.json" }, "amp" : { "service" : "aps", "url" : "https://servicereference.us-east-1.amazonaws.com/v1/aps/aps.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" ] }, ... ], "Operations": [ { "Name" : "GetObject", "AuthorizedActions" : [ { "Name" : "GetObject", "Service" : "s3" }, { "Name" : "GetObject", "Service" : "s3-object-lambda" }, { "Name" : "GetObjectLegalHold", "Service" : "s3" }, { "Name" : "GetObjectRetention", "Service" : "s3" }, { "Name" : "GetObjectTagging", "Service" : "s3" }, { "Name" : "GetObjectVersion", "Service" : "s3" } ], "SDK" : [ { "Name" : "s3", "Method" : "get_object", "Package" : "Boto3" } ] }, ... ], "Resources": [ { "Name": "accesspoint", "ARNFormats": [ "arn:${Partition}:s3:${Region}:${Account}:accesspoint/${AccessPointName}" ] }, { "Name": "bucket", "ARNFormats": [ "arn:${Partition}:s3:::${BucketName}" ] } ... ], "Version": "v1.4" } -
정책 작성 워크플로에 사용할 서비스 URL에서 JSON 파일을 다운로드합니다.
용어집
-
작업 - 일반적으로 SDK를 통해 호출할 수 있는 API
-
작업 - 작업을 수행할 때 권한이 부여된 권한
추가 필드 정의
작업 속성은 권한 범위에 따라 서비스 작업을 분류하는 데 도움이 되는 서비스 작업의 추가 메타데이터를 제공합니다. 이러한 속성은 각 작업의 Annotations 필드에서 찾을 수 있습니다. 메타데이터는 다음 4개의 부울 값으로 구성됩니다.
-
IsList- 리소스 콘텐츠에 액세스하지 않고 기본 메타데이터를 포함한 리소스를 검색하고 나열할 수 있는 권한을 제공합니다.예 - Amazon S3
ListBucket작업에서 이 속성은true이므로 사용자가 객체 자체에 액세스하지 않고도 버킷 목록을 볼 수 있습니다. -
IsPermissionManagement- IAM 권한 또는 액세스 자격 증명을 수정할 수 있는 권한을 제공합니다.예 -이 속성은 대부분의 IAM 및 AWS Organizations 작업과
PutBucketPolicy및와 같은 Amazon S3 작업에true적용됩니다DeleteBucketPolicy. -
IsTaggingOnly- 태그를 수정할 수 있는 권한만 제공합니다.예 - IAM 작업
TagRole및UntagRole에서 이 속성은true이고,CreateRole의 경우 태그 지정 이상의 광범위한 권한을 제공하므로false입니다. -
IsWrite- 리소스를 수정할 수 있는 권한을 제공하며, 여기에는 태그 수정 권한이 포함될 수 있습니다.예 - 리소스 수정을 허용하므로 이 속성은 Amazon S3 작업
CreateBucket,DeleteBucket,PutObject에서true입니다.
참고
이러한 속성은 상호 배타적이지 않습니다. 한 작업의 여러 속성이 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" ] }