AWS SDK 또는 CLI로 PutRolePolicy 사용하기
AWS SDK 또는 CLI로 PutRolePolicy 사용하기
다음 코드 예시는 PutRolePolicy을(를) 사용하는 방법을 보여줘요.
액션 예시는 더 큰 프로그램에서 발췌한 코드 조각이라, 실제 프로그램 컨텍스트 안에서 실행돼야 해요.
출처: 문서
본문
SDK for .NET
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
/// <summary>
/// Update the inline policy document embedded in a role.
/// </summary>
/// <param name="policyName">The name of the policy to embed.</param>
/// <param name="roleName">The name of the role to update.</param>
/// <param name="policyDocument">The policy document that defines the role.</param>
/// <returns>A Boolean value indicating the success of the action.</returns>
public async Task<bool> PutRolePolicyAsync(string policyName, string roleName, string policyDocument)
{
var request = new PutRolePolicyRequest
{
PolicyName = policyName,
RoleName = roleName,
PolicyDocument = policyDocument
};
var response = await _IAMService.PutRolePolicyAsync(request);
return response.HttpStatusCode == HttpStatusCode.OK;
}
API 상세 내용은 AWS SDK for .NET API Reference의 PutRolePolicy 문서를 참고하세요.
SDK for C++
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
bool AwsDoc::IAM::putRolePolicy(
const Aws::String &roleName,
const Aws::String &policyName,
const Aws::String &policyDocument,
const Aws::Client::ClientConfiguration &clientConfig)
{
Aws::IAM::IAMClient iamClient(clientConfig);
Aws::IAM::Model::PutRolePolicyRequest request;
request.SetRoleName(roleName);
request.SetPolicyName(policyName);
request.SetPolicyDocument(policyDocument);
Aws::IAM::Model::PutRolePolicyOutcome outcome = iamClient.PutRolePolicy(request);
if (!outcome.IsSuccess())
{
std::cerr << "Error putting policy on role. " <<
outcome.GetError().GetMessage() << std::endl;
}
else
{
std::cout << "Successfully put the role policy." << std::endl;
}
return outcome.IsSuccess();
}
API 상세 내용은 AWS SDK for C++ API Reference의 PutRolePolicy 문서를 참고하세요.
AWS CLI
IAM 역할에 권한 정책을 연결하려면
다음 put-role-policy 명령은 Test-Role 역할에 권한 정책을 추가해요.
aws iam put-role-policy \
--role-name
Test-Role
\
--policy-name
ExamplePolicy
\
--policy-document
file://AdminPolicy.json
이 명령은 출력이 없어요.
정책은 AdminPolicy.json 파일에 JSON 문서로 정의돼 있어요. (파일 이름과 확장자는 의미가 없어요.)
역할에 트러스트 정책을 연결하려면 update-assume-role-policy 명령을 사용하면 돼요.
더 자세한 내용은 AWS IAM 사용자 가이드의 '역할 수정' 문서를 참고하세요.
API 상세 내용은 AWS CLI Command Reference의 PutRolePolicy 문서를 참고하세요.
SDK for JavaScript (v3)
참고: GitHub에 더 많은 내용이 있어요. AWS Code Examples Repository에서 전체 예시를 찾아 실행·설정 방법을 배울 수 있어요.
import
{
PutRolePolicyCommand, IAMClient } from "@aws-sdk/client-iam";
const examplePolicyDocument = JSON.stringify(
{
Version: "2012-10-17",
Statement: [
{
Sid: "VisualEditor0",
Effect: "Allow",
Action: [
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions",
"s3:ListBucket",
"s3:ListMultipartUploadParts",
],
Resource: "arn:aws:s3:::amzn-s3-demo-bucket",
},
{
Sid: "VisualEditor1",
Effect: "Allow",
Action: [
"s3:ListStorageLensConfigurations",
"s3:ListAccessPointsForObjectLambda",
"s3:ListAllMyBuckets",
"s3:ListAccessPoints",
"s3:ListJobs",
"s3:ListMultiRegionAccessPoints",
],
Resource: "*",
},
],
});
const client = new IAMClient(
{
});
/**
*
* @param
{
string} roleName
* @param
{
string} policyName
* @param
{
string} policyDocument
*/
export const putRolePolicy = async (roleName, policyName, policyDocument) =>
{
const command = new PutRolePolicyCommand(
{
RoleName: roleName,
PolicyName: policyName,
PolicyDocument: policyDocument,
});
const response = await client.send(command);
console.log(response);
return response;
};
API 상세 내용은 AWS SDK for JavaScript API Reference의 PutRolePolicy 문서를 참고하세요.
Tools for PowerShell V4
예시 1: 이 예시는 FedTesterRolePolicy 인라인 정책을 만들고 FedTesterRole IAM 역할에 포함해요. 같은 이름의 인라인 정책이 이미 있으면 덮어써요. JSON 정책 내용은 FedTesterPolicy.json 파일에서 가져와요. JSON 파일 내용을 제대로 처리하려면 -Raw 파라미터를 꼭 사용해야 해요.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V4)의 PutRolePolicy 문서를 참고하세요.
Tools for PowerShell V5
예시 1: 이 예시는 FedTesterRolePolicy 인라인 정책을 만들고 FedTesterRole IAM 역할에 포함해요. 같은 이름의 인라인 정책이 이미 있으면 덮어써요. JSON 정책 내용은 FedTesterPolicy.json 파일에서 가져와요. JSON 파일 내용을 제대로 처리하려면 -Raw 파라미터를 꼭 사용해야 해요.
Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
API 상세 내용은 AWS Tools for PowerShell Cmdlet Reference (V5)의 PutRolePolicy 문서를 참고하세요.