EVERYTHING NEEDED
TO CODE, TEST,
BUILD, & DEPLOY…
THAT'S NOT SENSITIVE!
★★★★★★★★★★★★★★
Slide 8
Slide 8 text
THAT MEANS...
★ NO ★
DATABASE PASSWORDS
ACCESS TOKENS
CREDENTIALS
API KEYS
Slide 9
Slide 9 text
— I work at —
— on the —
AWS SDK for PHP
@awsforphp ★ aws/aws-sdk-php
Slide 10
Slide 10 text
“My $500 Cloud Security Screwup“
“My $2375 Amazon EC2 Mistake“
“Attackers Scrape GitHub For Cloud
Service Credentials, Hijack Account To
Mine Virtual Currency“
Slide 11
Slide 11 text
AWS Identity and
Access Management
We encourage the use of IAM User/Role
credentials instead of root-level credentials
Slide 12
Slide 12 text
• Use IAM instance profile credentials on EC2
• Use a global credential file in your $HOME
• Use environment variables (e.g., getenv)
In the AWS SDK, we document ways to…
Slide 13
Slide 13 text
What's in your project root?
Slide 14
Slide 14 text
Why is it in your project root?
Slide 15
Slide 15 text
Why is it in your project root?
†Does not apply to any actual PHP projects that I'm aware of.
IT DEPENDS…
What are you making?
★ APPLICATION ★
★ LIBRARY ★
★ TOOL ★
Slide 24
Slide 24 text
★ DIRS ★
src/ or lib/
tests/
docs/
bin/
build/
Slide 25
Slide 25 text
★ DOCS ★
README.md
LICENSE.md or LICENSE
CHANGELOG.md
CONTRIBUTING.md
phpdoc.xml
Slide 26
Slide 26 text
README.md
Slide 27
Slide 27 text
LICENSE(\.md)?
MIT, BSD, GPL, LGPL, Apache 2, etc.
LICENSES DEFINE THE TERMS FOR
HOW OPEN SOURCE SOFTWARE CAN
BE USED, MODIFIED, AND SHARED.
Need help? choosealicense.com
Slide 28
Slide 28 text
CHANGELOG.md
# My Project
## 1.2.6
### Changed
- Added super-awesome rainbow function.
Need help? keepachangelog.com
semver.org
Slide 29
Slide 29 text
CONTRIBUTING.md
Slide 30
Slide 30 text
★ DOCS ★
README.md
LICENSE.md or LICENSE
CHANGELOG.md
CONTRIBUTING.md
phpdoc.xml